題目描述:
給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。
你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?示例 :
輸入: [2,2,3,2]輸出: 3
輸入: [0,1,0,1,0,1,99]題目思路:輸出: 99
我們依然採用位運算,利用異或運算的特殊性質進行求解,這次不同的是其他的數字都出現了三次,我們可以和與運算一起搭配使用進行判斷。
異或運算:
x ^ 0 = x與運算:x ^ x = 0
x & ~x = 0只出現一次x & ~0 = x
x & ~0 = x
出現三次x & ~x = 0
class
solution
return ret;}}
;
力扣137 只出現一次的數字 II
給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。題目鏈結 示例 1 輸入 2,2,3,2 輸出 3 示例 2 輸入 0,1,0,1,0,1,99 輸出 99 使用 hashset 對出現的元素進行記錄,使...
137 只出現一次的數字 II
給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,3,2 輸出 3 示例 2 輸入 0,1,0,1,0,1,99 輸出 99 使用python3,用了額外的空...
137 只出現一次的數字 II
給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 示例 2 1.二進位制下不考慮進製的加法 本題為 136.single number 的拓展,136 題中我們用到了...