leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
2218.cpp (540B)
0 class Solution {
1 int dp[1001][2001] = {0};
3 public:
4 int maxValueOfCoins(const vector<vector<int>> &piles, int left, int pile = 0) {
5 if (!left || pile >= piles.size()) return 0;
6 if (dp[pile][left]) return dp[pile][left];
8 int res = maxValueOfCoins(piles, left, pile + 1), sum = 0;
9 for (int i = 0; i < piles[pile].size() && i < left; i++) {
10 res = max(res, (sum += piles[pile][i]) + maxValueOfCoins(piles, left - i - 1, pile + 1));
11 }
13 return dp[pile][left] = res;
14 }
15 };