LeetCode: Single Number II
2014-08-26 12:07
363 查看
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?
Round 2:
class Solution {
public:
int singleNumber(int A[], int n) {
int digits[32] = {0};
int result = 0;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < 32; j++)
{
digits[j] += (A[i] & (1 << j)) >> j;
}
}
for(int i = 0; i < 32; i++)
{
result |= (digits[i] % 3) << i;
}
return result;
}
};
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
class Solution { public: int singleNumber(int A[], int n) { vector<int> result(32, 0); int single = 0; for(int i = 0; i < n; i++) { for(int j = 0; j < 32; j++) { result[j] += ((A[i] & (1 << j)) >> j); } } for(int i = 0; i < 32 ; i++) { result[i] = result[i] % 3; single |= (result[i] << i); } return single; } };
Round 2:
class Solution {
public:
int singleNumber(int A[], int n) {
int digits[32] = {0};
int result = 0;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < 32; j++)
{
digits[j] += (A[i] & (1 << j)) >> j;
}
}
for(int i = 0; i < 32; i++)
{
result |= (digits[i] % 3) << i;
}
return result;
}
};
相关文章推荐
- LeetCode - Refresh - Single Number II
- leetcode137 Single Number II java
- LeetCode(137) Single Number II
- LeetCode---(137)Single Number II
- [leetcode]Single Number II 详解
- [LeetCode] Single Number II
- Single Number II leetcode java
- LeetCode Single Number II
- [LeetCode]Single Number, Single Number II & Single Number III
- LeetCode:Single Number II
- 【leetcode78】Single Number II
- LeetCode | Single Number II
- Java [Leetcode 137]Single Number II
- [leetcode-137]Single Number II (c)
- 【Leetcode】 - Single Number II
- 【LeetCode-面试算法经典-Java实现】【137-Single Number II(只字出一次的数字II)】
- LeetCode Single Number II
- 《leetCode》:Single Number II
- LeetCode_Single Number II
- LeetCode--Single Number II