您的位置:首页 > 大数据 > 人工智能

LeetCode---Submission Details

2015-09-18 16:35 459 查看
题目大意:给出一个一维数组,该数组中每个元素的值都出现过两次只有一个元素值只出现一次,现在找出这个元素。要求在线性时间内完成,不适用额外的空间。

算法思想:

1.对数组排序

2.遍历数组,比较相邻的两个元素值是否相同,若相同则比较下一组相邻元素,若不相同则返回该元素。注意迭代器的值每次递增2

代码如下:

class Solution {
public:
int singleNumber(vector<int>& nums) {
sort(nums.begin(),nums.end());
vector<int>::iterator pos;
for(pos=nums.begin();pos!=nums.end();pos+=2){
if(*pos==*(pos+1))
continue;
return *pos;
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: