找出落單出現的那個數字

2021-10-22 07:51:32 字數 476 閱讀 6983

題目描述:/*乙個陣列除了某乙個數字只有乙個外,其餘的數字都是成對出現的*/

求出這個落單的數字

思路:使用異或的特性,可以抵消陣列中相同的數字,則剩下的哪個數字就是落單的數字

**示例:

/*乙個陣列除了某乙個數字只有乙個外,其餘的數字都是成對出現的*/

public

class

unique_number

; integer b =

find_unique_number

(a);

system.out.

println

(b);

}private

static integer find_unique_number

(integer[

] a)

return b;

}}

演算法很美 位運算 找出落單的那個數

上級目錄 演算法很美 乙個陣列裡除了某乙個數字之外,其他的數字都出現了兩次。請寫程式找出這個只出現一次的數字。異或的運算是a a 也就是說偶數個相同的元素異或,結果肯定是 a a a a,也就是說奇數個相同元素異或,結果是a本身。那麼根據上面的思路,我們可以設陣列 現兩次的元素為a組元素,一次的為b...

位運算的應用 找出落單的數

基本描述 乙個陣列裡面除了某乙個數字之外,其他的數字都出現了兩次。設計乙個演算法去找出這個只出現了一次的數字。要是沒學過位運算的話,估計又想著去暴力列舉了,不合適,資料量大了會很麻煩的,還是用位運算。因為陣列中只有乙個元素是不重複兩次的,用0去一次與陣列元素進行異或,出現兩次的數異或之後為0,只出現...

演算法 找出陣列中未出現的那個數字

今天看到一道演算法題。將1 100這100個數字放入int這樣的陣列中。現在要找出哪個數字是沒有出現在陣列中的。你會怎麼做?1 大部分人的做法 一瞬間就能想到的方法是遍歷 兩個迴圈套在一起,遍歷每乙個數字是否出現在陣列中。這個方法時間複雜度是o n 2 2 稍微思考一下,可以給出另乙個做法 先將陣列...