很简单,提供两种解法。
(1)等差数列先求得总和,然后减去给定的队列,剩下的值就是缺失值。
(2)先排个序,逐个比较,不等的直接return
第一种的代码:
class Solution {
public:
int missingNumber(vector<int>& nums) {
int n = nums.size();
int expect = (n+1) * n / 2;
for(int i = 0; i < n; i ++)
expect -= nums[i];
return expect;
}
};
第二种:
class Solution {
public:
int missingNumber(vector<int>& nums) {
int k=0;
int len=nums.size();
sort(nums.begin(),nums.end());
for(int i=0;i<nums.size();i++)
{
if(nums[i]!=k)
return k;
k++;
}
if(k==len)
return k;
}
};