mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
53 lines
2.4 KiB
HTML
53 lines
2.4 KiB
HTML
<p>You are given an integer array <code>bloomDay</code>, an integer <code>m</code> and an integer <code>k</code>.</p>
|
|
|
|
<p>You want to make <code>m</code> bouquets. To make a bouquet, you need to use <code>k</code> <strong>adjacent flowers</strong> from the garden.</p>
|
|
|
|
<p>The garden consists of <code>n</code> flowers, the <code>i<sup>th</sup></code> flower will bloom in the <code>bloomDay[i]</code> and then can be used in <strong>exactly one</strong> bouquet.</p>
|
|
|
|
<p>Return <em>the minimum number of days you need to wait to be able to make </em><code>m</code><em> bouquets from the garden</em>. If it is impossible to make m bouquets return <code>-1</code>.</p>
|
|
|
|
<p> </p>
|
|
<p><strong class="example">Example 1:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong> bloomDay = [1,10,3,10,2], m = 3, k = 1
|
|
<strong>Output:</strong> 3
|
|
<strong>Explanation:</strong> Let us see what happened in the first three days. x means flower bloomed and _ means flower did not bloom in the garden.
|
|
We need 3 bouquets each should contain 1 flower.
|
|
After day 1: [x, _, _, _, _] // we can only make one bouquet.
|
|
After day 2: [x, _, _, _, x] // we can only make two bouquets.
|
|
After day 3: [x, _, x, _, x] // we can make 3 bouquets. The answer is 3.
|
|
</pre>
|
|
|
|
<p><strong class="example">Example 2:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong> bloomDay = [1,10,3,10,2], m = 3, k = 2
|
|
<strong>Output:</strong> -1
|
|
<strong>Explanation:</strong> We need 3 bouquets each has 2 flowers, that means we need 6 flowers. We only have 5 flowers so it is impossible to get the needed bouquets and we return -1.
|
|
</pre>
|
|
|
|
<p><strong class="example">Example 3:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong> bloomDay = [7,7,7,7,12,7,7], m = 2, k = 3
|
|
<strong>Output:</strong> 12
|
|
<strong>Explanation:</strong> We need 2 bouquets each should have 3 flowers.
|
|
Here is the garden after the 7 and 12 days:
|
|
After day 7: [x, x, x, x, _, x, x]
|
|
We can make one bouquet of the first three flowers that bloomed. We cannot make another bouquet from the last three flowers that bloomed because they are not adjacent.
|
|
After day 12: [x, x, x, x, x, x, x]
|
|
It is obvious that we can make two bouquets in different ways.
|
|
</pre>
|
|
|
|
<p> </p>
|
|
<p><strong>Constraints:</strong></p>
|
|
|
|
<ul>
|
|
<li><code>bloomDay.length == n</code></li>
|
|
<li><code>1 <= n <= 10<sup>5</sup></code></li>
|
|
<li><code>1 <= bloomDay[i] <= 10<sup>9</sup></code></li>
|
|
<li><code>1 <= m <= 10<sup>6</sup></code></li>
|
|
<li><code>1 <= k <= n</code></li>
|
|
</ul>
|