力扣刷题Day 68:搜索插入位置(35)

1.题目描述

力扣刷题Day 68:搜索插入位置(35)_第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:

力扣刷题Day 68:搜索插入位置(35)_第2张图片

方法2:

力扣刷题Day 68:搜索插入位置(35)_第3张图片

5.感想

脑袋不转了,能量已燃尽,急需睡觉。

你可能感兴趣的:(力扣刷题日记,力扣,leetcode,算法)