Skip to content

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

+19-9
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;
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

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;
+9-12
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

+3-4
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

+2-2
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

+20-11
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 (typeof problem.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)