欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-07 21:54:03
...

题目:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。

剑指 Offer 53 - II. 0~n-1中缺失的数字
思路:排序数组的解法其实一般使用二分、双指针比较多,但是对于这道题,所有数字都是唯一而且是递增排列,因此,我们可以直接比较这个数组的值和这个位置即可。另外需要搞清楚题目的条件,我因为没理解题意,边界出了问题。题目的意思是,咱们有一个数组,长度就是n,数组是从0-n-1依次排的,个数是n个;那么题目的意思就是在0到n的中有且只有一个数字不存在,找出这个数字,看清楚了是0-n(长度)。

class Solution {
    public int missingNumber(int[] nums) {
        int res = -1;
        boolean flag = false;
        for(int i=0;i<nums.length;i++){
            if(nums[i] != i){
                res = i;
                flag = true;
                break;
            }
        }
        if(flag){
            return res;
        }else{
            return nums.length;
        }
    }
}

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

相关标签: 数据结构与算法