[136]Single Number
来源:互联网 发布:文本相似度算法 java 编辑:程序博客网 时间:2024/05/29 18:05
【题目阐述】
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?
1.先将nums排序,然后从第一个数开始跟自己右边的数比较是否相等,不等即为答案,相等则跳过这两个从后面的继续比较。
2.这个是看了discuss的提示,利用了相同的数异或为0,不同的数异或为1的性质。
3.遍历vector,如果在map中没有找到,就加到map中,反之则说明这个数有重复,把这个数删掉。
【代码】
1.
class Solution {public: int singleNumber(vector<int>& nums) { sort(nums.begin(),nums.end()); for(int i=0;i<nums.size()-1;i++){ if(nums[i]==nums[i+1]) i++; else return nums[i]; } return nums[nums.size()-1]; }};
2.
class Solution {public: int singleNumber(vector<int>& nums) { int ans=nums[0]; int n=nums.size(); for(int i=1;i<n;i++){ ans^=nums[i]; } return ans; }};
3.
class Solution {public: int singleNumber(vector<int>& nums) { map<int,int> m; for(int i=0;i<nums.size();i++){ if(m.find(nums[i])==m.end()){ m.insert(pair<int,int>(nums[i],nums[i])); } else{ m.erase(m.find(nums[i])); } } return m.begin()->first; }};
0 0
- LeetCode(136)Single Number
- LeetCode 136 Single Number
- LeetCode 136 Single Number
- LeetCode: Single Number [136]
- 136 single number
- [leetcode 136] Single Number
- [leetcode]136 Single Number
- leetcode-136 Single Number
- LeetCode 136 Single Number
- LeetCode 136 Single Number
- leetcode || 136、Single Number
- LeetCode 136 : Single Number
- leetcode Single Number 136
- LeetCode---(136) Single Number
- leetcode#136 Single Number
- Leetcode[136]-Single Number
- Leetcode_Alog.136- Single Number
- leetcode-136-Single Number
- 【bzoj3174】【TJOI2013】【拯救小矮人】【贪心+dp】
- MYSQL 锁机制分析
- python中结巴分词快速入门
- 地图沿直线轨迹运动
- OC的冒泡排序
- [136]Single Number
- 从源码安装gmond,gmetad,gweb
- 第4周项目5 猴子选大王
- Hibenrate Search中基础查询解析
- 获取进程信息-C++
- UI29_UIAlertAction(UIAlertView和UIActionSheet的结合体)
- hdu(1222狼和兔子)
- Cocos2D v2.0至v3.x简洁转换指南(三)
- 搜索引擎关键词抓取 以百度为例 python