Skip to content

Commit 0f83fb5

Browse files
authored
feat: Add javascript Solution2 for 1 (fishercoder1534#89)
* feat: Add javascript Solution2 for 1 * refactor 1 * refactor 1 * refactor 1 * fix: keep the original method var name and wrap Solution* around it
1 parent d777bf1 commit 0f83fb5

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

javascript/_1.js

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
11
// Two sum
2-
3-
var twoSum = function (nums, target) {
4-
var sum = {}
5-
for (var i = 0; i < nums.length; i++) {
6-
if (!Object.prototype.hasOwnProperty.call(sum, (target - nums[i]))) {
7-
sum[nums[i]] = i
8-
} else {
9-
return [i, sum[target - nums[i]]]
2+
var twoSum = {
3+
Solution1: function (nums, target) {
4+
var sum = {}
5+
for (var i = 0; i < nums.length; i++) {
6+
if (!Object.prototype.hasOwnProperty.call(sum, (target - nums[i]))) {
7+
sum[nums[i]] = i
8+
} else {
9+
return [i, sum[target - nums[i]]]
10+
}
11+
}
12+
},
13+
Solution2: function (nums, target) {
14+
var p1 = 0
15+
var p2 = nums.length - 1
16+
while (p1 < p2) {
17+
if (nums[p1] + nums[p2] < target) {
18+
p1 += 1
19+
} else if (nums[p1] + nums[p2] > target) {
20+
p2 -= 1
21+
} else {
22+
return [p1, p2]
23+
}
1024
}
1125
}
1226
}
1327

14-
console.log(twoSum([2, 7, 11, 15], 9))
28+
console.log(twoSum.Solution1([2, 7, 11, 15], 9))
29+
console.log(twoSum.Solution2([2, 7, 11, 15], 9))

0 commit comments

Comments
 (0)