java 的二分查找模板
时间: 2024-04-28 15:16:34 浏览: 11
当然,我可以为您介绍一下Java的二分查找模板。
在Java中,二分查找是一种高效的查找算法,适用于已排序的数组或列表。以下是一个常用的二分查找模板:
```java
public int binarySearch(int[] nums, int target) {
int left = 0;
int 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; // 如果未找到目标元素,则返回-1
}
```
这个模板中,我们使用`left`和`right`两个指针来表示当前查找范围的左右边界。在每一次循环中,我们计算中间位置`mid`,并将目标元素与`nums[mid]`进行比较。
如果目标元素等于`nums[mid]`,则说明找到了目标元素,返回`mid`作为结果。
如果目标元素小于`nums[mid]`,则说明目标元素在左半部分,将`right`指针更新为`mid - 1`,缩小查找范围。
如果目标元素大于`nums[mid]`,则说明目标元素在右半部分,将`left`指针更新为`mid + 1`,缩小查找范围。
如果循环结束时仍未找到目标元素,则返回-1表示未找到。