利用异或的思想 res=(nums[1]^nums[2])…
相同的数异或为0,0和其他数异或为这个不为0的数
class Solution {
public:
int singleNumber(vector<int>& nums) {
int res=0;
for(auto i:nums){
res^=i;
}
return res;
}
};
class Solution {
public:
int duplicateInArray(vector<int>& nums) {
int n = nums.size();
for (auto x : nums)
if (x < 0 || x >= n)
return -1;
for (int i = 0; i < n; i ++ ) {
while (nums[nums[i]] != nums[i]) swap(nums[i], nums[nums[i]]);
if (nums[i] != i) return nums[i];
}
return -1;
}
};