很简单,提供两种解法。
(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;
}
};

本文介绍了两种查找缺失数字的方法,一种是通过等差数列求和,另一种是通过排序和比较实现。提供了详细的代码实现步骤,适用于不同场景。
386

被折叠的 条评论
为什么被折叠?



