leetcode260 只出現一次的數字 III

2021-09-13 08:58:38 字數 807 閱讀 9042

給定乙個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。 找出只出現一次的那兩個元素。

示例 :

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

輸出: [3,5]

注意:結果輸出的順序並不重要,對於上面的例子, [5, 3] 也是正確答案。

你的演算法應該具有線性時間複雜度。你能否僅使用常數空間複雜度來實現?

leetcode136. 只出現一次的數字的高階版,可以參考劍指offer40.陣列中只出現一次的數字:

class

solution

:def

singlenumber

(self, nums: list[

int])-

> list[

int]

: res =

0for num in nums:

res ^

= num # 全部求異或

first_one =

0# 找從右到左第乙個不同的位置

while res&1!=

1:res >>=1

first_one +=

1 a, b =0,

0for num in nums:

if(num>>first_one)&1

: a ^

= num

else

:# 根據這一位的不同分別異或

b ^= num

return

[a, b]

LeetCode260 只出現一次的數字 III

給定乙個整數陣列nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。找出只出現一次的那兩個元素。示例 輸入 1,2,1,3,2,5 輸出 3,5 注意 結果輸出的順序並不重要,對於上面的例子,5,3 也是正確答案。你的演算法應該具有線性時間複雜度。你能否僅使用常數空間複雜度來實現?方法呢...

leetcode260 只出現一次的數字 III

給定乙個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。找出只出現一次的那兩個元素。示例 輸入 1,2,1,3,2,5 輸出 3,5 注意 結果輸出的順序並不重要,對於上面的例子,5,3 也是正確答案。你的演算法應該具有線性時間複雜度。你能否僅使用常數空間複雜度來實現?解法...

leetcode260 只出現一次的數字 III

給定乙個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。找出只出現一次的那兩個元素。示例 輸入 1,2,1,3,2,5 輸出 3,5 class solution a,b是答案要求的兩個數 bitmask a b int diff bitmask bitmask diff中...