您的位置:首页 > 职场人生

104_leetcode_Single NumberII

2014-06-23 14:22 417 查看
Given an array of integers, every element appears three times except for one. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory

1:采用xor

int singleNumber(int A[], int n)
{
int once = 0;
int twice = 0;
int third = 0;

for(int i = 0; i < n; i++)
{
twice |= once & A[i];
once ^= A[i];
third = once & twice;

once &= ~third;
twice &= ~third;
}

return once;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息