新网站seo,专门做母婴的网站有哪些,新品牌推广方案,整合营销公司排名牛客题霸 [数组中只出现一次的数字] C题解/答案
题目描述
一个整型数组里除了两个数字之外#xff0c;其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
题解#xff1a;
用map来记录每个数字出现几次#xff0c;然后再循环一遍看哪个数字出现一次#x…牛客题霸 [数组中只出现一次的数字] C题解/答案
题目描述
一个整型数组里除了两个数字之外其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
题解
用map来记录每个数字出现几次然后再循环一遍看哪个数字出现一次赋给num1和num2就行 还有个高级做法是用位运算异或^,这里就不细讲了
代码
class Solution {
public:void FindNumsAppearOnce(vectorint data,int* num1,int *num2) {mapint,inta;for(int i0;idata.size();i){a[data[i]];}int ans0;for(int i0;idata.size();i){if(a[data[i]]1){if(ans0)*num1data[i];else *num2data[i];ans;}}}
};