Single Number II
来源:互联网 发布:帝国时代2征服者mac版 编辑:程序博客网 时间:2024/06/06 12:44
Given an array of integers, every element appears three times except for one, which appears exactly once. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
思路:用一个32位整数记录数组中所有元素每一位1的个数,元素出现三次模3为0,元素只出现一次模3为1
例:2 2 2 3 3 3 4
其中第一位为1的总数3,%3=0
第二位为1的总数为6,%3=0
第三位为1的总数1,%3=1
所以res=000…..00 00000100=4
int singleNumber(vector<int>& nums) { int res = 0; for (int i = 0; i < 32; ++i) { int sum = 0; for (int j = 0; j < nums.size(); ++j) { sum += (nums[j] >> i) & 1; } res |= (sum % 3) << i; } return res; }
阅读全文
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
- php回调函数学习笔记
- 详解Tomcat 配置文件server.xml
- 输出一个整数的阶乘
- BZOJ 1002 矩阵树找规律递推高精度 解题报告
- redis 重启
- Single Number II
- mysql如何进行以, -,.分割的字符串的拆分,解决数字字符串分割问题
- CCF201604-04-游戏
- Oracle 11g 通过间隔分区实现按月创建表分区
- redis 安装
- 20170825日记账流水(2017-08-25 18:00)
- android集成GooglePay支付,实现应用内支付,如金币等
- 面试-数据库
- 同程2017校招前端工程师笔试试卷