Maximum Value of K Coins From Piles LeetCode solution in JavaScript

1
/**
2
* @param {number[][]} piles
3
* @param {number} k
4
* @return {number}
5
*/
6
var maxValueOfCoins = function (piles, k) {
7
var n = piles.length;
8
var cache = {};
9

10
var getMax = function (i, k) {
11
if (i >= n || k <= 0) return 0;
12
var key = i + "," + k;
13
if (cache[key] !== undefined) return cache[key];
14
var ans = getMax(i + 1, k);
15
var cur = 0;
16

17
for (var j = 0; j < piles[i].length && j < k; j++) {
18
cur += piles[i][j];
19
ans = Math.max(ans, cur + getMax(i + 1, k - j - 1));
20
}
21

22
return (cache[key] = ans);
23
};
24

25
return getMax(0, k);
26
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0