美文网首页
35. Search Insert Position 查找插入位

35. Search Insert Position 查找插入位

作者: sarto | 来源:发表于2022-03-25 11:12 被阅读0次

题目

给定一个不重复的排序数组 nums 和目标值 target。如果目标值在数组中,返回目标值的位置,否则,返回目标值插入数组中的位置。

解析

顺序遍历即可,注意终止条件

  1. 找到目标值,终止
  2. 找到一个比目标值大的数,终止
  3. 数组结束,终止

基于这三种情况,我们设置一个游标 i 假设其为返回值。

  1. i 从 0 开始遍历,一旦 i 超出数组范围,终止,此时 i 值也恰好是插入位置
  2. 如果 nums[i] == target。跳出循环,target已经找到。
  3. 如果 nums[i] > target 跳出循环,target 应该被插入此处。

伪代码

var i int
for ;i<len; i++
  if nums[i] >= target
    break
return i

代码

func searchInsert(nums []int, target int) int {
    var i int
    for ; i<len(nums); i++ {
        if nums[i]>=target {
            break
        }
    }
    return i
}
image.png

相关文章

网友评论

      本文标题:35. Search Insert Position 查找插入位

      本文链接:https://www.haomeiwen.com/subject/aidljrtx.html