[Algorithm] 2. Single Number (LeetCode)

Fly High!·2020년 8월 29일
0

Algorithm

목록 보기
2/5
post-thumbnail

Q.

Given a non-empty array of integers, every element appears twice except for one. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

Example 1:

Input: [2,2,1]
Output: 1

Example 2:

Input: [4,1,2,1,2]
Output: 4

A.

class Solution:
    singleNumber(self, nums):
        for i in nums:
            a = nums.count(i) # list내의 숫자의 개수
            if a == 1: # 숫자의 개수가 1이면 결과값 반환
                return i

R.

Ref.

비트 연산자

class Solution:
	singleNumber(self, nums):
        a = 0
        for i in nums:
            a ^= i
            return a
  • 결과값을 a에 할당하는 XOR (하나만 참일 때 만족) 비트 연산자 ^= 사용
  • 동일한 비트값일 경우 결과로 0을 반환
profile
Back-end, Python, Data

0개의 댓글