求待插入的位置
#我是一个小小白,小呀小小白
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。(说明:数组中无重复值)
step1:定义一个函数searchinsert,包含一个列表和一个目标值这两个参数
遍历nums函数,当目标值target存在在nums中时,返回所在的位置,否则如果i值大于target值,则返回i所在的位置,相当于此时target被插入到i原来的位置
step2: 判断列表nums中第一个值与target值的大小,若大于target,则将target插入到列表第一个位置并返回该位置,否则返回列表长度,此时相当于列表里的值都小于target,target被插入到列表最后一位。(有点晕(((φ(◎ロ◎;)φ))))
step3:运行结果
ps:发现了一个超级简单的方法,利用第三方模块bisect,bisect模块主要是利用二分法算法在有序序列中查找或插入元素。转载一篇文章,对bisect讲解的很详细
bisect模块详解
上程序!这也太简洁了吧!
运行结果:
完成,耶✌!