Skip to content

Commit b5e1e07

Browse files
committed
use set to improve
1 parent 12f0bee commit b5e1e07

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

Sprint-1/Python/has_pair_with_sum/has_pair_with_sum.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,25 @@ def has_pair_with_sum(numbers: List[Number], target_sum: Number) -> bool:
88
Find if there is a pair of numbers that sum to a target value.
99
1010
Time Complexity:
11+
ANSWER: O(n)
12+
Because the list is looped through once.
13+
1114
Space Complexity:
15+
ANSWER: O(n)
16+
Because a set is used to store seen numbers.
17+
1218
Optimal time complexity:
19+
ANSWER: O(n)
20+
Each number is processed once using a set for faster lookup.
21+
22+
1323
"""
14-
for i in range(len(numbers)):
15-
for j in range(i + 1, len(numbers)):
16-
if numbers[i] + numbers[j] == target_sum:
17-
return True
24+
seen = set()
25+
26+
for number in numbers:
27+
complement = target_sum - number
28+
if complement in seen:
29+
return True
30+
seen.add(number)
31+
1832
return False

0 commit comments

Comments
 (0)