题目来源:力扣
https://leetcode.cn/problems/search-insert-position/
题目简介: 一个排序数组,一个目标值,把他找出来并返回索引值。如果找不到,就返回它可能插入的位置。
思路:就可以用之前查找里面的二分查找,设置一个左指针,一个右指针,每次求出一个mid值,比较目标值与mid指针指向的值,当目标值和mid值不一致时,就把左或右指针移动到mid指针旁边,直到左右指针指在同一个点上就基本完成了
代码实现:
int len = nums.length;
int left = 0;
int right = len;
// 在区间 nums[left..right] 里查找第 1 个大于等于 target 的元素的下标
while (left < right) {
int mid = left + (right - left) / 2;
if (nums[mid] < target){
// 下一轮搜索的区间是 [mid + 1..right]
left = mid + 1;
} else {
// 下一轮搜索的区间是 [left..mid]
right = mid;
}
}
return left;
}
}