Skip to content

Commit 1253176

Browse files
freecodecamp problem #1 solved with brute force
1 parent 8e1a2be commit 1253176

File tree

3 files changed

+86
-15
lines changed

3 files changed

+86
-15
lines changed

Search algorithms/sumTwoNumbers.test.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
const searchNumbers = require("../Search algorithms/sumTwoNumbers.js");
1+
// const searchNumbers = require("../Search algorithms/sumTwoNumbers.js");
22

3-
test("Test #1", () => {
4-
expect(searchNumbers([-3, 4, 3, 90], 0)).toStrictEqual([0, 2]);
5-
});
3+
// test("Test #1", () => {
4+
// expect(searchNumbers([-3, 4, 3, 90], 0)).toStrictEqual([0, 2]);
5+
// });
66

7-
test("Test #2", () => {
8-
expect(searchNumbers([2, 7, 11, 15], 9)).toStrictEqual([0, 1]);
9-
});
7+
// test("Test #2", () => {
8+
// expect(searchNumbers([2, 7, 11, 15], 9)).toStrictEqual([0, 1]);
9+
// });
1010

11-
test("Test #3", () => {
12-
expect(searchNumbers([3, 2, 4], 6)).toStrictEqual([1, 2]);
13-
});
11+
// test("Test #3", () => {
12+
// expect(searchNumbers([3, 2, 4], 6)).toStrictEqual([1, 2]);
13+
// });
1414

15-
test("Test #4", () => {
16-
expect(searchNumbers([3, 3], 6)).toStrictEqual([0, 1]);
17-
});
15+
// test("Test #4", () => {
16+
// expect(searchNumbers([3, 3], 6)).toStrictEqual([0, 1]);
17+
// });
1818

1919
// const arr = [-3, 4, 3, 90]; target = 0;
2020

freecodecamp/chunkArrayInGroups.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
11
function chunkArrayInGroups(arr, size) {
2-
return arr;
2+
//Brute force solution...
3+
const subArrays = [];
4+
5+
while (arr.length > 0) {
6+
// 0(n)
7+
const subArr = arr.splice(0, size); // splice method is 0(n)
8+
if (subArr.length !== 0) {
9+
subArrays[subArrays.length] = subArr;
10+
}
11+
}
12+
return subArrays;
313
}
4-
chunkArrayInGroups(["a", "b", "c", "d"], 2);
14+
15+
//Therefore, this algorithm is 0(n2)
16+
17+
console.log(chunkArrayInGroups(["a", "b", "c", "d"], 2));
18+
19+
module.exports = chunkArrayInGroups;
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
const chunkArrayInGroups = require("../freecodecamp/chunkArrayInGroups.js");
2+
3+
test("Test #1", () => {
4+
expect(chunkArrayInGroups(["a", "b", "c", "d"], 2)).toStrictEqual([
5+
["a", "b"],
6+
["c", "d"],
7+
]);
8+
});
9+
10+
test("Test #2", () => {
11+
expect(chunkArrayInGroups([0, 1, 2, 3, 4, 5], 3)).toStrictEqual([
12+
[0, 1, 2],
13+
[3, 4, 5],
14+
]);
15+
});
16+
17+
test("Test #3", () => {
18+
expect(chunkArrayInGroups([0, 1, 2, 3, 4, 5], 2)).toStrictEqual([
19+
[0, 1],
20+
[2, 3],
21+
[4, 5],
22+
]);
23+
});
24+
25+
test("Test #4", () => {
26+
expect(chunkArrayInGroups([0, 1, 2, 3, 4, 5], 4)).toStrictEqual([
27+
[0, 1, 2, 3],
28+
[4, 5],
29+
]);
30+
});
31+
32+
test("Test #5", () => {
33+
expect(chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6], 3)).toStrictEqual([
34+
[0, 1, 2],
35+
[3, 4, 5],
36+
[6],
37+
]);
38+
});
39+
40+
test("Test #6", () => {
41+
expect(chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 2)).toStrictEqual([
42+
[0, 1],
43+
[2, 3],
44+
[4, 5],
45+
[6, 7],
46+
[8],
47+
]);
48+
});
49+
50+
test("Test #7", () => {
51+
expect(chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 4)).toStrictEqual([
52+
[0, 1, 2, 3],
53+
[4, 5, 6, 7],
54+
[8],
55+
]);
56+
});

0 commit comments

Comments
 (0)