mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
44 lines
2.3 KiB
HTML
44 lines
2.3 KiB
HTML
<p>给你一个 <code>n</code> 个节点的 <strong>有向图</strong> ,节点编号为 <code>0</code> 到 <code>n - 1</code> ,每个节点 <strong>至多</strong> 有一条出边。</p>
|
||
|
||
<p>有向图用大小为 <code>n</code> 下标从 <strong>0</strong> 开始的数组 <code>edges</code> 表示,表示节点 <code>i</code> 有一条有向边指向 <code>edges[i]</code> 。如果节点 <code>i</code> 没有出边,那么 <code>edges[i] == -1</code> 。</p>
|
||
|
||
<p>同时给你两个节点 <code>node1</code> 和 <code>node2</code> 。</p>
|
||
|
||
<p>请你返回一个从 <code>node1</code> 和 <code>node2</code> 都能到达节点的编号,使节点 <code>node1</code> 和节点 <code>node2</code> 到这个节点的距离 <b>较大值最小化</b>。如果有多个答案,请返回 <strong>最小</strong> 的节点编号。如果答案不存在,返回 <code>-1</code> 。</p>
|
||
|
||
<p>注意 <code>edges</code> 可能包含环。</p>
|
||
|
||
<p> </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> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>n == edges.length</code></li>
|
||
<li><code>2 <= n <= 10<sup>5</sup></code></li>
|
||
<li><code>-1 <= edges[i] < n</code></li>
|
||
<li><code>edges[i] != i</code></li>
|
||
<li><code>0 <= node1, node2 < n</code></li>
|
||
</ul>
|