- to do
![](https://img.haomeiwen.com/i2136367/be31acd040103b49.png)
1] Single Number
eeeeei
No extra memory,
int singleNumber(vector<int>& nums) {
int ret = 0;
for (int i=0; i<nums.size(); ++i) {
ret ^= nums[i];
}
return ret;
}
2] Single Number II
note the vector<int> marks(8*sizeof(int), 0);
int singleNumber(vector<int>& nums) {
vector<int> marks(8*sizeof(int), 0); //================
int ret =0;
for (int n: nums) {
for (int i=0; i<marks.size(); ++i) {
marks[i] += (n>>i)&1;
}
}
for (int i=0; i<marks.size(); ++i) {
if (marks[i] %= 3) ret += (1<<i);
}
return ret;
}
网友评论