mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
67 lines
3.1 KiB
HTML
67 lines
3.1 KiB
HTML
<p>你的国家有无数个湖泊,所有湖泊一开始都是空的。当第 <code>n</code> 个湖泊下雨的时候,那么它就会装满水。如果第 <code>n</code> 个湖泊是 <strong>满的 </strong>,这个湖泊会发生 <strong>洪水</strong> 。你的目标是避免任意一个湖泊发生洪水。</p>
|
||
|
||
<p>给你一个整数数组 <code>rains</code> ,其中:</p>
|
||
|
||
<ul>
|
||
<li><code>rains[i] > 0</code> 表示第 <code>i</code> 天时,第 <code>rains[i]</code> 个湖泊会下雨。</li>
|
||
<li><code>rains[i] == 0</code> 表示第 <code>i</code> 天没有湖泊会下雨,你可以选择 <strong>一个</strong> 湖泊并 <strong>抽干</strong> 这个湖泊的水。</li>
|
||
</ul>
|
||
|
||
<p>请返回一个数组<em> </em><code>ans</code> ,满足:</p>
|
||
|
||
<ul>
|
||
<li><code>ans.length == rains.length</code></li>
|
||
<li>如果 <code>rains[i] > 0</code> ,那么<code>ans[i] == -1</code> 。</li>
|
||
<li>如果 <code>rains[i] == 0</code> ,<code>ans[i]</code> 是你第 <code>i</code> 天选择抽干的湖泊。</li>
|
||
</ul>
|
||
|
||
<p>如果有多种可行解,请返回它们中的 <strong>任意一个</strong> 。如果没办法阻止洪水,请返回一个 <strong>空的数组</strong> 。</p>
|
||
|
||
<p>请注意,如果你选择抽干一个装满水的湖泊,它会变成一个空的湖泊。但如果你选择抽干一个空的湖泊,那么将无事发生(详情请看示例 4)。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>rains = [1,2,3,4]
|
||
<strong>输出:</strong>[-1,-1,-1,-1]
|
||
<strong>解释:</strong>第一天后,装满水的湖泊包括 [1]
|
||
第二天后,装满水的湖泊包括 [1,2]
|
||
第三天后,装满水的湖泊包括 [1,2,3]
|
||
第四天后,装满水的湖泊包括 [1,2,3,4]
|
||
没有哪一天你可以抽干任何湖泊的水,也没有湖泊会发生洪水。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>rains = [1,2,0,0,2,1]
|
||
<strong>输出:</strong>[-1,-1,2,1,-1,-1]
|
||
<strong>解释:</strong>第一天后,装满水的湖泊包括 [1]
|
||
第二天后,装满水的湖泊包括 [1,2]
|
||
第三天后,我们抽干湖泊 2 。所以剩下装满水的湖泊包括 [1]
|
||
第四天后,我们抽干湖泊 1 。所以暂时没有装满水的湖泊了。
|
||
第五天后,装满水的湖泊包括 [2]。
|
||
第六天后,装满水的湖泊包括 [1,2]。
|
||
可以看出,这个方案下不会有洪水发生。同时, [-1,-1,1,2,-1,-1] 也是另一个可行的没有洪水的方案。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>rains = [1,2,0,1,2]
|
||
<strong>输出:</strong>[]
|
||
<strong>解释:</strong>第二天后,装满水的湖泊包括 [1,2]。我们可以在第三天抽干一个湖泊的水。
|
||
但第三天后,湖泊 1 和 2 都会再次下雨,所以不管我们第三天抽干哪个湖泊的水,另一个湖泊都会发生洪水。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= rains.length <= 10<sup>5</sup></code></li>
|
||
<li><code>0 <= rains[i] <= 10<sup>9</sup></code></li>
|
||
</ul>
|