Python 中的單一數字


假設我們有一個數組 A。在這個陣列中有許多數字出現兩次。只有一個元素可以找到一次。我們必須從該陣列中找到該元素。假設 A = [1, 1, 5, 3, 2, 5, 2],那麼輸出將為 3。因為每個數字出現兩次,所以我們可以執行 XOR 來消除該元素。因為我們知道 y XOR y = 0

為了解決此問題,我們將遵循以下步驟。

  • 獲取一個變數 res = 0
  • 對於陣列 A 中的每個元素 e,執行 res = res XOR e
  • 返回 res

示例

讓我們看看以下實現以更好地理解 −

 線上演示

class Solution(object):
   def singleNumber(self, nums):
      """
      :type nums: List[int]
      :rtype: int
      """
      ans = nums[0]
      for i in range(1,len(nums)):
         ans ^=nums[i]
      return ans
ob1 = Solution()
print(ob1.singleNumber([1,1,5,3,2,5,2]))

輸入

nums = [1,1,5,3,2,5,2]

輸出

3

更新時間:2020-04-28

1 千次以上瀏覽

開始你的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.