java 写二分法查找
时间: 2023-09-05 19:13:35 浏览: 45
二分查找算法(Binary Search)是一种在有序数组中查找某一特定元素的搜索算法,时间复杂度为O(logN)。下面是Java实现:
```java
public static int binarySearch(int[] arr, int target) {
int left = 0, right = arr.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
```
其中,arr是有序数组,target是要查找的目标元素。该方法返回目标元素在数组中的下标,如果目标元素不在数组中,则返回-1。
相关问题
java二分法查找shuzi
Java二分查找是一种非常高效的查找算法,适用于有序数组。二分查找的基本思路是将查找区间不断地缩小,直到找到目标元素为止。具体实现方式是通过比较目标元素与中间元素的大小关系,缩小查找区间,不断重复该过程,直到查找到目标元素或者区间为空。
以下是Java二分查找的基本代码实现:
```
public static int binarySearch(int[] nums, int target) {
int left = 0, right = nums.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
```
其中,nums表示有序数组,target表示要查找的目标元素。该函数返回目标元素在数组中的索引位置,如果不存在则返回-1。
Java 二分法查找
二分查找是一种在有序数组中查找特定元素的快速方法。其工作原理是:首先将数组从中间分成两半,如果要查找的元素小于数组的中间元素,那么我们只需要查找数组的左半边;如果要查找的元素大于数组的中间元素,那么我们只需要查找数组的右半边;如果要查找的元素等于数组的中间元素,那么我们就找到了要查找的元素。然后,我们可以重复以上步骤,直到我们找到要查找的元素,或者确定数组中不存在该元素。
Java 中的二分查找可以通过使用 java.util.Arrays 类的静态方法 binarySearch() 实现,该方法可以在排序好的数组中查找指定元素。如果找到了该元素,则该方法返回元素在数组中的索引;如果没有找到该元素,则该方法返回负数。