1.题目描述
2.思路
方法1:回溯的二分查找。
方法2:看到了一个佬很简洁的写法,代码贴在下面了。
3.代码(Python3)
方法1:
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
def binarySearch(left, right):
if left > right:
return left
mid = (right + left) // 2
if target == nums[mid]: return mid
elif target < nums[mid]: return binarySearch(left, mid - 1)
else: return binarySearch(mid + 1, right)
return binarySearch(0, len(nums) - 1)
方法2:
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
l,r = -1,len(nums)
while l+1 < r :
mid = (l+r)//2
if nums[mid] >= target:
r = mid
else:
l = mid
return r
作者:燃尽了_呜呜呜
链接:https://leetcode.cn/problems/search-insert-position/solutions/3684343/mei-ban-fa-ge-jiu-shi-zhe-yao-qiang-ha-h-ikbd/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
4.执行情况
方法1:
方法2:
5.感想
脑袋不转了,能量已燃尽,急需睡觉。