Leetcode--Single Number II
2014-10-04 11:01
288 查看
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?
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) { int one=0;//记录出一次的位 int two=0;//记录出现两次的为 int xthree=0;//出现三次位的取反用于清零出现三次的数 for(int i=0;i<n;i++) { two |= one&A[i]; one ^=A[i]; xthree=~(one&two); //one&two结果为1的位表示出现三次 one &= xthree;//再与 ones、twos进行与操作将出现了三次的位置清零。 two &= xthree; } return one; } };
相关文章推荐
- 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
- LeetCode - Single Number II
- The Solution to Leetcode 137 Single Number II
- LeetCode - Refresh - Single Number II
- leetcode137 Single Number II java
- LeetCode(137) Single Number II
- LeetCode---(137)Single Number II
- [LeetCode] Single Number II