35. 搜索插入位置
问题35 搜索插入位置 ★☆☆☆☆
https://leetcode-cn.com/problems/search-insert-position/
这个题目比较简单了,属于二分查找的微小变种,在二分查找的基础上增加一个插入位置下标的计算而已。稍微想一下两个连续元素的二分查找过程就可以确认最后返回right+1即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public int searchInsert(int[] nums, int target) {
assert nums.length > 0;
int left = 0, right = nums.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] > target) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return right + 1;
}
本文由作者按照 CC BY 4.0 进行授权