解题思路:
本题为一个简单的二分查找。
需要注意的点留意代码备注。
class Solution {
public int search(int[] nums, int target) {
int left = 0;
int right = nums.length - 1;
while(left <= right){ // right = nums.length - 1 所有 <=
int mid = left + (right - left) / 2; // 相比于 left + right / 2, 相减能防止内存溢出。
if(nums[mid] == target) return mid;
else if(nums[mid] < target) left = mid + 1;
else if(nums[mid] > target) right = mid - 1;
}
return -1;
}
}