-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsubarrayAndSum.js
More file actions
49 lines (42 loc) · 1.2 KB
/
Copy pathsubarrayAndSum.js
File metadata and controls
49 lines (42 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Question Link
// https://pdfhost.io/v/KoEsKwi5Q_subarrayAndSumpdf.pdf
function subarrayAndSum(array, k) {
var objOfSubArray = {};
let sum = 0;
let subArray = [];
for (let i = 0; i < array.length; i++) {
sum = 0;
subArray = [];
for (let j = i; j < array.length; j++) {
sum += array[j];
subArray.push(array[j]);
if (sum % k !== 0) {
if (objOfSubArray[subArray.length] == undefined) {
objOfSubArray[subArray.length] = 1;
} else {
objOfSubArray[subArray.length]++;
}
}
}
}
var resultArray = [];
for (key in objOfSubArray) {
resultArray.push(objOfSubArray[key]);
}
for (let i = resultArray.length - 1; i >= 0; i--) {
if (resultArray[i] > 0) {
return resultArray[i];
}
}
return 0;
}
function runProgram(input) {
let newInput = input.split("\n");
let nk = newInput[0].trim().split(" ").map(Number);
let k = nk[1];
let array = newInput[1].trim().split(" ").map(Number);
console.log(subarrayAndSum(array, k));
}
var input = `4 3
2 3 4 6`;
runProgram(input);