반응형
Notice
Recent Posts
Recent Comments
- Today
- Total
작심삼일
[LeetCode] 136 | Single Number | Python 본문
728x90
반응형
문제 링크: https://leetcode.com/problems/single-number/
문제
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.
조건
- 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.
내 풀이
주어진 배열(nums)를 정렬한다.
nums 길이가 한 개라면 그 원소를 출력한다.
nums의 2*n번째와 2*n+1번째 원소가 같지 않다면 2*n번째 원소를 리턴한다.
for문 동안 리턴되는 값이 없었다면 맨 마지막에 있는 제일 큰 원소가 혼자 존재하는 것이므로 그것을 리턴한다.
코드
class Solution:
def singleNumber(self, nums: List[int]) -> int:
if len(nums) == 1:
return nums[0]
nums = sorted(nums)
for n in range(int(len(nums)/2)):
if nums[2*n] != nums[2*n+1]:
return nums[2*n]
return nums[-1]
728x90
반응형
'스터디 > 코테' 카테고리의 다른 글
[LeetCode] 39 | Combination Sum | Python (0) | 2022.02.17 |
---|---|
[LeetCode] 24 | Swap Nodes in Pairs | Python (0) | 2022.02.16 |
[LeetCode] 560 | Subarray Sum Equals K | Python (0) | 2022.02.10 |
[LeetCode] 532 | K-diff Pairs in an Array | Python (0) | 2022.02.09 |
[LeetCode] 258 | Add Digits | Python (0) | 2022.02.08 |
Comments