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 24d0ef3

Browse files
TemitopeAgbajeignacio-chiazzo
authored andcommitted
Add another method to 2sum Problem
1 parent 72e95a8 commit 24d0ef3

File tree

7 files changed

+61
-46
lines changed

7 files changed

+61
-46
lines changed

‎LeetcodeProblems/Algorithms/2Sum.js‎

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,26 @@ Output: [0,1]
2828
* @param {number} target
2929
* @return {number[]}
3030
*/
31-
var twoSum = function(nums, target) {
32-
let map ={};
33-
for(let i=0;i<nums.length;i++){
34-
const sum = target-nums[i];
35-
if(map[parseInt(sum)] != 0){
36-
return [map[sum], i];
37-
} else{
38-
map[nums[i]] = i;
31+
var twoSum = function (nums, target) {
32+
let map = {};
33+
for (let i = 0; i < nums.length; i++) {
34+
const sum = target - nums[i];
35+
if (map[parseInt(sum)] != 0) {
36+
return [map[sum], i];
37+
} else {
38+
map[nums[i]] = i;
39+
}
40+
}
41+
42+
//Another method
43+
44+
for (let i = 0; i < nums.length; i++) {
45+
for (let j = i + 1; j < nums.length; i++) {
46+
if (nums[1] + nums[j] === target) {
47+
return [i, j];
3948
}
49+
}
4050
}
4151
};
4252

43-
module.exports.twoSum = twoSum;
53+
module.exports.twoSum = twoSum;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
const assert = require('assert');
2-
const twoSum = require('../../LeetcodeProblems/Algorithms/2Sum').twoSum;
1+
const assert = require("assert");
2+
const twoSum = require("../../LeetcodeProblems/Algorithms/2Sum").twoSum;
33

44
var test = function () {
55
assert.deepEqual([0,1], twoSum([2,7,11,15], 9));
66
assert.deepEqual([1,2], twoSum([3,2,4], 6));
77
assert.deepEqual([0,1], twoSum([3,3], 6));
8-
}
8+
};
99

1010
module.exports.test = test;
1111

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
const assert = require('assert');
2-
const threeSumClosest = require('../../LeetcodeProblems/Algorithms/3SumClosest').threeSumClosest;
1+
const assert = require("assert");
2+
const threeSumClosest =
3+
require("../../LeetcodeProblems/Algorithms/3SumClosest").threeSumClosest;
34

45
var test = function () {
5-
assert.equal(2, threeSumClosest([-1, 2, 1, -4], 1));
6+
assert.equal(2, threeSumClosest([-1, 2, 1, -4], 1));
67
assert.equal(0, threeSumClosest([0, 0, 0], 1));
7-
8-
}
8+
};
99

1010
module.exports.test = test;
Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
1-
const assert = require('assert');
2-
const threeSum = require('../../LeetcodeProblems/Algorithms/3Sum').threeSum;
1+
const assert = require("assert");
2+
const threeSum = require("../../LeetcodeProblems/Algorithms/3Sum").threeSum;
33

44
var test = function () {
55
assert.deepEqual(threeSum([]), []);
66
assert.deepEqual(threeSum([0]), []);
77
assert.deepEqual(threeSum([0, 0]), []);
8+
assert.deepEqual(threeSum([0, 0, 0]), [[0, 0, 0]]);
89
assert.deepEqual(
9-
threeSum([0, 0, 0]),
10+
threeSum([0, 0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),
1011
[[0, 0, 0]]
1112
);
12-
assert.deepEqual(
13-
threeSum([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),
14-
[[0, 0, 0]]
15-
);
16-
assert.deepEqual(
17-
threeSum([-1, 0, 1, 2, -1, -4]),
18-
[ [ -1, 2, -1 ], [ 0, 1, -1 ] ]
19-
);
20-
}
13+
assert.deepEqual(threeSum([-1, 0, 1, 2, -1, -4]), [
14+
[-1, 2, -1],
15+
[0, 1, -1],
16+
]);
17+
};
2118

2219
module.exports.test = test;

‎LeetcodeProblemsTests/Algorithms/Add_Two_Numbers_Test.js‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
const assert = require('assert');
2-
const addTwoNumbers = require('../../LeetcodeProblems/Algorithms/Add_Two_Numbers').addTwoNumbers;
3-
const ListNodeTestHelper = require('../../UtilsClasses/ListNodeTestHelper');
4-
var ListNode = require('../../UtilsClasses/ListNode').ListNode;
1+
const addTwoNumbers = require("../../LeetcodeProblems/Algorithms/Add_Two_Numbers").addTwoNumbers;
2+
const ListNodeTestHelper = require("../../UtilsClasses/ListNodeTestHelper");
3+
var ListNode = require("../../UtilsClasses/ListNode").ListNode;
54

65
function test() {
76
const list1 = ListNode.linkenList([1,2,3,4]);

‎LeetcodeProblemsTests/Algorithms/Award_Budget_Cuts_Test.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
const assert = require('assert');
2-
const cutAwardBadges = require('../../LeetcodeProblems/Algorithms/Award_Budget_Cuts').cutAwardBadges;
1+
const assert = require("assert");
2+
const cutAwardBadges = require("../../LeetcodeProblems/Algorithms/Award_Budget_Cuts").cutAwardBadges;
33

44
function test() {
55
assert.deepEqual(

‎Test.js‎

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,47 @@
1-
const fs = require('fs');
1+
/* eslint-disable no-useless-escape */
2+
/* eslint-disable no-undef */
3+
const fs = require("fs");
24

3-
const TESTS_FOLDER = './LeetcodeProblemsTests/Algorithms/';
5+
const TESTS_FOLDER = "./LeetcodeProblemsTests/Algorithms/";
46
const REGEX_PATTERN_HIDDEN_FILES = /(^|\/)\.[^\/\.]/g;
57

6-
var test_all = async function() {
8+
var test_all = async function() {
79
try {
810
const problems = await loadProblems();
9-
for(i in problems) {
11+
for(i in problems) {
1012
console.log("Solving: " + problems[i]);
1113
const problem = require(TESTS_FOLDER + problems[i]);
1214

13-
if (typeof(problem.test) !=='undefined') {
15+
if (typeofproblem.test !=="undefined") {
1416
problem.test();
1517
console.log("✅ Tests for " + problems[i] + " run successfully \n");
1618
} else {
17-
console.warn(problem, "🔴 The problem " + problems[i] + " doesn't have a test method implemented.\n");
18-
}
19+
console.warn(
20+
problem,
21+
"🔴 The problem " +
22+
problems[i] +
23+
" doesn't have a test method implemented.\n"
24+
);
25+
}
1926
}
2027
} catch (error) {
2128
throw new Error(error);
2229
}
23-
}
30+
};
2431

2532
var loadProblems = () => {
2633
return new Promise(function (resolve, reject) {
2734
fs.readdir(TESTS_FOLDER, (error, files) => {
2835
if (error) {
2936
reject(error);
3037
} else {
31-
problems = files.filter(item => !(REGEX_PATTERN_HIDDEN_FILES).test(item));
38+
problems = files.filter(
39+
(item) => !REGEX_PATTERN_HIDDEN_FILES.test(item)
40+
);
3241
resolve(problems);
3342
}
34-
})
43+
});
3544
});
36-
}
45+
};
3746

3847
test_all();

0 commit comments

Comments
(0)

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