Skip to content

Commit 30ea21d

Browse files
committed
fix: time complexity O(n^2) -> O(n)
1 parent 63956b5 commit 30ea21d

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

two-sum/hu6r1s.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,20 @@
88
- 변수 i, j 그리고 리턴 시 사용하는 [i, j]만 존재
99
- 따라서 O(1)의 공간 복잡도를 가짐짐
1010
"""
11+
"""
12+
class Solution:
13+
def twoSum(self, nums: List[int], target: int) -> List[int]:
14+
for i in range(len(nums)-1):
15+
for j in range(i+1, len(nums)):
16+
if nums[i] + nums[j] == target:
17+
return [i, j]
18+
"""
1119

1220
class Solution:
1321
def twoSum(self, nums: List[int], target: int) -> List[int]:
14-
for i in range(len(nums)-1):
15-
for j in range(i+1, len(nums)):
16-
if nums[i] + nums[j] == target:
17-
return [i, j]
22+
d = {num: idx for idx, num in enumerate(nums)}
23+
24+
for i, v in enumerate(nums):
25+
idx = target - v
26+
if idx in d and d[idx] != i:
27+
return [i, d[idx]]

0 commit comments

Comments
 (0)