Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬의 단일 숫자


배열 A가 있다고 가정합니다. 이 배열에는 두 번 발생하는 많은 숫자가 있습니다. 한 번에 하나의 요소만 찾을 수 있습니다. 해당 배열에서 해당 요소를 찾아야 합니다. A =[1, 1, 5, 3, 2, 5, 2]라고 가정하면 출력은 3이 됩니다. 각 숫자가 두 번 있으므로 XOR을 수행하여 해당 요소를 제거할 수 있습니다. y XOR y =0

을 알고 있기 때문에

이 문제를 해결하기 위해 다음 단계를 따릅니다.

  • 하나의 변수 res =0 사용
  • 배열 A의 각 요소 e에 대해 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