leetcode 137 只出現一次的數字 II

2021-08-21 13:27:08 字數 423 閱讀 1022

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

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

這種純數字計算的問題,如果我們只用加減乘除就能做出來,那leetcode就太low了,這種問題,應該深入到位級別運算。

思考,將int數分為32位,那麼按該題的要求,這32位的每一位,所出現過的數目必定是3n或3n+1,3n+1的位級必然是那唯一的乙個元素貢獻的。對int數res的每個位進行陣列位與遍歷,出現3n+1的即保留下來,最終刷完32位之後,可得結果。

class solution 

if(count %3)

result |= mask;

}return result;

}};

Leetcode137 只出現一次的數字

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

leetcode137 只出現一次的數字詳解

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

leetcode137 只出現一次的數字2

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