您的位置:首页 > 其它

[LeetCode] Single Number II

2014-04-02 21:02 344 查看
int singleNumber(int A[], int n)
{
const int W = sizeof(int) * 8; // 整数字长
int count[W]; // 每个位上1 出现的次数
fill_n(&count[0], W, 0);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < W; j++)
{
count[j] += (A[i] >> j) & 1;
count[j] %= 3;
}
}
//展示数组中的结果
for(int i = W-1; i >= 0; i--)
{
cout<<count[i];
}
cout<<endl;
int result = 0;
for (int i = 0; i < W; i++)
{
result += (count[i] << i);
}
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: