很简单,提供两种解法。
(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; } };
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-17 16:13:17