只出現一次的數字

2022-04-07 04:37:20 字數 610 閱讀 9583

問題描述:給你乙個整型陣列,陣列中有乙個數隻出現過一次,其他數都出現了兩次,求這個只出現了一次的數。

方法1:求取陣列中的最大值 ,建立乙個長度為陣列中最大的boolean型別的陣列,陣列開始儲存的為true,遍歷整形陣列,更改與整數相對應的boolean陣列中的值為反值,遍歷完成後,boolean型別陣列中為false的下標為改數字

方法2:二進位制

異或的特點:相同的數異或為0,0和任何數異或還是這個數本身,並且異或支援交換律。  相同為0   不同為1

所有數異或 獲得的就是沒有重複的數;

public

static integer getresult(int

arr)

return

temp;

}

view code

如果問題描述改為:給你乙個整型陣列,陣列中有乙個數隻出現過兩次,其他數都出現了一次,求這個出現了兩次的數。

方法1:

public

static integer getresult(int

arr)

}return

null

;

}

view code

只出現一次的數字

1.乙個整型陣列,有乙個數字出現一次,其餘數字出現兩次,找出這個只出現一次的數字。解題思路 異或運算性質 兩個相同的數字異或得0,0與乙個數字異或得數字本身,而且異或運算是滿足交換律的 陣列元素按位異或,交換律可以想象成相同的數字參與運算的時候是相鄰的 所有出現兩次的數字異或之後得0,最後剩餘的是0...

只出現一次的數字

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,1 輸出 1示例 2 輸入 4,1,2,1,2 輸出 4核心思想 對list排序,然後遍歷 class ...

只出現一次的數字

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素 例 1,2,2 1 方法一 異或 數字1 數字2 每一位如果相同就為0,不同為1 1 1 0 1 0 1 0 1 1 0 0 0 class solution def singlenumber se...