給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。
說明:你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?
示例 1:
輸入: [2,2,1]
輸出: 1
這道題目可以用到異或運算子,用這個就可以秒解這道題,不多說,上**。
class
solutiona
return j;}}
;/* 0 ^ 0 = 0, 0 ^ 1 = 1 可理解為:0異或任何數,其結果 = 任何數
1 ^ 0 = 1, 1 ^ 1 = 0 可理解為: 1異或任何數,其結果 = 任何數取反*/
這道題目只要會異或運算子就能很快找到出現次數為一的數字,1和0的異或可以看成二進位制之間的運算,1^1等於二進位制的1+1,所以等於0,正是因為這個原理,所以相同數字異或的時候值為0。 力扣136 只出現一次的數字
傻雕巴尼 題目位址 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,1 輸出 1 示例 2 輸入 4,1,2,1,2 輸出 4 暴力搜尋 hash表pu...
力扣136 只出現一次的數字
給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,1 輸出 1 示例 2 輸入 4,1,2,1,2 輸出 4 利用異或運算子,兩個相等的數異或以後結果等於...
力扣練習日記 只出現一次的數字
擴充套件 只出現一次的兩個數字 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,1 輸出 1 示例 2 輸入 4,1,2,1,2 輸出 4 這裡先上 p...