概述
描述
一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
示例1
输入:
[1,4,1,6]
复制返回值:
[4,6]
复制说明:
返回的结果中较小的数排在前面
思路:这题我没有用哈希和位运算,用了一个最简单的思想,首先对数组进行排序,然后判断每一个元素和他后一个元素的关系,只要不相等就把当前的值加到一个新的数组后面,这里用C++里的push.back()非常方便,新建一个vector 后,只需要把出现一次的分别加到这个vector后就行,最后返回vector.
class Solution {
public:
vector<int> FindNumsAppearOnce(vector<int>& array) {
sort(array.begin(),array.end());
vector<int> result;
for(int i=0;i<array.size();i++)
{
if(array[i]==array[i+1])
i++;
else
result.push_back(array[i]);
}
return result;
}
};
最后
以上就是单薄芝麻为你收集整理的数组中只出现一次的两个数字(位运算,哈希)的全部内容,希望文章能够帮你解决数组中只出现一次的两个数字(位运算,哈希)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复