news 2026/6/9 21:31:52

代码随想录 1971.寻找图中是否存在路径

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
代码随想录 1971.寻找图中是否存在路径

方法一:并查集

class Solution { private int[] p; public boolean validPath(int n, int[][] edges, int source, int destination) { p = new int[n]; for(int i = 0;i < n;i++){ p[i] = i; } for(int[] e : edges){ p[find(e[0])] = find(e[1]); } return find(source) == find(destination); } private int find(int x){ if(p[x] != x){ //如果根不是自己(x) p[x] = find(p[x]); //根据数组下标一层一层向下找 } return p[x]; //返回根 } }

方法二:暴力BFS

class Solution { public boolean validPath(int n, int[][] edges, int source, int destination) { boolean[] used = new boolean[n]; //used[i] = true表示从source可以到达节点i used[source] = true; //起始节点默认可达 boolean newUsedFound = true; //标记本轮循环是否发现了新的可达节点 while(!used[destination] && newUsedFound){ //只要目标节点还未被访问并且还能发现新节点,就继续循环 newUsedFound = false; for(int i = edges.length - 1;i >= 0;i--){ //从后往前遍历类似于反向BFS,避免超时 //每次循环扫描所有边 if(used[edges[i][0]]){ //如果u可达v不可达,标记v可达 if(!used[edges[i][1]]){ newUsedFound = used[edges[i][1]] = true; } } else if(used[edges[i][1]]){ //如果v可达u不可达,标记u可达 newUsedFound = used[edges[i][0]] = true; } if(used[destination]){ //找到目标节点,提前结束 break; } } } return used[destination]; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 3:03:13

21、Ubuntu 软件安装、卸载与系统维护全攻略

Ubuntu 软件安装、卸载与系统维护全攻略 在 Ubuntu 系统中,软件的安装与卸载以及系统的维护和安全保障是日常使用中非常重要的环节。下面将详细介绍多种软件管理方式以及系统维护的相关内容。 1. Synaptic 软件包管理器 Synaptic 除了有用于显示类别和安装状态的“Sections…

作者头像 李华
网站建设 2026/6/8 6:44:39

dirsearch vs 传统扫描:效率提升300%的秘诀

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个优化版的dirsearch工具&#xff0c;要求&#xff1a;1. 实现动态字典生成算法 2. 自适应并发控制机制 3. 智能结果去重 4. 集成常见CMS指纹识别 5. 性能监控面板。比较优化…

作者头像 李华
网站建设 2026/6/9 19:48:00

1小时原型开发:智能console线诊断工具实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个智能console线诊断工具原型&#xff0c;功能包括&#xff1a;1) 自动识别连接的设备类型 2) 常见错误代码诊断 3) 波特率自动匹配 4) 交互式命令行界面。使用PythonFlask开…

作者头像 李华
网站建设 2026/6/9 21:51:11

AI如何助力Kiro下载工具开发?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个基于AI的Kiro下载工具&#xff0c;具备以下功能&#xff1a;1. 智能解析下载链接&#xff0c;自动识别最佳下载源&#xff1b;2. 动态调整下载速度&#xff0c;根据网络状况…

作者头像 李华
网站建设 2026/6/9 2:30:27

1分钟原型:构建Python错误自动修复工具

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个最小可行产品(MVP)&#xff0c;能够接收用户输入的含错误的Python代码&#xff0c;自动识别module is not callable错误&#xff0c;并返回修正后的代码。要求包含错误检测…

作者头像 李华
网站建设 2026/6/2 13:47:00

1小时验证创意:用Pigx+AI构建电商原型系统

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速生成一个Pigx电商系统原型&#xff0c;最低可行功能包括&#xff1a;1. 商品分类展示 2. 购物车功能 3. 模拟支付流程 4. 基础订单管理。要求&#xff1a;1. 使用最简技术实现 …

作者头像 李华