题链:https://leetcode.cn/problems/binary-search/
思路:二分查找
代码:
class Solution {
public int search(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){
right = mid - 1;
}else if(nums[mid] < target){
left = mid + 1;
}else if(nums[mid] == target){
return mid;
}
}
return -1;
}
}
ps:int mid = left + ((right - left)/2) 防止left+right内存溢出 等同(left+right)/2