leetcode:Single Number II
2014-08-07 19:12
429 查看
问题描述:
Given an array of integers, every element appears three times
except for one. Find that single one.
给一个数组,里面除了一个元素出现一次,其他的元素都出现了3次,求出出现一次的元素;
要求,O(n)的时间复杂度和O(1)
Given an array of integers, every element appears three times
except for one. Find that single one.
给一个数组,里面除了一个元素出现一次,其他的元素都出现了3次,求出出现一次的元素;
要求,O(n)的时间复杂度和O(1)
class Solution { public: int singleNumber(int A[], int n) { if(A==NULL) return 0; int result=0; int tmp=0; int flag=1; for(int i=0;i<32;i++) { tmp=0; for(int j=0;j<n;j++) { tmp += A[j]&flag; A[j]=A[j]>>1; } tmp=tmp%3; tmp=tmp<<i; result=result|tmp; //flag=flag<<1; } return result; } };通过对bit位的运算,得到结果
相关文章推荐
- LeetCode136 Single Number, LeetCode137 Single Number II, LeetCode260 Single Number III
- [Leetcode] Single Number II
- 【LeetCode】Single Number I & II & III
- LeetCode---Single Number II
- LEETCODE: Single Number II
- LeetCode - Single Number II
- LeetCode - Single Number II
- 【LeetCode】SingleNumberII_137
- [LeetCode] Single Number II
- Leetcode - Single Number II
- LeetCode解题报告—— Sum Root to Leaf Numbers & Surrounded Regions & Single Number II
- LeetCode Single Number II 单元素2
- leetcode-Single Number II
- [leetcode] Single Number II
- LeetCode:Single Number II
- [leetcode] Single Number II
- [leetcode] Single Number II
- leetcode——137—— Single Number II
- Single Number II【leetcode】
- Leetcode-single-number-ii