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)/找到离给定两个节点最近的节点 [find-closest-node-to-given-two-nodes].html
2022-08-26 01:03:47 +08:00

44 lines
2.3 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>n</code>&nbsp;个节点的 <strong>有向图</strong>&nbsp;,节点编号为&nbsp;<code>0</code>&nbsp;&nbsp;<code>n - 1</code>&nbsp;,每个节点 <strong>至多</strong>&nbsp;有一条出边。</p>
<p>有向图用大小为 <code>n</code>&nbsp;下标从 <strong>0</strong>&nbsp;开始的数组&nbsp;<code>edges</code>&nbsp;表示,表示节点&nbsp;<code>i</code>&nbsp;有一条有向边指向&nbsp;<code>edges[i]</code>&nbsp;。如果节点&nbsp;<code>i</code>&nbsp;没有出边,那么&nbsp;<code>edges[i] == -1</code>&nbsp;</p>
<p>同时给你两个节点&nbsp;<code>node1</code>&nbsp;<code>node2</code>&nbsp;</p>
<p>请你返回一个从 <code>node1</code>&nbsp;<code>node2</code>&nbsp;都能到达节点的编号,使节点 <code>node1</code>&nbsp;和节点 <code>node2</code>&nbsp;到这个节点的距离 <b>较大值最小化</b>。如果有多个答案,请返回 <strong>最小</strong>&nbsp;的节点编号。如果答案不存在,返回 <code>-1</code>&nbsp;</p>
<p>注意&nbsp;<code>edges</code>&nbsp;可能包含环。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/06/07/graph4drawio-2.png" style="width: 321px; height: 161px;"></p>
<pre><b>输入:</b>edges = [2,2,3,-1], node1 = 0, node2 = 1
<b>输出:</b>2
<b>解释:</b>从节点 0 到节点 2 的距离为 1 ,从节点 1 到节点 2 的距离为 1 。
两个距离的较大值为 1 。我们无法得到一个比 1 更小的较大值,所以我们返回节点 2 。
</pre>
<p><strong>示例 2</strong></p>
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/06/07/graph4drawio-4.png" style="width: 195px; height: 161px;"></p>
<pre><b>输入:</b>edges = [1,2,-1], node1 = 0, node2 = 2
<b>输出:</b>2
<b>解释:</b>节点 0 到节点 2 的距离为 2 ,节点 2 到它自己的距离为 0 。
两个距离的较大值为 2 。我们无法得到一个比 2 更小的较大值,所以我们返回节点 2 。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>n == edges.length</code></li>
<li><code>2 &lt;= n &lt;= 10<sup>5</sup></code></li>
<li><code>-1 &lt;= edges[i] &lt; n</code></li>
<li><code>edges[i] != i</code></li>
<li><code>0 &lt;= node1, node2 &lt; n</code></li>
</ul>