260.leetcode Single Number III(medium)[两个单数]
来源:互联网 发布:软件著作权变更登记 编辑:程序博客网 时间:2024/04/28 05:59
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?
数组中只有两个元素只出现了一次,其他元素都出现了两次,因此还是先做异或得到这两个元素异或的结果result,然后获取result最右边为1的位置。因为result为1的位置表示这两个单数在这一位上不同,因此可以按照在这一位上取值不同对数组再重新遍历异或得到r1和r2.
class Solution {public: void FindFirstOne(int result,vector<int>& nums,int &r1,int& r2) { int pos = 0; while((result&1) == 0)//寻找最右边是1的位置 { pos++; result = result>>1; } for(int i=0;i<nums.size();i++) { if((nums[i]>>pos)&1) { r1^=nums[i]; }else r2^=nums[i]; } } vector<int> singleNumber(vector<int>& nums) { if(nums.size()<=2) return nums; int result = 0; for(int i=0;i<nums.size();i++) result ^=nums[i]; int r1=0,r2=0; FindFirstOne(result,nums,r1,r2); vector<int> last; last.push_back(r1); last.push_back(r2); return last; }};
0 0
- 260.leetcode Single Number III(medium)[两个单数]
- 136.LeetCode Single Number(medium)[数组 单数]
- 137.leetcode Single Number II(medium)[单数 三次]
- 【LeetCode】(260)Single Number III(Medium)
- [Medium]Single Number III
- 260. Single Number III [medium] (Python)
- 260. Single Number III 难度:medium
- [leetcode] 260.Single Number III
- Leetcode 260. Single Number III
- 260. Single Number III LeetCode
- [LeetCode]260. Single Number III
- LeetCode 260. Single Number III
- LeetCode 260. Single Number III
- LeetCode 260. Single Number III
- LeetCode *** 260. Single Number III
- leetcode-260. Single Number III
- 【leetcode】 260. Single Number III
- leetcode 260.Single Number III
- 内存泄漏原因概览
- Hdu 3696 Farm Game(最长路)
- 如何实现一个malloc
- 配置Linux下的Tomcat出现的错误
- Android调用相机及使用图库截取图片
- 260.leetcode Single Number III(medium)[两个单数]
- 理解Python中的装饰器
- PhpExcel中文帮助手册|PhpExcel使用方法
- Android-代码混淆
- 一致性Hash问题总结
- iOS开发笔记>> UIButton与UITableView的层级结构
- 差分约束详解
- 102. Binary Tree Level Order Traversal
- 游戏数据分析的艺术:数据分析师的能力三角形