1. 程式人生 > 其它 >python搜尋插入位置

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
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

上班求生存,下班求發展