leetcode.com/explore/interview/card/top-interview-questions-easy/92/array/549/
풀이
배열을 오름차순으로 정렬하여 현재의 수와 다음 수를 비교, 같다면 반복횟수를 +1 해줌.
만약 다르고 반복횟수 또한 1이라면 그것은 Single Number
다르지만 반복횟수가 1보다 크면 Single Number가 아니므로 반복횟수를 1, 현재 수를 다음수로 다시 초기화
class Solution:
def singleNumber(self, nums: List[int]) -> int:
nums.sort()
current_num = nums[0]
check_single = 1
for i in range(1, len(nums)):
if nums[i] != current_num:
if check_single == 1:
return current_num
check_single = 1
current_num = nums[i]
else:
check_single += 1
return current_num
반응형
'Algorithm > Online judge' 카테고리의 다른 글
[LeetCode] Array > Plus One (0) | 2021.05.07 |
---|---|
[LeetCode] Array > Intersection of Two Arrays II (0) | 2021.05.06 |
[LeetCode] Array > Contains Duplicate (0) | 2021.05.06 |
[LeetCode] Array > Best Time to Buy and Sell Stock II (0) | 2021.05.06 |
[LeetCode] Array > Remove Duplicates from Sorted Array (0) | 2021.05.06 |