File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number[] } nums
3
+ * @return {number[][] }
4
+ */
5
+ var threeSum = function ( nums ) {
6
+ // ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
7
+ nums . sort ( ( a , b ) => a - b ) ;
8
+ const result = [ ] ;
9
+
10
+ for ( let i = 0 ; i < nums . length - 2 ; i ++ ) {
11
+ // ์ค๋ณต๋ ์ซ์๋ ์คํต
12
+ if ( i > 0 && nums [ i ] === nums [ i - 1 ] ) continue ;
13
+
14
+ let left = i + 1 ;
15
+ let right = nums . length - 1 ;
16
+
17
+ while ( left < right ) {
18
+ const sum = nums [ i ] + nums [ left ] + nums [ right ] ;
19
+
20
+ if ( sum < 0 ) {
21
+ left ++ ;
22
+ } else if ( sum > 0 ) {
23
+ right -- ;
24
+ } else {
25
+ result . push ( [ nums [ i ] , nums [ left ] , nums [ right ] ] ) ;
26
+ // ์ค๋ณต๋ left,right ๊ฐ ์คํต
27
+ while ( left < right && nums [ left ] === nums [ left + 1 ] ) left ++ ;
28
+ while ( left < right && nums [ right ] === nums [ right - 1 ] ) right -- ;
29
+
30
+ left ++ ;
31
+ right -- ;
32
+ }
33
+ }
34
+ }
35
+ return result ;
36
+ } ;
You canโt perform that action at this time.
0 commit comments