배열 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