有一組資料,假設除了某乙個元素出現了一次外,其餘元素都出現了兩次,找出這個元素。
如:
array =在這個陣列中,怎麼找出這個只出現了一次的5呢?
依次拿出乙個元素與其他元素進行比較,設定乙個中間變數result,每次讓resul等於該值,
根據是否有與其相同的值來改變result的值,最後根據result的值得出只出現了一次的元素。
**:
#include
#include
intmain
(int argc,
char
const
*ar**)
;int i =
0, j =0;
int result =0;
int length =0;
length =
sizeof
(array)
/sizeof
(array[0]
);for(i =
0; i < length; i++
) result = array[i];}
if(result !=0)
break;}
printf
("%d\n"
, result)
return
0
該演算法時間複雜度為:o(n^2),空間複雜度為:o(1)
上述方法占用了額外的空間:乙個int型的result變數。
如果在上述的基礎上,要求不占用額外空間,應怎樣解答?
找出一組數中只出現一次的元素
coding utf 8 python2.7 author ll ying 找出一組數中只出現一次的元素。注 其它元素都出現過兩次。classsolution defsinglenumber self a parama a list of integer return integer returnr...
程式設計實現 找出一組資料中兩個只出現一次的數字
1.乙個陣列中只有兩個數字是出現一次,其他所有數字都出現了兩次。找出這兩個只出現一次的數字,程式設計實現。2 程式 define crt secure no warnings include include void findtwonumber int arr,int sz 之所以ret中會出現1,...
找出只出現一次的整數
問題 乙個整數陣列中每個數均出現三次,只有乙個數隻出現一次。找出這個數。解析 如果這裡的數不是出現三次而是出現兩次,我們可以使用異或的方式將所有的數進行異或,最後的結果自然是僅出現一次的數。受此啟發,這裡考慮將整數表達成3 進製,每一位的異或操作 1 xo 0 1 2 xo 0 2 0 xo 0 0...