python搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
nums = [1,3,5,6]
target = 5
#方法一目标库在列表里:
position=nums.index(target)
nums[position]=target
print(position)
print(nums)
#方法二目标库不在列表里:
nums.append(target)
nums.sort()
position=nums.index(target)
print(position)
#方法三
nums=sorted(nums)
for i in range(1,len(nums)):
if nums[i]==target:
print(i)
elif i<target:
print(i)
elif i>target:
print(len(nums)+1)
#方法四 二分法
nums_len=len(nums)
left=0
right=nums_len-1
while left<right:
mid=(left+right)//2
if nums[mid] < target:
print(mid+1)
elif nums[mid]> target:
print(mid-1)
else:
print(mid)
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-insert-position
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
上班求生存,下班求发展

浙公网安备 33010602011771号