二分查找算法
public int binarySearch(int[] nums, int target) {
//初始化搜索区间[left,right]
int left = 0, right = nums.length - 1;
int ans = -1;
while (left <= right) {
int mid = (left + right) / 2;
//mid的值符合条件
if(nums[mid] == target){
ans=mid;
//...可能会有其他操作,若没有直接return
}
//缩小搜索区间
if (nums[mid] > target) {//锁定左半区间
right = mid - 1;
} else {//锁定右半区间
left = mid + 1;
}
}
return ans;
}

浙公网安备 33010602011771号