当前位置:网站首页>LeetCode 2360. 图中的最长环
LeetCode 2360. 图中的最长环
2022-08-02 06:52:00 【HumbleFool】
基环树
class Solution {
public:
vector<int> p;
vector<bool> st; //是否被搜过
vector<int> in_stk; // 记录节点在当前栈中的深度
int res = -1;
void dfs(int u, int deth)
{
st[u] = true;
in_stk[u] = deth;
int ne = p[u];
if(ne != -1)
{
if(in_stk[ne])
res = max(res, deth + 1 - in_stk[ne]); // 下一个节点是已经搜过了,减去之前搜到过的深度就是环的大小
else if(!st[ne])
dfs(ne, deth + 1);
}
in_stk[u] = 0;
}
int longestCycle(vector<int>& edges) {
p = edges;
int n = edges.size();
st = vector<bool>(n, false);
in_stk = vector<int>(n, 0);
for(int i = 0; i < n; i ++)
if(!st[i])
dfs(i, 1);
return res;
}
};
边栏推荐
猜你喜欢
随机推荐
你认同这个观点吗?大多数企业的数字化都只是为了缓解焦虑
深度学习网络模型的改进与调整
吃透Chisel语言.31.Chisel进阶之通信状态机(三)——Ready-Valid接口:定义、时序和Chisel中的实现
解决C#非静态字段、方法或属性“islandnum.Program.getIslandCount(int[][], int, int)”要求对象引用
交换部分 VLAN
System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可 访问的日志: Security
请教一下,Flink SQL ,JDBC sink 入 mysql 库,想要搞一个自增主键,要怎么写
“蔚来杯“2022牛客暑期多校训练营4,签到题NDKHL
Day 4 of HCIP
ADS通信--倍福PLC和C#TextBox控件实现数据绑定的方法
获取间隔的日期列表工具类
optional
堡垒机、堡垒机的原理
有趣的网站
张驰咨询:企业实施精益管理的最大障碍,只把精益作为一种工具和方法
海缆探测仪TSS350(二)
【机器学习】课程设计布置:某闯关类手游用户流失预测
[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)
交换网络----三种生成树协议
实例027:递归输出