Skip to content

Commit 5d9c185

Browse files
committed
12.20
1 parent aeeee65 commit 5d9c185

File tree

3 files changed

+43
-10
lines changed

3 files changed

+43
-10
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
|13|[Roman to Integer](https://leetcode.com/problems/roman-to-integer/)| [JavaScript](./algorithms/Roman to Integer.js)|Easy|
1818
|14|[Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/)| [JavaScript](./algorithms/Longest Common Prefix.js)|Easy|
1919
|15|[3Sum](https://leetcode.com/problems/3sum/)| [JavaScript](./algorithms/3Sum.js)|Medium|
20+
|16|[3Sum Closest](https://leetcode.com/problems/3sum-closest/)| [JavaScript](./algorithms/3Sum Closest.js)|Medium|
2021
|371|[Sum of Two Integers](https://leetcode.com/problems/sum-of-two-integers/)| [JavaScript](./algorithms/Sum of Two Integers.js)|Easy|
2122
|372|[Super Pow](https://leetcode.com/problems/super-pow/)| [JavaScript](./algorithms/SuperPow.js)|Medium|
2223

algorithms/3Sum Closest.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number}
5+
*/
6+
var threeSumClosest = function(nums, target) {
7+
nums.sort(function(a,b){
8+
return a-b;
9+
})
10+
var result=null,len=nums.length;
11+
for(var i=0;i<len;i++){
12+
if (nums[i]===nums[i-1]){
13+
continue;
14+
}
15+
var low=i+1,high=len-1;
16+
while(low<high){
17+
var sum=nums[low]+nums[high]+nums[i];
18+
if(sum===target){
19+
return target;
20+
}
21+
else if(sum<target){
22+
low++;
23+
}
24+
else{
25+
high--;
26+
}
27+
if(result ===null || Math.abs(sum-target)<Math.abs(result-target)){
28+
result=sum;
29+
}
30+
}
31+
}
32+
return result;
33+
};

algorithms/TwoSum.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@
44
* @return {number[]}
55
*/
66
var twoSum = function(nums, target) {
7-
var newArray=[];
8-
var l=nums.length
9-
for(var i=0;i<l;i++){
10-
for(var j=i+1;j<l;j++){
11-
if(nums[i]+nums[j]===target){
12-
newArray.push(i,j);
13-
return newArray;
14-
}
15-
}
7+
var temp = [];
8+
for (var i = 0; i < nums.length; i++) {
9+
if (temp[target - nums[i]] !== undefined) {
10+
return [temp[target - nums[i]], i];
11+
}
12+
if (!temp[nums[i]]) {
13+
temp[nums[i]] = i;
14+
}
1615
}
17-
};
16+
};

0 commit comments

Comments
 (0)