当前位置:网站首页>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;
}
}
边栏推荐
- 【力扣】字符串相乘
- 图的邻接矩阵存储
- C陷阱与缺陷 第7章 可移植性缺陷 7.7 除法运算时发生的截断
- 图片识别商品接口 API:天猫淘宝
- 测试的意义并不是能找到全部的缺陷
- 漏洞分析丨HEVD-0x6.UninitializedStackVariable[win7x86]
- 案例:MySQL主从复制与读写分离
- C Expert Programming Chapter 1 C: Through the Fog of Time and Space 1.2 Early Experience of C Language
- 包含吲哚菁绿的多聚体白蛋白纳米球/载马钱子碱纳米粒的牛血清白蛋白微球的制备
- C Pitfalls and pitfalls Appendix B Interview with Koenig and Moo
猜你喜欢
随机推荐
C Expert Programming Chapter 1 C: Through the Fog of Time and Space 1.4 K&R C
附录A printf、varargs与stdarg A.3 stdarg.h ANSI版的varargs.h
织梦发布文章提示body has not allow words错误
property语法
C陷阱与缺陷 第7章 可移植性缺陷 7.8 随机数的大小
[Chinese tree tags - CTB]
kubernetes各名词缩写
51.【结构体初始化的两种方法】
C专家编程 第1章 C:穿越时空的迷雾 1.3 标准I/O库和C预处理器
C专家编程 第1章 C:穿越时空的迷雾 1.4 K&R C
Pytest: begin to use
技能大赛训练:A部分加固题目
15 分钟带你入门 Grafana
关键字搜索:“淘宝商品 API ”
C陷阱与缺陷 第8章 建议与答案 8.1 建议
【力扣】字符串相乘
Hiking, cured my mental internal friction
Telnet弱口令渗透测试
正则表达式
一个关于操作数据库的建议—用户密码









