Single Number II
来源:互联网 发布:制作电子相册软件 知乎 编辑:程序博客网 时间:2024/04/27 16:22
我感觉这种题十分经典!
贴一个别人的思路解析:
To solve this problem using only constant space, you have to rethink how the numbers are being represented in computers -- using bits.
If you sum the ith bit of all numbers and mod 3, it must be either 0 or 1 due to the constraint of this problem where each number must appear either three times or once. This will be the ith bit of that "single number".
A straightforward implementation is to use an array of size 32 to keep track of the total count of ith bit.
因此就有了下面的代码:class Solution {public: int singleNumber(int A[], int n) { int bits[32] = {0}; for (int i = 0; i < n; ++i) { for (int j = 0; j < 32; ++j) { bits[j] += (A[i] >> j) & 1; } } int res = 0; for (int j = 0; j < 32; ++j) { res |= (bits[j] % 3) << j; } return res; }};
http://oj.leetcode.com/problems/single-number-ii/
0 0
- Single Number & Single Number II
- Single Number & Single Number II
- Single Number II - leetcode
- Leetcode: Single Number II
- Single Number II
- Single Number II
- [LeetCode] Single Number II
- LeetCode: Single Number II
- leetcode -- Single Number II
- [leetcode]Single Number II
- [LeetCode] Single Number II
- 【leetcode】Single Number II
- Single Number I & II
- LeetCode:Single Number II
- Leetcode: Single Number II
- Single Number II
- leetcode :Single Number II
- Leetcode Single Number II
- 为什么写博客?
- Javascript作用域和变量提升
- ++
- 指来指去
- Spring整合dwr实例解析
- Single Number II
- 邮箱正确性验证源代码
- Linux驱动开发之五---按键驱动(查询方式)(Tiny6410)
- 第十六周 利用指针对两个数字进行排序
- LeetCode 之 Max Points on a Line
- 如何将net.tcp协议寄宿到IIS
- 第十六周项目1--打入“内部”,寻“内幕”
- 我突然明白了游戏里的角色
- 一台服务器 两个tomcat6 两个服务的安装方法