letcode[035] 搜索插入位置

2018-12-29  本文已影响6人  一起学分析
题目035

题目地址:搜索插入位置

思路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)
上一篇 下一篇

猜你喜欢

热点阅读