Skip to content

Commit 4b3a66e

Browse files
committed
Add js solution to leetcode problem: no.259
1 parent 8d543e3 commit 4b3a66e

File tree

3 files changed

+88
-0
lines changed

3 files changed

+88
-0
lines changed

solution/0200-0299/0259.3Sum Smaller/README.md

+31
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,37 @@ class Solution {
8383
}
8484
```
8585

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+
86117
### **...**
87118

88119
```

solution/0200-0299/0259.3Sum Smaller/README_EN.md

+31
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,37 @@ class Solution {
9999
}
100100
```
101101

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+
102133
### **...**
103134

104135
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
};

0 commit comments

Comments
 (0)