LeetCode/35. 搜索插入位置
35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例1 :
1 | 输入: [1,3,5,6], 5 |
示例2:
1 | 输入: [1,3,5,6], 2 |
示例 3:
1 | 输入: [1,3,5,6], 7 |
示例 4:
1 | 输入: [1,3,5,6], 0 |
来源:力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解:
本题官方提示也说了,就是二分查找,而且就是最最最普通的二分查找,只不过加了一个如果target不存在于nums数组的话要返回插入位置的索引。具体来说,还是二分查找的大框架不变,只需要在最后找不到的时候返回left索引即可,如果非要找出本题的难点,那可能会是left、right值的问题,你到底一开始是选择right = nums.length,还是选择right = nums.length - 1;是选择left = mid,还是left = mid + 1;是right = mid还是right = mid - 1。
具体代码如下:
1 | class Solution { |

