Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 다른 모든 요소가 두 번 나타나는 배열에서 한 번 나타나는 요소 찾기


배열 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):
      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]))

입력

[1,1,5,3,2,5,2]

출력

3