java.lang.Object
g2201_2300.s2218_maximum_value_of_k_coins_from_piles.Solution

public class Solution extends Object
2218 - Maximum Value of K Coins From Piles.

Hard

There are n piles of coins on a table. Each pile consists of a positive number of coins of assorted denominations.

In one move, you can choose any coin on top of any pile, remove it, and add it to your wallet.

Given a list piles, where piles[i] is a list of integers denoting the composition of the ith pile from top to bottom , and a positive integer k, return the maximum total value of coins you can have in your wallet if you choose exactly k coins optimally.

Example 1:

Input: piles = [[1,100,3],[7,8,9]], k = 2

Output: 101

Explanation: The above diagram shows the different ways we can choose k coins.

The maximum total we can obtain is 101.

Example 2:

Input: piles = [[100],[100],[100],[100],[100],[100],[1,1,1,1,1,1,700]], k = 7

Output: 706

Explanation: The maximum total can be obtained if we choose all coins from the last pile.

Constraints:

  • n == piles.length
  • 1 <= n <= 1000
  • 1 <= piles[i][j] <= 105
  • 1 <= k <= sum(piles[i].length) <= 2000
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • maxValueOfCoins

      public int maxValueOfCoins(List<List<Integer>> piles, int k)