1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-26 02:00:27 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/从栈中取出 K 个硬币的最大面值和 [maximum-value-of-k-coins-from-piles].html

40 lines
1.7 KiB
HTML
Raw Normal View History

2022-03-27 20:37:52 +08:00
<p>一张桌子上总共有 <code>n</code>&nbsp;个硬币 <b></b>&nbsp;。每个栈有 <strong>正整数</strong>&nbsp;个带面值的硬币。</p>
<p>每一次操作中,你可以从任意一个栈的 <strong>顶部</strong>&nbsp;取出 1 个硬币,从栈中移除它,并放入你的钱包里。</p>
<p>给你一个列表&nbsp;<code>piles</code>&nbsp;,其中&nbsp;<code>piles[i]</code>&nbsp;是一个整数数组,分别表示第 <code>i</code>&nbsp;个栈里 <strong>从顶到底</strong>&nbsp;的硬币面值。同时给你一个正整数&nbsp;<code>k</code>&nbsp;,请你返回在&nbsp;<strong>恰好</strong>&nbsp;进行&nbsp;<code>k</code>&nbsp;次操作的前提下,你钱包里硬币面值之和&nbsp;<strong>最大为多少</strong>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<p><img alt="" src="https://assets.leetcode.com/uploads/2019/11/09/e1.png" style="width: 600px; height: 243px;" /></p>
<pre>
<b>输入:</b>piles = [[1,100,3],[7,8,9]], k = 2
<b>输出:</b>101
<strong>解释:</strong>
上图展示了几种选择 k 个硬币的不同方法。
我们可以得到的最大面值为 101 。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<b>输入:</b>piles = [[100],[100],[100],[100],[100],[100],[1,1,1,1,1,1,700]], k = 7
<b>输出:</b>706
<strong>解释:
</strong>如果我们所有硬币都从最后一个栈中取,可以得到最大面值和。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>n == piles.length</code></li>
<li><code>1 &lt;= n &lt;= 1000</code></li>
<li><code>1 &lt;= piles[i][j] &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= k &lt;= sum(piles[i].length) &lt;= 2000</code></li>
</ul>