Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

หมายเลขเดียวใน Python


สมมติว่าเรามีอาร์เรย์ A ในอาร์เรย์นี้มีตัวเลขจำนวนมากที่เกิดขึ้นสองครั้ง สามารถพบองค์ประกอบเดียวเท่านั้นในครั้งเดียว เราต้องหาองค์ประกอบนั้นจากอาร์เรย์นั้น สมมติว่า A =[1, 1, 5, 3, 2, 5, 2] แล้วผลลัพธ์จะเป็น 3 เนื่องจากมีจำนวนแต่ละตัวอยู่สองครั้ง เราจึงสามารถใช้ XOR เพื่อยกเลิกองค์ประกอบนั้นได้ เพราะเรารู้ว่า y XOR y =0

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้

  • รับค่าตัวแปรหนึ่งค่า =0
  • สำหรับแต่ละองค์ประกอบ e ในอาร์เรย์ A, preform res =res XOR e
  • ผลตอบแทน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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