C++
求和
class Solution {
public:
int missingNumber(vector<int>& nums) {
int sum = 0;
int ans = nums.size();
for(int i=0; i<nums.size(); i++){
sum = i-nums[i];
ans += sum;
}
return ans;
}
};
异或
class Solution {
public:
int missingNumber(vector<int>& nums) {
int sum = 0;
int ans = nums.size();
for(int i=0; i<nums.size(); i++){
sum = i^nums[i];
ans ^= sum;
}
return ans;
}
};
class Solution {
public:
int missingNumber(vector<int>& nums) {
int res = 0;
int n = nums.size();
for (int i = 0; i < n; i++) {
res ^= nums[i];
}
int k = 0;
while((n + k)% 4 != 3){
k ++;
res ^= (n + k);
}
return res;
}
};
排序
class Solution {
public:
int missingNumber(vector<int>& nums) {
sort(nums.begin(),nums.end());
for(int i=0; i<nums.size(); i++){
if(nums[i] != i){
return i;
}
}
return nums.size();
}
};