(LeetCode每日一刷26) 缺失数字

题目描述:

给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。

示例:

示例 1:

输入: [3,0,1]
输出: 2

示例 2:

输入: [9,6,4,2,3,5,7,0,1]
输出: 8

注意:总觉得这题有点奇怪。。。

我提交的代码:

class Solution {
public:
    int missingNumber(vector<int>& nums) {
        sort(nums.begin(),nums.end());
        if(nums[0] != 0){
            return 0;
        }

        decltype(nums.size()) i;
        for (i = 1; i < nums.size(); ++i){
            if(nums[i] - nums[i-1] != 1){
                return nums[i] - 1;
            }
        }
        return nums[i-1] + 1;
    }
};

猜你喜欢

转载自blog.csdn.net/songsong2017/article/details/84645430