1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/两个线段获得的最多奖品 [maximize-win-from-two-segments].html

39 lines
1.9 KiB
HTML
Raw Normal View History

2023-02-11 23:56:20 +08:00
<p><strong>X轴</strong>&nbsp;上有一些奖品。给你一个整数数组&nbsp;<code>prizePositions</code>&nbsp;,它按照 <strong>非递减</strong>&nbsp;顺序排列,其中&nbsp;<code>prizePositions[i]</code>&nbsp;是第&nbsp;<code>i</code>&nbsp;件奖品的位置。数轴上一个位置可能会有多件奖品。再给你一个整数&nbsp;<code>k</code>&nbsp;</p>
<p>你可以选择两个端点为整数的线段。每个线段的长度都必须是 <code>k</code>&nbsp;。你可以获得位置在任一线段上的所有奖品(包括线段的两个端点)。注意,两个线段可能会有相交。</p>
<ul>
<li>比方说&nbsp;<code>k = 2</code>&nbsp;,你可以选择线段&nbsp;<code>[1, 3]</code>&nbsp;<code>[2, 4]</code>&nbsp;,你可以获得满足&nbsp;<code>1 &lt;= prizePositions[i] &lt;= 3</code> 或者&nbsp;<code>2 &lt;= prizePositions[i] &lt;= 4</code>&nbsp;的所有奖品 i 。</li>
</ul>
<p>请你返回在选择两个最优线段的前提下,可以获得的 <strong>最多</strong>&nbsp;奖品数目。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<b>输入:</b>prizePositions = [1,1,2,2,3,3,5], k = 2
<b>输出:</b>7
<b>解释:</b>这个例子中,你可以选择线段 [1, 3] 和 [3, 5] ,获得 7 个奖品。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<b>输入:</b>prizePositions = [1,2,3,4], k = 0
<b>输出:</b>2
<b>解释:</b>这个例子中,一个选择是选择线段 <code>[3, 3]</code><code>[4, 4] ,获得 2 个奖品。</code>
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= prizePositions.length &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= prizePositions[i] &lt;= 10<sup>9</sup></code></li>
<li><code>0 &lt;= k &lt;= 10<sup>9</sup> </code></li>
<li><code>prizePositions</code>&nbsp;有序非递减。</li>
</ul>