public static int searchInsert(int[] nums, int target) {
int length = nums.length;
int left = 0, right = length - 1, ans = length;
//典型的二分查找
while (left <= right) {
//移位运算
// int mid = ((right - left) >> 1) + left;
int mid = (left + right) >> 1;//相当于 (left+right)/2
//目标值<=中间值 则说明该值在mid左边
if (target <= nums[mid]) {
ans = mid;
right = mid - 1;
} else {
left = mid + 1;
}
}
return ans;
}
利用了二分查找的思想
不断的缩小范围值,然后确定该值的索引位置