Kata issue: https://www.codewars.com/kata/5d653190d94b3b0021ec8f2b/discuss#5f7dc7dd51f6bc00336ea781
I get max call stack for this solution:
function productSum(a, m) {
return calc(a, m, 0, 0, 1) % (1e9 + 7);
}
function calc(arr, k, i, subArrLen, subMul) {
if (subArrLen === k) {
return subMul;
}
if (i >= arr.length) {
return 0;
}
return calc(arr, k, i + 1, subArrLen + 1, subMul * arr[i]) +
calc(arr, k, i + 1, subArrLen, subMul);
}
Output:
Random tests
Test
RangeError: Maximum call stack size exceeded
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
at calc
Completed in 64ms
Completed in 64ms