K Divisible Elements Subarrays LeetCode solution in JavaScript
1var countDistinct = function (nums, k, p) {2let ans = [];34let rec = (index, k, p, nums, ans, curr) => {5let val = nums[index];6let check = val % p;7let isdiv = false;8if (check == 0) isdiv = true;910if (index == nums.length) {11if (curr.length > 0) {12ans.push(curr.join(","));13}14return;15}1617//take conditions18if (isdiv && k == 0) {19ans.push(curr.join(","));20} else if (isdiv) {21curr.push(val);22rec(index + 1, k - 1, p, nums, ans, curr);23curr.pop();24} else {25curr.push(val);26rec(index + 1, k, p, nums, ans, curr);27curr.pop();28}2930//non take conditions31if (curr.length == 0) {32rec(index + 1, k, p, nums, ans, curr);33} else {34ans.push(curr.join(","));35}36};37rec(0, k, p, nums, ans, []);38let set = new Set(ans);3940return set.size;41};