LeeCode_136 Single Number
2016-02-18 08:47
239 查看
Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
考虑使用异或运算来实现,异或运算为两个数各bit为一一比较,如果相同置为0,如果不同置为1.
两个性质:
a^b=b^a;
0^a=a;
所以只需将数列不断的对res做异或运算,肯定可以出现(n-1)/2个0, 还剩最后一个就是要找的数。
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
考虑使用异或运算来实现,异或运算为两个数各bit为一一比较,如果相同置为0,如果不同置为1.
两个性质:
a^b=b^a;
0^a=a;
所以只需将数列不断的对res做异或运算,肯定可以出现(n-1)/2个0, 还剩最后一个就是要找的数。
class Solution { public: int singleNumber(vector<int>& nums) { int res=0; for (int i=0;i<nums.size();i++) res=res^nums[i]; return res; } };
相关文章推荐
- svn的分支和合并相关资料
- iscroll.js的上拉下拉刷新时无法回弹的解决方法
- java中字符串转换为日期并且格式化
- 软件开发技术:流畅表达(fluent style)
- PAT1046
- 转载:oracle用户创建及权限设置
- 4检测平台
- Ke模拟器kemulator 1.0 绿色中文版
- CLRS 14.1动态顺序统计
- 网站常见的反爬虫和应对方法 + [评论]
- ADO.NET
- 个人阅读的Deep Learning方向的paper整理
- 浅谈iOS中MVVM的架构设计与团队协作
- 总线带宽(转整理)
- The Java™ Tutorials — Concurrency :Guarded Blocks 保护块
- Google的十大信条
- 4.16-1 感应器Sensor
- 二维码
- 运行jar 提示 Failed to load Main-Class manifest attribute from
- 安装pillow错误的解决方案