1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/访问消失节点的最少时间 [minimum-time-to-visit-disappearing-nodes].html
2024-04-30 10:04:49 +08:00

76 lines
5.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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>给你一个二维数组 <code>edges</code>&nbsp;表示一个 <code>n</code>&nbsp;个点的无向图,其中&nbsp;<code>edges[i] = [u<sub>i</sub>, v<sub>i</sub>, length<sub>i</sub>]</code>&nbsp;表示节点&nbsp;<code>u<sub>i</sub></code> 和节点&nbsp;<code>v<sub>i</sub></code>&nbsp;之间有一条需要&nbsp;<code>length<sub>i</sub></code>&nbsp;单位时间通过的无向边。</p>
<p>同时给你一个数组&nbsp;<code>disappear</code>&nbsp;,其中&nbsp;<code>disappear[i]</code>&nbsp;表示节点 <code>i</code>&nbsp;从图中消失的时间点,在那一刻及以后,你无法再访问这个节点。</p>
<p><strong>注意</strong>,图有可能一开始是不连通的,两个节点之间也可能有多条边。</p>
<p>请你返回数组&nbsp;<code>answer</code>&nbsp;<code>answer[i]</code>&nbsp;表示从节点 <code>0</code>&nbsp;到节点 <code>i</code>&nbsp;需要的 <strong>最少</strong>&nbsp;单位时间。如果从节点 <code>0</code>&nbsp;出发 <strong>无法</strong> 到达节点 <code>i</code>&nbsp;,那么 <code>answer[i]</code>&nbsp;<code>-1</code>&nbsp;</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<p><img 10px="" alt="" padding:="" src="https://assets.leetcode.com/uploads/2024/03/09/example1.png" style="width: 350px; height: 210px;" /></p>
<div class="example-block" style="border-color: var(--border-tertiary); border-left-width: 2px; color: var(--text-secondary); margin-bottom: 1rem; margin-top: 1rem; overflow: visible; padding-left: 1rem;">
<p style=""><span class="example-io" style="font-size: 8.75px;"><b>输入:</b></span><span class="example-io" style="font-size: 0.85rem; font-family: Menlo, sans-serif;">n = 3, edges = [[0,1,2],[1,2,1],[0,2,4]], disappear = [1,1,5]</span></p>
<p style=""><span class="example-io" style="font-size: 8.75px;"><b>输出:</b></span><span class="example-io" style="font-size: 0.85rem; font-family: Menlo, sans-serif;">[0,-1,4]</span></p>
<p style="font-size: 0.875rem;"><strong>解释:</strong></p>
<p style="font-size: 0.875rem;">我们从节点 0 出发,目的是用最少的时间在其他节点消失之前到达它们。</p>
<ul style="font-size: 0.875rem;">
<li>对于节点 0 ,我们不需要任何时间,因为它就是我们的起点。</li>
<li>对于节点 1 ,我们需要至少 2 单位时间,通过&nbsp;<code>edges[0]</code>&nbsp;到达。但当我们到达的时候,它已经消失了,所以我们无法到达它。</li>
<li>对于节点 2 ,我们需要至少 4 单位时间,通过&nbsp;<code>edges[2]</code>&nbsp;到达。</li>
</ul>
</div>
<p><strong class="example">示例 2</strong></p>
<p><img 10px="" alt="" padding:="" src="https://assets.leetcode.com/uploads/2024/03/09/example2.png" style="width: 350px; height: 210px;" /></p>
<div class="example-block" style="border-color: var(--border-tertiary); border-left-width: 2px; color: var(--text-secondary); margin-bottom: 1rem; margin-top: 1rem; overflow: visible; padding-left: 1rem;">
<p style=""><span class="example-io" style="font-size: 8.75px;"><b>输入:</b></span><span class="example-io" style="font-size: 0.85rem; font-family: Menlo, sans-serif;">n = 3, edges = [[0,1,2],[1,2,1],[0,2,4]], disappear = [1,3,5]</span></p>
<p style=""><span class="example-io" style="font-size: 8.75px;"><b>输出:</b></span><span class="example-io" style="font-size: 0.85rem; font-family: Menlo, sans-serif;">[0,2,3]</span></p>
<p style="font-size: 0.875rem;"><strong>解释:</strong></p>
<p style="font-size: 0.875rem;">我们从节点 0 出发,目的是用最少的时间在其他节点消失之前到达它们。</p>
<ul style="font-size: 0.875rem;">
<li>对于节点 0 ,我们不需要任何时间,因为它就是我们的起点。</li>
<li>对于节点 1 ,我们需要至少 2 单位时间,通过&nbsp;<code>edges[0]</code>&nbsp;到达。</li>
<li>对于节点 2&nbsp;,我们需要至少 3&nbsp;单位时间,通过&nbsp;<code>edges[0]</code>&nbsp;<code>edges[1]</code>&nbsp;到达。</li>
</ul>
</div>
<p><strong class="example">示例 3</strong></p>
<div class="example-block" style="border-color: var(--border-tertiary); border-left-width: 2px; color: var(--text-secondary); margin-bottom: 1rem; margin-top: 1rem; overflow: visible; padding-left: 1rem;">
<p><span class="example-io"><b>输入:</b>n = 2, edges = [[0,1,1]], disappear = [1,1]</span></p>
<p><span class="example-io"><b>输出:</b>[0,-1]</span></p>
<p><strong>解释:</strong></p>
<p>当我们到达节点 1 的时候,它恰好消失,所以我们无法到达节点 1 。</p>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= n &lt;= 5 * 10<sup>4</sup></code></li>
<li><code>0 &lt;= edges.length &lt;= 10<sup>5</sup></code></li>
<li><code>edges[i] == [u<sub>i</sub>, v<sub>i</sub>, length<sub>i</sub>]</code></li>
<li><code>0 &lt;= u<sub>i</sub>, v<sub>i</sub> &lt;= n - 1</code></li>
<li><code>1 &lt;= length<sub>i</sub> &lt;= 10<sup>5</sup></code></li>
<li><code>disappear.length == n</code></li>
<li><code>1 &lt;= disappear[i] &lt;= 10<sup>5</sup></code></li>
</ul>