25 : Single Number III
来源:互联网 发布:图像语义分割算法论文 编辑:程序博客网 时间:2024/06/12 00:15
题目: 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?
解析:如果我们能够把两个只出现一次且不同的数分到两个不同的小组中,然后再在这两个小组中分别调用Single number的解法就可以得到答案;分到两个不同的小组的方法如下:
解题代码如下:
//解决的问题是 Single Number III//时间复杂度为 O(n),空间复杂度为 O(1)class Solution {public: int singleNumber(vector<int>& nums) { int tmp = 0; for (auto val : nums) tmp ^= val; tmp &= -tmp; vector<int> result(2, 0); for (auto val : nums) if (tmp & val) result[0] ^= val; else result[1] ^= val; return result; }};
- 25 : Single Number III
- Single Number III
- Single Number III
- [LeetCode] Single Number III
- [leetcode] Single Number III
- 260 Single Number III
- [Leetcode]Single Number III
- [leetcode] Single Number III
- Leetcode: Single Number III
- 260 Single Number III
- LeetCode || Single Number III
- Single Number III
- Single Number III
- Single Number III
- [刷题]Single Number III
- Single Number III
- Leetcode75: Single Number III
- leetCode---Single Number III
- UVA 11624 Fire(bfs + 多起点)
- Android -- Init进程对信号的处理流程
- 在VS2012下创建类似Visual Studio界面的方法
- 第3章 输入/输出重定向和管道
- C语言陷阱之优先级学习小结
- 25 : Single Number III
- 使用CSDN-markdown编辑器
- Windows下composer的应用问题
- PAT (Basic Level) Practise 1003. 我要通过!
- ir
- 统计单词出现个数(STL-map求解)
- Redis实现分布式锁
- 2016年2月份面试题
- Android——Fragment向Activity传递数据...