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?

题意:给定数组,除一个数仅出现一次外,其余都出现三次,找到仅出现一次的数字。

思路:这题不能延续single number的解法,但是思路可以向逻辑运算符那边靠。这题我开始没有想出来,这个逻辑运算对我而言是一个大坑。看了Grandyang的博客才明白。这里给出原博客中的解释:用3个整数来表示INT的各位的出现次数情况,one表示出现了1次,two表示出现了2次。当出现3次的时候该位清零。最后答案就是one的值,

ones 代表第ith 位只出现一次的掩码变量;twos 代表第ith 位只出现两次的掩码变量;threes 代表第ith 位只出现三次的掩码变量。

博主的个人理解经验是:写出一个例子,按照程序走一遍。

 class Solution {
public:
int singleNumber(int A[], int n)
{
int one=,two=,three=;
for(int i=;i<n;++i)
{
two |=one&A[i];
one ^=A[i];
three=one&two;
one &=~three;
two &=~three;
}
return one;
}
};

原博客中还给出了Single Number III

最新文章

  1. 转→js数组遍历 千万不要使用for...in...
  2. 闲来无事,写个基于UDP协议的Socket通讯Demo
  3. codeforces 727F. Polycarp&#39;s problems
  4. 【BZOJ 3049】【USACO2013 Jan】Island Travels BFS+状压DP
  5. 使用CFURLCreateStringByAddingPercentEscapes进行URL编码
  6. Dynamics AX 2012 R2 将系统用户账号连接到工作人员记录
  7. 【SSO单点系列】(3):CAS4.0 登录页验证码的添加
  8. delphi调用 java 的 WebService服务端.
  9. 软中断&amp;amp;tasklet&amp;amp;工作队列
  10. UOJ 216 Jakarta Skyscrapers
  11. http协议之cookie标准RFC6265介绍
  12. C#中struct和class的区别详解
  13. AJAX请求返回HTTP 400 错误 - 请求无效 (Bad request)
  14. zipkin 整合elastic
  15. Clion调试ROS包
  16. zynq里面的AXI总线(2017-1-11)
  17. rabbitmq学习(六) —— 主题
  18. inline-blcok 之间的空白间隙
  19. SharePoint Error occurred in deployment step &#39;Recycle IIS Application Pool&#39;: 0x80070005:拒绝访问
  20. 「LibreOJ β Round #4」求和

热门文章

  1. andriod 学习三 使用android资源
  2. InnoDB锁冲突案例演示
  3. 汽车后市场:数据入口在哪里?不看你就OUT啦!
  4. 180709-Java实现获取本机Ip的工具类
  5. web自动化原理揭秘
  6. linux部署maven
  7. 前端开发工程师 - 02.JavaScript程序设计 - 期末考试
  8. 栈和队列ADT -数据结构(C语言实现)
  9. 看图写树 (Undraw the Trees UVA - 10562)
  10. 关于java使用double还是float