您的位置:首页 > 其它

single-number-ii

2015-11-01 12:53 288 查看
给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字。

样例

给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4

一次遍历,常数级的额外空间复杂度
class Solution {
public:
int singleNumberII(vector<int> &A) {
int n=A.size();
vector<int>count(32,0);
int res=0;
for(int i=0;i<32;i++){
for(int j=0;j<n;j++){
if((A[j]>>i)&1) count[i]++;
}
res|=(count[i]%3)<<i;
}
return res;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: