热门

最新

红包

立Flag

投票

同城

我的

发布
m0_55990500
互联网底层人员
3 年前
truem0_55990500

12月19日
1971. 寻找图中是否存在路径
这题已经碰到过很多次了 如果单从递归来讲这道题算不上简单题
我觉得标个中等差不多

但是如果从并查集的思路来说 简单题倒是可以
上周一道困难题1697. 检查边长度限制的路径是否存在
就是用的并查集 直接cv了 但是思路其实还是学到了其实就是将连通的点加入一个集合,最后看集合中是否存在目标点。加入的方式其实就是改序号,所以如何改序号成了并查集最关键的地方。

对于并查集来说模板真的太长了
这里我列一个简易模板

//初始化:令每个节点的子连通分量编号都是其节点编号

//合并操作
//查出edge[0]所属的序号 uf
//查出edge[1]所属的序号 uv
//合并arr[uf] =uv

return find(source) == find(destination)
//查找操作
public int find(int n,int[] arr){
if(arr[n]==n) return n;
else return arr[n] = find(arr[n],arr);
}

CSDN App 扫码分享
分享
1
点赞
打赏
  • 复制链接
  • 举报
下一条动态
立即登录