mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
66 lines
3.5 KiB
HTML
66 lines
3.5 KiB
HTML
<p>Alice 有一棵 <code>n</code> 个节点的树,节点编号为 <code>0</code> 到 <code>n - 1</code> 。树用一个长度为 <code>n - 1</code> 的二维整数数组 <code>edges</code> 表示,其中 <code>edges[i] = [a<sub>i</sub>, b<sub>i</sub>]</code> ,表示树中节点 <code>a<sub>i</sub></code> 和 <code>b<sub>i</sub></code> 之间有一条边。</p>
|
||
|
||
<p>Alice 想要 Bob 找到这棵树的根。她允许 Bob 对这棵树进行若干次 <strong>猜测</strong> 。每一次猜测,Bob 做如下事情:</p>
|
||
|
||
<ul>
|
||
<li>选择两个 <strong>不相等</strong> 的整数 <code>u</code> 和 <code>v</code> ,且树中必须存在边 <code>[u, v]</code> 。</li>
|
||
<li>Bob 猜测树中 <code>u</code> 是 <code>v</code> 的 <strong>父节点</strong> 。</li>
|
||
</ul>
|
||
|
||
<p>Bob 的猜测用二维整数数组 <code>guesses</code> 表示,其中 <code>guesses[j] = [u<sub>j</sub>, v<sub>j</sub>]</code> 表示 Bob 猜 <code>u<sub>j</sub></code> 是 <code>v<sub>j</sub></code> 的父节点。</p>
|
||
|
||
<p>Alice 非常懒,她不想逐个回答 Bob 的猜测,只告诉 Bob 这些猜测里面 <strong>至少</strong> 有 <code>k</code> 个猜测的结果为 <code>true</code> 。</p>
|
||
|
||
<p>给你二维整数数组 <code>edges</code> ,Bob 的所有猜测和整数 <code>k</code> ,请你返回可能成为树根的 <strong>节点数目</strong> 。如果没有这样的树,则返回 <code>0</code>。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/12/19/ex-1.png" style="width: 727px; height: 250px;" /></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>edges = [[0,1],[1,2],[1,3],[4,2]], guesses = [[1,3],[0,1],[1,0],[2,4]], k = 3
|
||
<b>输出:</b>3
|
||
<b>解释:</b>
|
||
根为节点 0 ,正确的猜测为 [1,3], [0,1], [2,4]
|
||
根为节点 1 ,正确的猜测为 [1,3], [1,0], [2,4]
|
||
根为节点 2 ,正确的猜测为 [1,3], [1,0], [2,4]
|
||
根为节点 3 ,正确的猜测为 [1,0], [2,4]
|
||
根为节点 4 ,正确的猜测为 [1,3], [1,0]
|
||
节点 0 ,1 或 2 为根时,可以得到 3 个正确的猜测。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/12/19/ex-2.png" style="width: 600px; height: 303px;" /></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>edges = [[0,1],[1,2],[2,3],[3,4]], guesses = [[1,0],[3,4],[2,1],[3,2]], k = 1
|
||
<b>输出:</b>5
|
||
<b>解释:</b>
|
||
根为节点 0 ,正确的猜测为 [3,4]
|
||
根为节点 1 ,正确的猜测为 [1,0], [3,4]
|
||
根为节点 2 ,正确的猜测为 [1,0], [2,1], [3,4]
|
||
根为节点 3 ,正确的猜测为 [1,0], [2,1], [3,2], [3,4]
|
||
根为节点 4 ,正确的猜测为 [1,0], [2,1], [3,2]
|
||
任何节点为根,都至少有 1 个正确的猜测。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>edges.length == n - 1</code></li>
|
||
<li><code>2 <= n <= 10<sup>5</sup></code></li>
|
||
<li><code>1 <= guesses.length <= 10<sup>5</sup></code></li>
|
||
<li><code>0 <= a<sub>i</sub>, b<sub>i</sub>, u<sub>j</sub>, v<sub>j</sub> <= n - 1</code></li>
|
||
<li><code>a<sub>i</sub> != b<sub>i</sub></code></li>
|
||
<li><code>u<sub>j</sub> != v<sub>j</sub></code></li>
|
||
<li><code>edges</code> 表示一棵有效的树。</li>
|
||
<li><code>guesses[j]</code> 是树中的一条边。</li>
|
||
<li><code>guesses</code> 是唯一的。</li>
|
||
<li><code>0 <= k <= guesses.length</code></li>
|
||
</ul>
|