Single Number II
来源:互联网 发布:特别想找个女朋友知乎 编辑:程序博客网 时间:2024/06/05 03:32
题目: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?
思路:
非常好的题目,设一个三十二维的数组,把nums数组的每一个数字按照位大小从前到后计算在当前位的出现1的次数。
如图所示,最后可以发现如果不是三的倍数,则可以求解出来,见代码,到这边就容易理解了。
代码:
class Solution {public://第二种解法:位操作法 int singleNumber(vector<int>& nums) { int count[32]={0}; int result=0; for(int i=0;i<32;i++){ for(int j=0;j<nums.size();j++){ if(nums[j]>>i&1){ //它是一位一位的操作,当i=3的时候,count[j]<<3,右移3位,使得能够计算第三位的总出现数。当然最终判断是否是3的倍数 count[i]++; } } result |= (count[i]%3)<<i;//一开始卡在这里,没能够想到 如果一个数单独出现1次,那么一定是每一位都不是3的倍数,所以 //count[i]%3<<i才有意义 } return result; }};
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
- 热膨胀和热传导
- Android程序反编译-1
- hdu 5585 水题 Numbers 2015.11.28 bestcoder 1001
- 布隆过滤器初识
- Handler Looper Message的源码分析
- Single Number II
- ccf 字符串匹配
- ActiveMQ和JMS的使用
- recyclerview出现的问题
- 实时搜索引擎Elasticsearch(5)——Java API的使用
- HDU 5587 Array (规律)
- ios之自定义导航栏背景,标题和返回按钮文字颜色
- (php)实现批处理文件以及PHPExcel的实践
- 南大软院大神养成计划--第十三天网页细节处理中