只出現一次的數字 II

2021-09-25 03:48:57 字數 567 閱讀 6496

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。

說明:你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?

示例 1:

輸入: [2,2,3,2]

輸出: 3

示例 2:

輸入: [0,1,0,1,0,1,99]

輸出: 99

方法是利用狀態機的思想,從00 - 01 - 10 變化

當乙個數字 出現一次的時候完成 00 - 01 變化

當乙個數字 出現二次的時候完成 01 - 10 變化

當乙個數字 出現三次的時候完成 10 - 00 變化

具體的來想就是把所有的數字中三個的都放在一起,先把前三個相同的數字進行如下運算,最終得到的a和b都是 0 0 和初始狀態一樣,接下來計算第二組三個的元素,最終的結果也是 0 0 ,依次進行.

這樣一來三個全都被置為 0 0,

乙個的在b這個位上置數....

class solution 

return b;

}};

只出現一次的數字 II

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。輸入 2,2,3,2 輸出 3 輸入 0,1,0,1,0,1,99 輸出 99 大佬的思路,日後可以用來回顧 如果能設計乙個狀態轉換電路,使得乙個數出現3次時能自動抵消為0,最後剩下的就是只出現1...

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 題中我們用到了...