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

Posted duduwy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 53 - II. 0~n-1中缺失的数字相关的知识,希望对你有一定的参考价值。



本题 题目链接

题目描述

技术图片

我的题解

二分法

技术图片

思路分析

  • 排序数组中的搜索问题,首先想到二分法
    • 当nums[center] > center 时,缺少的数在左区间
    • 当nums[center] = center 时,缺少的数在右区间

代码如下

    public int missingNumber(int[] nums) {
        int l = 0, r = nums.length - 1;
        while (l <= r) {      
            int cent = (r + l) / 2;
            if (nums[cent] > cent)  // 左区间
                r = cent - 1;
            else         // == 右区间 
                l = cent+1;
        }
        return r+1;
    }

以上是关于剑指 Offer 53 - II. 0~n-1中缺失的数字的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

剑指OFFER----面试题53 - II. 0~n-1中缺失的数字