在乙個陣列中除了乙個數字只出現一次之外,其他數字都出現了三次。請找出那個只出現一次的數字。你可以假設滿足條件的數字一定存在。
思考題:
如果要求只使用 o(n) 的時間和額外 o(1) 的空間,該怎麼做呢?
樣例輸入:[1,1,1,2,2,2,3,4,4,4]
輸出:3
import sys
class
solution
(object):
def(self, nums)
:"""
:type nums: list[int]
:rtype: int
"""bits =[0
]*32 result =
0for i in
range
(len
(bits)):
for j in
range
(len
(nums)):
bits[i]
+=(nums[j]
>> i)
&0b1
bits[i]
=(bits[i]%3
)<< i
result = result | bits[i]
return result
劍指Offer 陣列中唯一只出現一次的數字
題目 在乙個陣列中除乙個數字只出現一次之外,其他數字都出現了三次。請找出那個只出現一次的數字。思路 我們把陣列中所有數字的二進位制表示的每一位都加起來。如果某一位的和能被3整除,那麼那個只出現一次的數字二進位制表示中對應的那一位是0 否則就是1。如下 include includeusing nam...
劍指offer 陣列 陣列中只出現一次的數字
思路 借用列表中的刪除元素功能。coding utf 8 class solution 返回 a,b 其中ab是出現一次的兩個數字 def self,array write code here list for e in array if e not in list else del list li...
劍指offer (陣列)陣列中只出現一次的數字
1 乙個整型陣列裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這1個只出現一次的數字。要求時間複雜度為o n 控制項複雜度為o 1 2 乙個整型陣列裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。要求時間複雜度為o n 控制項複雜度為o 1 1 當陣列中只存...