数组中只出现1次的2个数
生活随笔
收集整理的這篇文章主要介紹了
数组中只出现1次的2个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組中只出現1次的2個數
- 如題所示:
- 思路
- 源代碼如下:
如題所示:
一個整型數組里除了兩個數字之外,其他的數字都出現了兩次。請寫程序找出這兩個只出現一次的數字
可以先考慮如果只有1個數字出現1次,其余都2次,怎么找:
思路
?對所有數字異或,由于異或滿足結合律交換律,結果就是所要查找的數字
對于存在2個出現1次的數字:
?所有數字異或結果為這兩個數字的異或值,如果能將數組分為2部分,每個數字屬于其中一部分,則能求出這兩個數字。可以找到這兩個數字異或結果中第一個為1的位,根據該位將數組分成2個數組
源代碼如下:
class Solution { public:void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {int總結
以上是生活随笔為你收集整理的数组中只出现1次的2个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小牛电动车nqi动力版22款能开多少公里
- 下一篇: 数据流的中位数