# leetcode submit region begin(Prohibit modification and deletion)
from typing import *
class Solution:
    def search(self, nums: List[int], target: int) -> int:
        left, right = 0, len(nums)-1
        while left <= right:
            mid = left + (right-left) // 2
            if nums[mid] == target:
                return mid
            """
            我们把数组二分后,要么左边有序,要么右边有序
            因为只有有序,才能二分,
            所以我们得根据有序的那个部分
            确定我们该如何改变二分查找的上下界
            """
            # 如果旋转数组在左半部分有序
            if nums[left] <= nums[mid]:
                # 并且目标值在左半部分里
                if nums[left]<=target-----------------------------------------------
如果是第一次阅读文章,可以看看下面的话。
以上内容由平时积累而成,尽量保证代码与注释合在一起,并未做过多篇幅的解释。不一定是最优解,但一定是自己能看得懂的。有疑问的地方请留言评论,我在评论中给详细解答。如果题干是原题,就没有写在文章中。后续内容会慢慢发出
欢迎大家评论,收藏和转发。
感谢大家的点赞和关注。
先赞后看,年薪百万
红帽帽,白签签,一起排队做酸酸。愿疫情早日过去。
