1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/可获得的最大点数 [maximum-points-you-can-obtain-from-cards].html
2022-03-29 12:43:11 +08:00

54 lines
1.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>几张卡牌<strong> 排成一行</strong>,每张卡牌都有一个对应的点数。点数由整数数组 <code>cardPoints</code> 给出。</p>
<p>每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 <code>k</code> 张卡牌。</p>
<p>你的点数就是你拿到手中的所有卡牌的点数之和。</p>
<p>给你一个整数数组 <code>cardPoints</code> 和整数 <code>k</code>,请你返回可以获得的最大点数。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><strong>输入:</strong>cardPoints = [1,2,3,4,5,6,1], k = 3
<strong>输出:</strong>12
<strong>解释:</strong>第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右边的卡牌将会最大化你的可获得点数。最优策略是拿右边的三张牌,最终点数为 1 + 6 + 5 = 12 。
</pre>
<p><strong>示例 2</strong></p>
<pre><strong>输入:</strong>cardPoints = [2,2,2], k = 2
<strong>输出:</strong>4
<strong>解释:</strong>无论你拿起哪两张卡牌,可获得的点数总是 4 。
</pre>
<p><strong>示例 3</strong></p>
<pre><strong>输入:</strong>cardPoints = [9,7,7,9,7,7,9], k = 7
<strong>输出:</strong>55
<strong>解释:</strong>你必须拿起所有卡牌,可以获得的点数为所有卡牌的点数之和。
</pre>
<p><strong>示例 4</strong></p>
<pre><strong>输入:</strong>cardPoints = [1,1000,1], k = 1
<strong>输出:</strong>1
<strong>解释:</strong>你无法拿到中间那张卡牌,所以可以获得的最大点数为 1 。
</pre>
<p><strong>示例 5</strong></p>
<pre><strong>输入:</strong>cardPoints = [1,79,80,1,1,1,200,1], k = 3
<strong>输出:</strong>202
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= cardPoints.length &lt;= 10^5</code></li>
<li><code>1 &lt;= cardPoints[i] &lt;= 10^4</code></li>
<li><code>1 &lt;= k &lt;= cardPoints.length</code></li>
</ul>