↓↓↓ 아래는 내 리트코드 계정 ↓↓↓
문제 설명
Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.
You must implement a solution with a linear runtime complexity and use only constant extra space.
입출력 예
Example 1:
Input: nums = [2,2,1] Output: 1
Example 2:
Input: nums = [4,1,2,1,2] Output: 4
Example 3:
Input: nums = [1] Output: 1
Constraints
- 1 <= nums.length <= 3 * 104
- -3 * 104 <= nums[i] <= 3 * 104
- Each element in the array appears twice except for one element which appears only once.
Code
def singleNumber(self, nums):
result = 0
for num in nums:
result ^= num
return result
예전 딥러닝 스터디에서 퍼셉트론 공부할 때 나온 XOR 개념을 이용한 풀이. 최종적으로 전체 문자열에서 한 번만 나오는 문자를 반환한다.
def hamingDistance(self, x, y):
return bin(x ^ y).count('1')
마찬가지 XOR로 두 숫자 간 해밍거리를 구하는 함수
I'm a Senior Student in Data Science !
데이터 사이언스를 공부하고 있는 학부생의 TIL 블로그입니다. 게시글이 도움 되셨다면 구독과 좋아요 :)
'Programming > #Algorithm' 카테고리의 다른 글
[알고리즘] Leetcode #687 가장 긴 동일 값의 경로 (Python) (0) | 2021.05.23 |
---|---|
[알고리즘] Leetcode #509 피보나치 수 (Python) (0) | 2021.05.22 |
[알고리즘] Leetcode #122 주식을 사고팔기 가장 좋은 시점 2 (Python) (0) | 2021.05.18 |
[알고리즘] Leetcode #424 가장 긴 반복 문자 대체 (Python) (0) | 2021.05.16 |
[알고리즘] Leetcode #76 부분 문자열이 포함된 최소 윈도우 (Python) (0) | 2021.05.15 |