Skip to content

Commit 7e17910

Browse files
committed
[W5]
3sum solution
1 parent 599da3e commit 7e17910

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

3sum/sun912.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
"""
2+
TC: O(n^2)
3+
SC: O(1)
4+
"""
5+
6+
class Solution:
7+
def threeSum(self, nums: List[int]) -> List[List[int]]:
8+
result = set()
9+
nums.sort()
10+
11+
for i in range(len(nums)-2):
12+
left,right = i+1, len(nums)-1
13+
while left < right:
14+
three_sum = nums[i]+nums[left]+nums[right]
15+
16+
if three_sum < 0:
17+
left += 1
18+
elif three_sum > 0:
19+
right -= 1
20+
else:
21+
result.add((nums[i], nums[left], nums[right]))
22+
left,right = left+1, right-1
23+
24+
return list(result)
25+

0 commit comments

Comments
 (0)