LEETCODE: Single Number II
2015-01-06 23:02
176 查看
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?
用一个32个元素的容器记录各个位上数字出现的记录!
class Solution {
public:
int singleNumber(int A[], int n) {
vector<int> bits(32);
int result = 0;
for(int ii = 0; ii < n; ii ++) {
// Check every bit of A[ii]
int base = 1;
for(int jj = 0; jj < 32; jj ++) {
int temp = A[ii] & base;
if(temp != 0) {
bits[jj] ++;
}
base = base << 1;
}
}
for(int ii = 0; ii < 32; ii ++) {
if(bits[ii] % 3 == 1)
result |= 1 << ii;
}
return result;
}
};
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
用一个32个元素的容器记录各个位上数字出现的记录!
class Solution {
public:
int singleNumber(int A[], int n) {
vector<int> bits(32);
int result = 0;
for(int ii = 0; ii < n; ii ++) {
// Check every bit of A[ii]
int base = 1;
for(int jj = 0; jj < 32; jj ++) {
int temp = A[ii] & base;
if(temp != 0) {
bits[jj] ++;
}
base = base << 1;
}
}
for(int ii = 0; ii < 32; ii ++) {
if(bits[ii] % 3 == 1)
result |= 1 << ii;
}
return result;
}
};
相关文章推荐
- leetcode-137 Single Number II
- 【leetcode】 Single_Number_II
- [C++]LeetCode: 67 Single Number II
- 【LeetCode】136 & 137 & 260 - Single Number I & II &III
- LeetCode 【Single Number I II III】
- LeetCode 137 -Single Number II ( JAVA )
- Leetcode 137 Single Number II
- [LeetCode] Single Number II
- [LeetCode]Single Number II
- LeetCode|| Single Number II
- [LeetCode] 137--Single Number II --Medium--
- LeetCode 137 Single Number II
- Leetcode算法学习日志-137 Single Number II
- LeetCode | Single Number II
- Leetcode 137 Single Number II
- leetcode之Single Number II
- leetcode笔记:Single Number II
- [LeetCode] Single Number II 位运算
- LeetCode || Single Number II
- 137. Single Number II LeetCode