35.E 搜索插入位置

Problem: 35. 搜索插入位置arrow-up-right

思路

二分查找。

本题几乎就是标准的二分写法代码。

  • 如果可以找到target,则直接返回mid

  • 如果找不到target,l就是第一个大于target的位置,返回l

Code

func searchInsert(nums []int, target int) int {
	l, r := 0, len(nums)-1
	for l <= r {
		mid := (l + r) / 2
		if nums[mid] == target {
			return mid
		} else if nums[mid] > target {
			r = mid - 1
		} else {
			l = mid + 1
		}
	}

	return l
}

Last updated