Maximum Value of K Coins From Piles LeetCode solution in Python
1class Solution:2def maxValueOfCoins(self, piles: List[List[int]], k: int) -> int:3n = len(piles)4prefixSum = []5for i in range(n):6temp = [0]7for j in range(len(piles[i])):8temp.append(temp[-1] + piles[i][j])9prefixSum.append(temp)1011dp = [[0] * (k + 1) for _ in range(n)]12for j in range(1, k + 1):13if j < len(prefixSum[0]):14dp[0][j] = prefixSum[0][j]1516for i in range(1, n):17for j in range(1, k + 1):18for l in range(len(prefixSum[i])):19if l > j:20break21dp[i][j] = max(dp[i][j], prefixSum[i][l] + dp[i - 1][j - l])22return dp[n - 1][k]