File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments