Leetcode68: Single Number
来源:互联网 发布:怎样注册淘宝账户 编辑:程序博客网 时间:2024/05/29 02:54
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:用map数据结构来记录次数,费时且费空间
class Solution {public: int singleNumber(vector<int>& nums) { map<int, int> mp; for(int i = 0; i < nums.size(); i++){ if(mp.find(nums[i]) == mp.end()) { mp.insert(make_pair(nums[i],1)); } else mp[nums[i]] ++; } map<int ,int>::iterator it; for(it = mp.begin(); it != mp.end(); it++) { if(it->second == 1) return it->first; } }};解法2:(非原创,这特么谁想出来的!) 采用异或操作
class Solution {public: int singleNumber(vector<int>& nums) { int res = 0; for(int i = 0; i < nums.size(); i++) { res ^= nums[i]; } return res; }};
0 0
- Leetcode68: Single Number
- Single Number
- single number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- single number
- Single Number
- Single Number
- hibernate 配置 configurations
- hibernate下oracle转mysql遇到的问题(1)
- MFC之添加属性页
- 单位长度闭区间包含所有点集
- android客户端性能测试 (一)
- Leetcode68: Single Number
- xcode7.0真机测试
- 通知(Notification)
- Findbugs异常总汇
- [bash]正则表达式、BRE模式
- 升级Xcode7后所要更改的配置
- 字符串处理的例子
- 根据年份和月份,获取某月多少天
- 生成小学算术题——小程序