排序数组中的搜索问题,首先要想到用二分法来解决

思路:如果nums[mid]==mid,说明从left到mid位置都是有序的,left=mid+1,否则说明left到mid位置不是有序的,right=mid-1。

Python:

class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        left,right=0,len(nums)-1
        while left<=right:
            mid=(left+right)//2
            if nums[mid]==mid:
                left=mid+1
            else:
                right=mid-1
        return left

借鉴思路LeetCode刷题力扣题解 | 剑指Offer 53 - II. 0~n-1中缺失的数字 | 思路讲解及Python3代码实现_哔哩哔哩_bilibili

LeetCode刷题力扣题解 | 剑指Offer 53 - II. 0~n-1中缺失的数字 | 思路讲解及Python3代码实现_哔哩哔哩_bilibili