我是靠谱客的博主 多情钥匙,这篇文章主要介绍LeetCode.No.33 搜索螺旋排序数组,现在分享给大家,希望可以做个参考。

使用二分法

class Solution:
    def search(self, nums: List[int], target: int) -> int:
        left, right = 0, len(nums) - 1
        while left <= right:
            mid = (left + right) // 2
            if nums[mid] == target:
                return mid
            if nums[mid] >= nums[0]:
                if nums[0] <= target < nums[mid]: #注意判断条件是>nums[0]而不是nums[left]
                    right = mid - 1
                else:
                    left = mid + 1
            else:
                if nums[mid] < target <= nums[-1]:
                    left = mid + 1
                else:
                    right = mid - 1
        return -1
        '''
        for idx, val in enumerate(nums):
            if val == target:
                return idx
        return -1
        '''

 

最后

以上就是多情钥匙最近收集整理的关于LeetCode.No.33 搜索螺旋排序数组的全部内容,更多相关LeetCode.No.33内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(152)

评论列表共有 0 条评论

立即
投稿
返回
顶部