class Solution:
def missingNumber(self, nums: List[int]) -> int:
"""
排序数组:
排序数组中的搜索问题,首先想到 二分法 解决 O(logN)
分为左右两半数组
左半部分满足 nums[i] = i
右半部分满足 nums[i] 不等于 i
二分查找区间
0 1 3 缺2
"""
i = 0
j = len(nums)-1
while i<=j:
mid = i + (j-i) // 2
if nums[mid] == mid:
# 在右边查找了
i = mid + 1
else:
# 不等于的情况
# 在左边查找
j = mid - 1
return i