剑指 Offer 53 - II. 0~n-1中缺失的数字

这道题的链接: 剑指 Offer 53 - II. 0~n-1中缺失的数字

这道题的思路很简单,你想,如果一个从0开始的数组缺少一个数组,那么从缺少的部门开始,数字和下标肯定是不一致的,所以我们可以采用二分法,根据下标和数字的一致和不一致性找到不一致的开头,这就找到这个数字的位置。
所以就像一个力扣的大佬所说,排序数组中的搜索数组就可以用二分法解决。

class Solution {
    public int missingNumber(int[] nums) {
        int i = 0, j = nums.length - 1;
        while(i <= j){
            int m = (i + j) / 2;
            if(nums[m] == m) {
                i = m + 1;
            } else {
              j = m - 1;
            }
        }
        return i;
    }
}