LeetCode : Two Sum (Easy)

이동현·2021년 6월 9일
0
post-thumbnail

0. Overview


1. Problem

2. Solution

def twoSum(nums, target):
        seen = {}
        for i, v in enumerate(nums):
            remaining = target - v
            if remaining in seen:
                return [seen[remaining], i]
            seen[v] = i
        return []

3. Review

  • 처음 문제를 보고서는 Brute force 알고리즘을 활용해 빠르게 문제를 해결하였으나, 시간 복잡도가  O(n2)\displaystyle\ O(n^2) 이므로, Leet Code 내 Solution 을 참고하여 더 나은 풀이 방법에 대한 스터디 진행하였습니다.
  • LeetCode Solution 내 One-pass Hash Table 방식을 활용하면 시간 복잡도  O(n)\displaystyle\ O(n) 과 공간 복잡도  O(n)\displaystyle\ O(n) 으로 문제 해결이 가능합니다.
  • 위 Solution 의 경우 One-pass Hash Table 방식을 활용한 문제 풀이입니다.
profile
아직 배울게 많은 주니어 Data Engineer 입니다 :)

0개의 댓글