[leetcode][bit] Single Number
来源:互联网 发布:10年总决赛第七场数据 编辑:程序博客网 时间:2024/05/21 06:24
题目:
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?
class Solution {public://方法一:哈希。在哈希表中没找到一样的,插入;找到了一样的,删除。//时间复杂度O(n),空间复杂度O(n) int singleNumber(vector<int>& nums) { if(nums.empty()) return 0; set<int> hashTable; for(int i = 0; i < nums.size(); ++i){ set<int>::iterator iter = hashTable.find(nums[i]); if(iter != hashTable.end()) hashTable.erase(iter);//找到了,删除 else hashTable.insert(nums[i]);//没找到,插入 } return *(hashTable.begin());//返回hashTable中剩余的唯一一个元素 }};
方法二:异或。时间复杂度O(n),空间复杂度O(1)
class Solution {public: int singleNumber(vector<int>& nums) { if(nums.empty()) return 0; int res = nums[0]; for(int i = 1; i < nums.size(); ++i){ res ^= nums[i]; } return res; }};
0 0
- [leetcode][bit] Single Number
- 【Leetcode】Single Number (Bit Manipulation)
- Leetcode - Bit Operation/Array- Single Number
- 【Leetcode】Single Number II (Bit Manipulation)
- leetcode:Bit Manipulation:Single Number II(137)
- leetcode Single Number & Single Number ||
- Bit Manipulation Single Number II
- [LeetCode] Single Number
- Leetcode: Single Number
- Leetcode Single Number
- Single Number - leetcode
- Single Number II - leetcode
- Leetcode: Single Number II
- 【LeetCode】Single Number
- [LeetCode] Single Number II
- LeetCode: Single Number II
- LeetCode: Single Number
- leetcode -- Single Number II
- 一次非常有意思的 SQL 优化经历
- JS面向对象2(继承)
- 解决sikuli打不开的问题
- EM算法的一些感想
- C#跨窗体控制
- [leetcode][bit] Single Number
- 1016. Phone Bills (25)
- 笔记---listview嵌套viewpager问题
- C++内存管理
- 绝对有效的 mircsoft visio 2010激活码
- 警惕url跳转到钓鱼网站--淘宝二手经历
- 《产品经理必知必会》读书笔记
- java中继承Thread和实现Runnable的区别
- 【C语言】memcmp函数的实现