1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 19:18:14 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/制作 m 束花所需的最少天数 [minimum-number-of-days-to-make-m-bouquets].html

65 lines
2.6 KiB
HTML
Raw Normal View History

2022-03-27 20:37:52 +08:00
<p>给你一个整数数组 <code>bloomDay</code>,以及两个整数 <code>m</code><code>k</code></p>
<p>现需要制作 <code>m</code> 束花。制作花束时,需要使用花园中 <strong>相邻的 <code>k</code> 朵花</strong></p>
<p>花园中有 <code>n</code> 朵花,第 <code>i</code> 朵花会在 <code>bloomDay[i]</code> 时盛开,<strong>恰好</strong> 可以用于 <strong>一束</strong> 花中。</p>
<p>请你返回从花园中摘 <code>m</code> 束花需要等待的最少的天数。如果不能摘到 <code>m</code> 束花则返回 <strong>-1</strong></p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><strong>输入:</strong>bloomDay = [1,10,3,10,2], m = 3, k = 1
<strong>输出:</strong>3
<strong>解释:</strong>让我们一起观察这三天的花开过程x 表示花开,而 _ 表示花还未开。
现在需要制作 3 束花,每束只需要 1 朵。
1 天后:[x, _, _, _, _] // 只能制作 1 束花
2 天后:[x, _, _, _, x] // 只能制作 2 束花
3 天后:[x, _, x, _, x] // 可以制作 3 束花,答案为 3
</pre>
<p><strong>示例 2</strong></p>
<pre><strong>输入:</strong>bloomDay = [1,10,3,10,2], m = 3, k = 2
<strong>输出:</strong>-1
<strong>解释:</strong>要制作 3 束花,每束需要 2 朵花,也就是一共需要 6 朵花。而花园中只有 5 朵花,无法满足制作要求,返回 -1 。
</pre>
<p><strong>示例 3</strong></p>
<pre><strong>输入:</strong>bloomDay = [7,7,7,7,12,7,7], m = 2, k = 3
<strong>输出:</strong>12
<strong>解释:</strong>要制作 2 束花,每束需要 3 朵。
花园在 7 天后和 12 天后的情况如下:
7 天后:[x, x, x, x, _, x, x]
可以用前 3 朵盛开的花制作第一束花。但不能使用后 3 朵盛开的花,因为它们不相邻。
12 天后:[x, x, x, x, x, x, x]
显然,我们可以用不同的方式制作两束花。
</pre>
<p><strong>示例 4</strong></p>
<pre><strong>输入:</strong>bloomDay = [1000000000,1000000000], m = 1, k = 1
<strong>输出:</strong>1000000000
<strong>解释:</strong>需要等 1000000000 天才能采到花来制作花束
</pre>
<p><strong>示例 5</strong></p>
<pre><strong>输入:</strong>bloomDay = [1,10,2,9,3,8,4,7,5,6], m = 4, k = 2
<strong>输出:</strong>9
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>bloomDay.length == n</code></li>
<li><code>1 &lt;= n &lt;= 10^5</code></li>
<li><code>1 &lt;= bloomDay[i] &lt;= 10^9</code></li>
<li><code>1 &lt;= m &lt;= 10^6</code></li>
<li><code>1 &lt;= k &lt;= n</code></li>
</ul>