python搜尋插入位置
阿新 • • 發佈:2021-10-05
給定一個排序陣列和一個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。
請必須使用時間複雜度為 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
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。