牛客题霸 [数组中只出现一次的数字] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [数组中只出现一次的数字] C++题解/答案
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
牛客題霸 [數(shù)組中只出現(xiàn)一次的數(shù)字] C++題解/答案
題目描述
一個(gè)整型數(shù)組里除了兩個(gè)數(shù)字之外,其他的數(shù)字都出現(xiàn)了兩次。請(qǐng)寫程序找出這兩個(gè)只出現(xiàn)一次的數(shù)字。
題解:
用map來記錄每個(gè)數(shù)字出現(xiàn)幾次,然后再循環(huán)一遍看哪個(gè)數(shù)字出現(xiàn)一次,賦給num1和num2就行
還有個(gè)高級(jí)做法是用位運(yùn)算,異或^,這里就不細(xì)講了
代碼:
class Solution { public:void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {map<int,int>a;for(int i=0;i<data.size();i++){a[data[i]]++;}int ans=0;for(int i=0;i<data.size();i++){if(a[data[i]]==1){if(ans==0)*num1=data[i];else *num2=data[i];ans++;}}} };總結(jié)
以上是生活随笔為你收集整理的牛客题霸 [数组中只出现一次的数字] C++题解/答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LED显示屏安装图解如何安装电脑显示器
- 下一篇: 牛客题霸 [合并有序链表] C++题解/