LeetCode:Single Number III
2016-02-28 15:49
232 查看
problem:
Given an array of numbers
For example:
Given
Note:
The order of the result is not important. So in the above example,
Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
Solution:Bit Manipulation
Given an array of numbers
nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.
For example:
Given
nums = [1, 2, 1, 3, 2, 5], return
[3, 5].
Note:
The order of the result is not important. So in the above example,
[5, 3]is also correct.
Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
Solution:Bit Manipulation
class Solution { public: vector<int> singleNumber(vector<int>& nums) { int AxorB=0; for(int i=0;i<nums.size();i++) { AxorB^=nums[i]; } //取最后一个二进制位 根据区别位将vector中的数分为两个序列 int mask=AxorB&(~(AxorB-1)); int A=0,B=0; for(int i=0;i<nums.size();i++) { if(mask&nums[i]) A^=nums[i]; else B^=nums[i]; } return vector<int>({A,B}); } };
相关文章推荐
- e是无理数的证明
- python 继承
- 树莓派2 ubuntu mate安装
- IOS开发日志之RunLoop的原理和使用
- Cpp_析构函数
- POJ 1419 Graph Coloring(最大独立集)
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(2月28日)
- SEO,你敢说你会吗?
- 创业的第一百三十二天
- Python 模拟登陆华理教务处
- 64位win10下oracle 11g安装后SQL Developer无法打开及解决JDK版本问题
- eval在JS中的作用
- 8VC Venture Cup 2016 - Elimination Round (C. Block Towers)
- 《将博客搬至CSDN》
- 洛谷P1048采药题解
- 提高组比赛的总结(暨D2T2字串分析)
- 导航栏全透明效果, 只保留左右两个按钮, 如何实现?
- Nginx + Tomcat 动静分离实现负载均衡
- DFS基础(1)
- UVa 1584 - Circular Sequence