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

吞佛童子2022年10月10日
  • algorithm
  • 二分
小于 1 分钟

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

难度: 🌕

问题描述

img_22.png


解法

class Solution {
    public int missingNumber(int[] nums) {
        // 思路:
        // 二分
        int len = nums.length;
        if(nums[len - 1] == len - 1) {
            return len;
        }
        return mySol(nums, 0, len - 1);
    }

    private int mySol(int[] nums, int left, int right) {
        // 递归终止条件
        if(left >= right) {
            return left;
        }
        int mid = left + ((right - left) >> 1);
        if(nums[mid] == mid) {
            // 左边不缺少
            return mySol(nums, mid + 1, right);
        } else {
            return mySol(nums, left, mid);
        }
    }
}

输出

img_21.png

上次编辑于: 2022/10/10 下午8:43:48
贡献者: liuxianzhishou