K Divisible Elements Subarrays LeetCode solution in JavaScript

1
var countDistinct = function (nums, k, p) {
2
let ans = [];
3

4
let rec = (index, k, p, nums, ans, curr) => {
5
let val = nums[index];
6
let check = val % p;
7
let isdiv = false;
8
if (check == 0) isdiv = true;
9

10
if (index == nums.length) {
11
if (curr.length > 0) {
12
ans.push(curr.join(","));
13
}
14
return;
15
}
16

17
//take conditions
18
if (isdiv && k == 0) {
19
ans.push(curr.join(","));
20
} else if (isdiv) {
21
curr.push(val);
22
rec(index + 1, k - 1, p, nums, ans, curr);
23
curr.pop();
24
} else {
25
curr.push(val);
26
rec(index + 1, k, p, nums, ans, curr);
27
curr.pop();
28
}
29

30
//non take conditions
31
if (curr.length == 0) {
32
rec(index + 1, k, p, nums, ans, curr);
33
} else {
34
ans.push(curr.join(","));
35
}
36
};
37
rec(0, k, p, nums, ans, []);
38
let set = new Set(ans);
39

40
return set.size;
41
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0