Single Number II
来源:互联网 发布:java api中文文档 编辑:程序博客网 时间:2024/06/03 20:42
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?
解题技巧:
这道题类似于 Single Number,不同的是,除了一个数字出现过一次,其他数字都出现了三次,因此,我们可以统计所有数字在某一位上1的个数,如果是3的整数倍,则说明只出现1次的那个数在该位为0,否则,为1。
代码:
#include <iostream>#include <vector>using namespace std;int singleNumber(vector<int>& nums){ int length = nums.size(); int result = 0; for(int i = 0; i < 32; i ++) { int count = 0; int mask = 1 << i; for(int j = 0; j < length; j ++) { if(nums[j] & mask) count ++; } if(count % 3) result |= mask; } return result;}int main(){ vector<int> nums; int num; while(cin>>num) { nums.push_back(num); } cout<<singleNumber(nums);}
阅读全文
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
- 如何通过cmdline获取panel型号的dtsi文件节点(qcom,lcd,id)
- 降维三部曲(一)
- Spark rdd 介绍,和案例介绍
- hibernate
- Windows学习(010)--内核对象(一)
- Single Number II
- ui-select官方教程(二)——ui-select指令
- struts1于struts2的比较
- MySQL 命令行导出、导入Select 查询结果
- python-字典
- 【Java线程】锁机制:synchronized、Lock、Condition
- Unity Adroid串口Dll not found Exception : MonoPosixHelper第二种解决办法
- 用 python 写一些常见的数学函数
- Codeforces 734E Anton and Tree (dfs缩点+树的直径)