数组递增,可以使用二分搜索
当前值和下标相等,说明该数及前面的数都完整,需要往后找 当前值和下标不相等,只可能当前值大于下标,需要往前找
func missingNumber(nums []int) int {
l, r := 0, len(nums)-1
for l <= r {
mid := l + (r-l) >> 1
if mid == nums[mid] {
l = mid+1
} else {
r = mid-1
}
}
return l
}