思路一:
class Solution {
public:
int singleNumber(vector<int>& nums) {
sort(nums.begin(),nums.end());
for(int i =0,j=1;i<nums.size()&&j<nums.size();){
if(nums[i]!=nums[j]) return nums[i];
i+=2;
j+=2;
}
return nums[nums.size()-1];
}
};
思路二:异或
class Solution {
public:
int singleNumber(vector<int>& nums) {
int res=0;
for(size_t i=0;i<nums.size();++i)
res^=nums[i];
return res;
}
};
结果大佬的代码比我的快,震惊之余发现,自己太low…………
static auto _=[]()
{
ios::sync_with_stdio(false);
cin.tie(0);
return 0;
}();
大佬加的代码加入这一段,表示不经过缓冲区,加快速度……