leetcode 137 只出現一次的數字 II

2021-10-10 19:24:37 字數 555 閱讀 4474

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

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

示例 1:

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

輸出: 3

示例 2:

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

輸出: 99

方法1:

對於除出現⼀次之外的所有的整數,其⼆進製表示中每⼀位1出現的次數是3的整數倍,將所有這

些1清零,剩下的就是最終的數。

具體做法: 統計所有數字的所有二進位制位上的所有的和,然後進行mod 3,之後再將mod之後的所有二進位制位進行拼接即可得到最終的結果。

class

solution

temp = temp%3;

res |

=(temp

;

方法2:

考慮使用有限自動機來處理,就是通過邏輯代數實現乙個數到3就自動清零重新計數的計數器,具體可以進行如下的參考:

Leetcode137 只出現一次的數字

題目描述 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,3,2 輸出 3 示例 2 輸入 0,1,0,1,0,1,99 輸出 99 思路 對數字中數...

leetcode 137 只出現一次的數字 II

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?這種純數字計算的問題,如果我們只用加減乘除就能做出來,那leetcode就太low了,這種問題,應該深入到位級別運算。思考,將...

leetcode137 只出現一次的數字詳解

原題連線 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,3,2 輸出 3 示例 2 輸入 0,1,0,1,0,1,99 輸出 99 3 函式f實現的...