Fork me on GitHub

19. 二分查找-重复元素,最右边的插入点

正文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
fun searchInsert(nums: IntArray, target: Int): Int {
var left = 0
var right = nums.size - 1
var result = nums.size // 默认插入到最右边

while (left <= right) {
val mid = left + (right - left) / 2

if (nums[mid] <= target) {
if (nums[mid] == target) {
// 找到目标元素,更新结果为当前索引
result = mid
}
left = mid + 1
} else {
right = mid - 1
}
}

return result
}
,