Skip to content

Commit 1fe6d69

Browse files
committed
Array: sum two number to get target number
1 parent 0c61f81 commit 1fe6d69

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

array/sum_two.py

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# 모든 요소의 합을 루프를 돌면서 계산한다.
2+
# 첫 루프는 0 ~ n-1, 두번째 루프는 1 ~ n까지 돌아야한다.
3+
# 시간복잡도: O(n^2) / 공간복잡도 O(1)
4+
5+
def brute_force(nums, target):
6+
for i in range(0, len(nums)):
7+
for j in range(i+1, len(nums)):
8+
if (nums[i] + nums[j] == target):
9+
return [i, j]
10+
print('brute force', brute_force([2,3,4,5], 9))
11+
12+
# 방문한 요소를 키값으로 하고 인덱스를 value 값으로 하는 해시맵을 활용한다.
13+
# 시간복잡도: O(n) / 공간복잡도: O(n)
14+
def hash_map(nums, target):
15+
hashtable = {}
16+
17+
for i in range(0, len(nums)):
18+
val = target - nums[i]
19+
if hashtable.get(val) is not None:
20+
return sorted([i, hashtable[val]])
21+
else:
22+
hashtable[nums[i]] = i
23+
24+
print("hash_map", hash_map([2,3,4,5], 9))

0 commit comments

Comments
 (0)