1. 程式人生 > >找出數組中不是成對出現的數字

找出數組中不是成對出現的數字

int 成對 pan 只有一個 sizeof cout span for end

題目如下:

給一個數組, {1,1,2,2,3,3,4,4,5,6,6,7,7,8,8,9,9},其中所有的數組都是成對的,只有一個數字出現一次,找出這個數字。

思路:

相同的數字做異或計算會等於0,只需要將所有元素異或並將值相加起來,就是這個只出現了一個數字的元素。

代碼:

 1 int main()
 2 {
 3     int a[] = {1,1,2,2,3,3,4,4,5,6,6,7,7,8,8,9,9};
 4     int c=a[0];
 5     int length = sizeof(a)/sizeof(int);
 6     for(int i=1;i<length;i++)
7 { 8 c = c ^ a[i]; 9 } 10 cout << c << endl; 11 return 0; 12 }

找出數組中不是成對出現的數字