(牛客剑指offer刷题33)数组中只出现一次的数字
程序员文章站
2022-03-08 15:49:28
...
题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
思路
哈希表。
我提交的代码
lass Solution {
public:
void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {
int len = data.size();
int i;
bool bFind = false;
map<int,int> myMap;
for (i = 0; i < len; ++i){
auto iter = myMap.find(data[i]);
if (iter != myMap.end()){
myMap[data[i]] = 0;
}
else{
myMap.insert(pair<int, int>(data[i], i+1));
}
}
for (i = 0; i < len; ++i){
if (myMap[data[i]] != 0){
if (bFind == false){
bFind = true;
*num1 = data[i];
}
else{
*num2 = data[i];
}
}
}
}
};
上一篇: 牛客题霸 数组中只出现一次的数字
下一篇: C语言实现十进制数转二进制数的算法
推荐阅读
-
刷题--数组中只出现一次的数字
-
【剑指offer】面试题56(1):数组中只出现一次的两个数字
-
剑指offer:数组中只出现一次的两个数字(java版)
-
剑指offer 面试题56 python版+解析:数组中只出现一次的两个数字,数组中唯一只出现一次的数字
-
剑指offer第二版-56.数组中只出现一次的两个数字
-
【算法分享】剑指offer56-数组中只出现一次的两个数字
-
剑指 Offer 56 - I. 数组中只出现一次的两个数字
-
剑指56:数组中只出现一次的数字——异或——位运算
-
《剑指Offer》Java刷题 NO.40 数组中只出现一次的数字(数组、HashMap、位运算、异或)
-
【剑指】56(1).数组中只出现一次的两个数字