Skip to content

Commit 0e4d1ef

Browse files
committed
Solved 241. 3Sum using Python code
1 parent 18e7dfa commit 0e4d1ef

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

3sum/KwonNayeon.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
"""
2+
Constraints:
3+
1. 3 <= nums.length <= 3000
4+
2. -10^5 <= nums[i] <= 10^5
5+
6+
Time Complexity:
7+
- O(n^2) (정렬은 O(n log n), 이중 반복문은 O(n^2))
8+
Space Complexity:
9+
- O(n) (결과 리스트)
10+
"""
11+
12+
class Solution:
13+
def threeSum(self, nums: List[int]) -> List[List[int]]:
14+
nums.sort()
15+
result = []
16+
17+
for i in range(len(nums) - 2):
18+
if i > 0 and nums[i] == nums[i-1]:
19+
continue
20+
21+
left, right = i+1, len(nums)-1
22+
23+
while left < right:
24+
sum = nums[i] + nums[left] + nums[right]
25+
26+
if sum == 0:
27+
result.append([nums[i], nums[left], nums[right]])
28+
29+
while left < right and nums[left] == nums[left+1]:
30+
left += 1
31+
while left < right and nums[right] == nums[right-1]:
32+
right -= 1
33+
34+
left += 1
35+
right -= 1
36+
37+
elif sum < 0:
38+
left += 1
39+
else:
40+
right -= 1
41+
42+
return result

0 commit comments

Comments
 (0)