We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 47dd67f commit f393c3aCopy full SHA for f393c3a
alternative/medium/three_sum.py
@@ -0,0 +1,34 @@
1
+from typing import List
2
+
3
+def threeSum(nums: List[int]) -> List[List[int]]:
4
+ sortedArray = sorted(nums) # O(nlogn)
5
+ res = []
6
7
+ # O(n^2)
8
+ for i in range(len(sortedArray)):
9
+ if i > 0 and sortedArray[i] == sortedArray[i - 1]:
10
+ continue
11
+ left = i + 1
12
+ right = len(sortedArray) - 1
13
+ while left < right:
14
+ sum = sortedArray[i] + sortedArray[left] + sortedArray[right]
15
+ if sum == 0:
16
+ res.append([sortedArray[i], sortedArray[left], sortedArray[right]])
17
+ left += 1
18
+ right -= 1
19
+ while left < right and sortedArray[left] == sortedArray[left - 1]:
20
21
+ while left < right and sortedArray[right] == sortedArray[right + 1]:
22
23
+ elif sum < 0:
24
25
+ else:
26
27
28
+ return res
29
30
31
+assert threeSum([-1,0,1,2,-1,-4]) == [[-1,-1,2],[-1,0,1]]
32
+assert threeSum([]) == []
33
+assert threeSum([0]) == []
34
+assert threeSum([0,0,0]) == [[0,0,0]]
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
0 commit comments