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;
}
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;
}
相关文章推荐
- leetcode 之 Single Number II
- LeetCode(11):single-number-ii
- LeetCode:Single Number I & II & III
- leetcode 137 —— Single Number II
- LeetCode 解题报告 Single NumberII
- LeetCode:Single Number II
- ****(leetcode) Single Number II
- leetcode Single Number II
- 【LeetCode】136 & 137 & 260 - Single Number I & II &III
- leetcode 137 single NumberII “半加器状态转换”解法
- leetcode - Single Number II
- LeetCode 137 Single Number II
- leetcode:Single Number II
- leetcode single number II
- The Solution to Leetcode 137 Single Number II
- leetcode:Single Number II
- 寻找只出现一次的数字(LeetCode: Single Number II)
- LeetCode(137) Single Number II
- 《leetcode》single-number-ii
- leetcode — single-number-ii