描述
问题:在已经排好序的数组中查找指定数字
1、使用到了二分查找
2、在最后找到目标值的情况下,在那个区间里面进行逐个遍历,大大降低了时间复杂度
- 输入:排序数组、目标数字
- 输出:目标数字下标
class Solution {
public int search(int[] nums, int target) {
int res = 0;
int size = nums.length;
int low = 0, high = size -1;
while(low <= high){
int middle = (low + high) / 2;
if(target > nums[middle]){
low = middle + 1;
}else if(target < nums[middle]){
high = middle - 1;
}else{
for(int j = low; j <= high; j++){
if(nums[j] == target){
res++;
}
}
return res;
}
}
return res;
}
}