mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
51 lines
2.2 KiB
HTML
51 lines
2.2 KiB
HTML
<p>一家商店正在打折销售糖果。每购买 <strong>两个</strong> 糖果,商店会 <strong>免费</strong> 送一个糖果。</p>
|
||
|
||
<p>免费送的糖果唯一的限制是:它的价格需要小于等于购买的两个糖果价格的 <strong>较小值</strong> 。</p>
|
||
|
||
<ul>
|
||
<li>比方说,总共有 <code>4</code> 个糖果,价格分别为 <code>1</code> ,<code>2</code> ,<code>3</code> 和 <code>4</code> ,一位顾客买了价格为 <code>2</code> 和 <code>3</code> 的糖果,那么他可以免费获得价格为 <code>1</code> 的糖果,但不能获得价格为 <code>4</code> 的糖果。</li>
|
||
</ul>
|
||
|
||
<p>给你一个下标从 <strong>0</strong> 开始的整数数组 <code>cost</code> ,其中 <code>cost[i]</code> 表示第 <code>i</code> 个糖果的价格,请你返回获得 <strong>所有</strong> 糖果的 <strong>最小</strong> 总开销。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre><b>输入:</b>cost = [1,2,3]
|
||
<b>输出:</b>5
|
||
<b>解释:</b>我们购买价格为 2 和 3 的糖果,然后免费获得价格为 1 的糖果。
|
||
总开销为 2 + 3 = 5 。这是开销最小的 <strong>唯一</strong> 方案。
|
||
注意,我们不能购买价格为 1 和 3 的糖果,并免费获得价格为 2 的糖果。
|
||
这是因为免费糖果的价格必须小于等于购买的 2 个糖果价格的较小值。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre><b>输入:</b>cost = [6,5,7,9,2,2]
|
||
<b>输出:</b>23
|
||
<b>解释:</b>最小总开销购买糖果方案为:
|
||
- 购买价格为 9 和 7 的糖果
|
||
- 免费获得价格为 6 的糖果
|
||
- 购买价格为 5 和 2 的糖果
|
||
- 免费获得价格为 2 的最后一个糖果
|
||
因此,最小总开销为 9 + 7 + 5 + 2 = 23 。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre><b>输入:</b>cost = [5,5]
|
||
<b>输出:</b>10
|
||
<b>解释:</b>由于只有 2 个糖果,我们需要将它们都购买,而且没有免费糖果。
|
||
所以总最小开销为 5 + 5 = 10 。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= cost.length <= 100</code></li>
|
||
<li><code>1 <= cost[i] <= 100</code></li>
|
||
</ul>
|