劍指Offer 陣列中唯一只出現一次的數字

2021-09-02 20:20:50 字數 662 閱讀 5374

在乙個陣列中除了乙個數字只出現一次之外,其他數字都出現了三次。請找出那個只出現一次的數字。你可以假設滿足條件的數字一定存在。

思考題:

如果要求只使用 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 當陣列中只存...