File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change
1
+ //
2
+ // 15. 3Sum
3
+ // https://leetcode.com/problems/3sum/description/
4
+ // Dale-Study
5
+ //
6
+ // Created by WhiteHyun on 2024/06/04.
7
+ //
8
+
9
+ class Solution {
10
+ func threeSum( _ nums: [ Int ] ) -> [ [ Int ] ] {
11
+ var result : [ [ Int ] ] = [ ]
12
+ let sorted = nums. sorted ( )
13
+
14
+ for (index, element) in sorted. enumerated ( ) where index <= 0 || element != sorted [ index - 1 ] {
15
+ var left = index + 1
16
+ var right = sorted. count - 1
17
+
18
+ while left < right {
19
+ let threeSum = element + sorted[ left] + sorted[ right]
20
+ if threeSum > 0 {
21
+ right -= 1
22
+ continue
23
+ }
24
+ if threeSum < 0 {
25
+ left += 1
26
+ continue
27
+ }
28
+
29
+ result. append ( [ element, sorted [ left] , sorted [ right] ] )
30
+ left += 1
31
+
32
+ while sorted [ left] == sorted [ left - 1 ] && left < right {
33
+ left += 1
34
+ }
35
+ }
36
+ }
37
+
38
+
39
+ return result
40
+ }
41
+ }
You can’t perform that action at this time.
0 commit comments