![](https://img.haomeiwen.com/i434653/66eaa18ce1714edf.png)
题目地址:搜索插入位置
思路1:自拟思路——numpy构造两个数组,相减大于等于0的位置即是目标位置
这个可以通过numpy的数组解决,使用nums减去target,得出的大于等于0的第一个数字的位置即是目标位置。
总结: letcode不支持import内容,所以此法不通
用时: ?? ms
import numpy as np
nums=[1,3,5,6]
target=7
def searchInsert1(nums, target):
if target>max(nums):
return len(nums)
else:
arr=np.array(nums)
arr2=arr-target
#将小于0的元素替换为最大元素
arr2[arr2<0]=max(arr2)
pos=arr2.argmin()
return pos
思路2:自拟思路——没有numpy还是暴力遍历吧,找到减去后大于等于0的位置就终止
emmm,有了上面的思路,没办法用numpy也行啊。nums是排序不重复数据,对数据进行遍历就行了,找到减去target大于等于0的位数就是目标位置。
总结: 看了其他方法,感觉思路都没这个单纯。。。
用时: 44 ms
nums=[1,3,5,6]
target=2
def searchInsert2(nums, target):
if target>max(nums):
return len(nums)
else:
for n in nums:
if n-target>=0:
return nums.index(n)
网友评论