File tree 3 files changed +88
-0
lines changed
solution/0200-0299/0259.3Sum Smaller
3 files changed +88
-0
lines changed Original file line number Diff line number Diff line change @@ -83,6 +83,37 @@ class Solution {
83
83
}
84
84
```
85
85
86
+ ### ** JavaScript**
87
+
88
+ ``` js
89
+ /**
90
+ * @param {number[]} nums
91
+ * @param {number} target
92
+ * @return {number}
93
+ */
94
+ var threeSumSmaller = function (nums , target ) {
95
+ let len = nums .length ;
96
+ if (len < 3 ) return 0 ;
97
+ nums .sort ((a , b ) => a - b)
98
+ let res = 0 ;
99
+ for (let i = 0 ; i < len - 2 ; i++ ) {
100
+ let left = i + 1 , right = len - 1 ;
101
+ if (nums[i] + nums[left] + nums[i + 2 ] >= target) break ;
102
+ while (left < right) {
103
+ if (nums[i] + nums[left] + nums[right] < target) {
104
+ res += (right - left);
105
+ left++ ;
106
+ continue ;
107
+ } else {
108
+ right-- ;
109
+ continue ;
110
+ }
111
+ }
112
+ }
113
+ return res;
114
+ };
115
+ ```
116
+
86
117
### ** ...**
87
118
88
119
```
Original file line number Diff line number Diff line change @@ -99,6 +99,37 @@ class Solution {
99
99
}
100
100
```
101
101
102
+ ### ** JavaScript**
103
+
104
+ ``` js
105
+ /**
106
+ * @param {number[]} nums
107
+ * @param {number} target
108
+ * @return {number}
109
+ */
110
+ var threeSumSmaller = function (nums , target ) {
111
+ let len = nums .length ;
112
+ if (len < 3 ) return 0 ;
113
+ nums .sort ((a , b ) => a - b)
114
+ let res = 0 ;
115
+ for (let i = 0 ; i < len - 2 ; i++ ) {
116
+ let left = i + 1 , right = len - 1 ;
117
+ if (nums[i] + nums[left] + nums[i + 2 ] >= target) break ;
118
+ while (left < right) {
119
+ if (nums[i] + nums[left] + nums[right] < target) {
120
+ res += (right - left);
121
+ left++ ;
122
+ continue ;
123
+ } else {
124
+ right-- ;
125
+ continue ;
126
+ }
127
+ }
128
+ }
129
+ return res;
130
+ };
131
+ ```
132
+
102
133
### ** ...**
103
134
104
135
```
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number[] } nums
3
+ * @param {number } target
4
+ * @return {number }
5
+ */
6
+ var threeSumSmaller = function ( nums , target ) {
7
+ let len = nums . length ;
8
+ if ( len < 3 ) return 0 ;
9
+ nums . sort ( ( a , b ) => a - b )
10
+ let res = 0 ;
11
+ for ( let i = 0 ; i < len - 2 ; i ++ ) {
12
+ let left = i + 1 , right = len - 1 ;
13
+ if ( nums [ i ] + nums [ left ] + nums [ i + 2 ] >= target ) break ;
14
+ while ( left < right ) {
15
+ if ( nums [ i ] + nums [ left ] + nums [ right ] < target ) {
16
+ res += ( right - left ) ;
17
+ left ++ ;
18
+ continue ;
19
+ } else {
20
+ right -- ;
21
+ continue ;
22
+ }
23
+ }
24
+ }
25
+ return res ;
26
+ } ;
You can’t perform that action at this time.
0 commit comments