描述
一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
示例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;
}
};
最后
以上就是单薄芝麻最近收集整理的关于数组中只出现一次的两个数字(位运算,哈希)的全部内容,更多相关数组中只出现一次内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复