当前位置:网站首页>0DFS中等 LeetCode6134. 找到离给定两个节点最近的节点
0DFS中等 LeetCode6134. 找到离给定两个节点最近的节点
2022-08-01 21:16:00 【18阿鲁】
描述
给你一个 n 个节点的 有向图 ,节点编号为 0 到 n - 1 ,每个节点 至多 有一条出边。
有向图用大小为 n 下标从 0 开始的数组 edges 表示,表示节点 i 有一条有向边指向 edges[i] 。如果节点 i 没有出边,那么 edges[i] == -1 。
同时给你两个节点 node1 和 node2 。
请你返回一个从 node1 和 node2 都能到达节点的编号,使节点 node1 和节点 node2 到这个节点的距离 较大值最小化。如果有多个答案,请返回 最小 的节点编号。如果答案不存在,返回 -1 。
注意 edges 可能包含环。
提示:
n == edges.length
2 <= n <= 105
-1 <= edges[i] < n
edges[i] != i
0 <= node1, node2 < n
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-closest-node-to-given-two-nodes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
分析
可达性分析
Node1 和node2分别遍历一次,记录到每个结点的距离,然后遍历每个结点,在node1和node2都能到达的结点中选择node1和node2到达该结点较大值的最小的结点。
注意距离从1开始这样node1,node2的距离不会是0,方便排除掉哪些两个结点不能达到的结点。
class Solution {
public int closestMeetingNode(int[] edges, int node1, int node2) {
int n = edges.length;
int[] len = new int[n];
int[] len2 = new int[n];
int i = node1, j = node2;
int l1 = 1;
int l2 = 1;
while (i != -1 && len[i] == 0) {
len[i] = l1;
l1++;
i = edges[i];
}
int ans = -1;
int max = n+2;
while (j != -1 && len2[j] == 0) {
len2[j] = l2;
l2++;
j = edges[j];
}
for (int k = 0; k < n; k++) {
if (len[k] != 0 && len2[k] != 0) {
int tmp = Math.max(len[k],len2[k]);
if (max > tmp) {
max = tmp;
ans = k;
}
}
}
return ans;
}
}
边栏推荐
猜你喜欢

ISC2022 HackingClub white hat summit countdown 1 day!Most comprehensive agenda formally announced!Yuan universe, wonderful!

JS Improvement: Handwritten Publish Subscriber Model (Xiaobai)

方舟开服需要知道的那些事

2022牛客多校联赛第五场 题解

网络安全与基础设施安全局(CISA):两国将在网络安全方面扩大合作

with语句和上下文管理器

C专家编程 第1章 C:穿越时空的迷雾 1.4 K&R C

R语言 数据的关系探索

STAHL touch screen repair all-in-one display screen ET-316-TX-TFT common faults

磷酸化甘露糖苷修饰白蛋白纳米粒/卵白蛋白-葡聚糖纳米凝胶的
随机推荐
C语言之字符串函数二
牛血清白蛋白-葡聚糖-叶黄素纳米颗粒/半乳糖白蛋白磁性阿霉素纳米粒的制备
Pytorch框架学校记录11——搭建小实战完整细节
网络安全与基础设施安全局(CISA):两国将在网络安全方面扩大合作
分类接口,淘宝分类详情 API
C陷阱与缺陷 第7章 可移植性缺陷 7.10 首先释放,然后重新分配
15 分钟带你入门 Grafana
ISC2022 HackingClub白帽峰会倒计时1天!最全议程正式公布!元宇宙集结,精彩绝伦!
C陷阱与缺陷 第8章 建议与答案 8.1 建议
Transformer学习
LeetCode·每日一题·1374.生成每种字符都是奇数个的字符串·模拟
【接口测试】JMeter调用JS文件实现RSA加密
Jmeter实战 | 同用户重复并发多次抢红包
C Pitfalls and Defects Chapter 7 Portability Defects 7.7 Truncation During Division
Realize the superposition display analysis of DWG drawing with CAD in Cesium
织梦通过数据库查询调用当前文章的留言
LeetCode
Internet使用的网络协议是什么
C pitfalls and pitfalls Chapter 8 Suggestions and answers 8.2 Answers
An online JVM FullGC made it impossible to sleep all night and completely crashed~