Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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‎

Lines changed: 31 additions & 0 deletions
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‎

Lines changed: 31 additions & 0 deletions
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
```
Lines changed: 26 additions & 0 deletions
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)

AltStyle によって変換されたページ (->オリジナル) /