public class Test {
public static void main(String[] args) {
//测试
//[-1,0,3,5,9,12]
int[] a = {-1,0,3,5,9,13};
int target = 13;//目标值
System.out.println(new Solution().search(a, target));//5
}
}
class Solution {
public int search(int[] nums, int target) {
int low = 0;
int high = nums.length-1;//减1防止数组越界
while (low <= high) {
int mid = (low + high) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] < target) {
low = mid + 1;
} else if (nums[mid] > target) {
high = mid - 1;
} else {
return -1;
}
}
return -1;//数组遍历结束都没找到目标值返回-1
}
}
Java 二分查找
最新推荐文章于 2024-03-06 09:24:27 发布