题目链接
解题思路
- 最基本的二分查找,注意定义
target
在[left,right]
区间
AC代码
class Solution {
public static int search(int[] nums, int target) {
int left = 0;
int right = nums.length - 1;
while (left <= right) {
int middle = left + ((right - left) / 2);
if (nums[middle] > target) {
right = middle - 1;
} else if (nums[middle] < target) {
left = middle + 1;
} else
return middle;
}
return -1;
}
}