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)/大礼包 [shopping-offers].html
2022-03-29 12:43:11 +08:00

45 lines
2.5 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>在 LeetCode 商店中, 有 <code>n</code> 件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。</p>
<p>给你一个整数数组 <code>price</code> 表示物品价格,其中 <code>price[i]</code> 是第 <code>i</code> 件物品的价格。另有一个整数数组 <code>needs</code> 表示购物清单,其中 <code>needs[i]</code> 是需要购买第 <code>i</code> 件物品的数量。</p>
<p>还有一个数组 <code>special</code> 表示大礼包,<code>special[i]</code> 的长度为 <code>n + 1</code> ,其中 <code>special[i][j]</code> 表示第 <code>i</code> 个大礼包中内含第 <code>j</code> 件物品的数量,且 <code>special[i][n]</code> (也就是数组中的最后一个整数)为第 <code>i</code> 个大礼包的价格。</p>
<p>返回<strong> 确切 </strong>满足购物清单所需花费的最低价格,你可以充分利用大礼包的优惠活动。你不能购买超出购物清单指定数量的物品,即使那样会降低整体价格。任意大礼包可无限次购买。</p>
<p> </p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>price = [2,5], special = [[3,0,5],[1,2,10]], needs = [3,2]
<strong>输出:</strong>14
<strong>解释:</strong>有 A 和 B 两种物品,价格分别为 ¥2 和 ¥5 。
大礼包 1 ,你可以以 ¥5 的价格购买 3A 和 0B 。
大礼包 2 ,你可以以 ¥10 的价格购买 1A 和 2B 。
需要购买 3 个 A 和 2 个 B 所以付 ¥10 购买 1A 和 2B大礼包 2以及 ¥4 购买 2A 。</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>price = [2,3,4], special = [[1,1,0,4],[2,2,1,9]], needs = [1,2,1]
<strong>输出:</strong>11
<strong>解释:</strong>A B C 的价格分别为 ¥2 ¥3 ¥4 。
可以用 ¥4 购买 1A 和 1B ,也可以用 ¥9 购买 2A 2B 和 1C 。
需要买 1A 2B 和 1C ,所以付 ¥4 买 1A 和 1B大礼包 1以及 ¥3 购买 1B ¥4 购买 1C 。
不可以购买超出待购清单的物品,尽管购买大礼包 2 更加便宜。</pre>
<p> </p>
<p><strong>提示:</strong></p>
<ul>
<li><code>n == price.length</code></li>
<li><code>n == needs.length</code></li>
<li><code>1 <= n <= 6</code></li>
<li><code>0 <= price[i] <= 10</code></li>
<li><code>0 <= needs[i] <= 10</code></li>
<li><code>1 <= special.length <= 100</code></li>
<li><code>special[i].length == n + 1</code></li>
<li><code>0 <= special[i][j] <= 50</code></li>
</ul>