news 2026/5/25 4:49:50

代码随想录 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/5/14 18:53:17

传奇3韩国新地图怪物和爆率介绍

传奇3韩国新地图怪物介绍韩国版本传奇3通常会推出一些独特的新地图&#xff0c;这些地图中的怪物设计往往与经典版本有所不同。以下是一些可能出现在韩国新地图中的怪物类型&#xff1a;高等级怪物 新地图通常包含等级较高的怪物&#xff0c;攻击力和生命值较强&#xff0c;适合…

作者头像 李华
网站建设 2026/5/22 21:18:06

小白也能懂的连接错误解决指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式新手学习应用&#xff1a;1. 用快递送货比喻网络连接 2. 设计5个常见错误的动画演示 3. 提供一键检测按钮 4. 输出带emoji的简单报告 5. 内置救命按钮连接社区支持。…

作者头像 李华
网站建设 2026/5/1 7:31:23

1小时验证创意:VLA原型开发实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 提供三个可选原型模板&#xff1a;1) 社交媒体自动标注工具 2) 无障碍阅读辅助器 3) 智能相册管理器。用户选择模板后&#xff0c;自动生成对应代码框架和示例数据集。每个模板预置…

作者头像 李华
网站建设 2026/5/23 10:07:07

AI如何用WeClone重构你的开发流程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个基于WeClone的AI辅助开发工具&#xff0c;能够分析现有项目代码库&#xff0c;自动生成相似功能的代码片段或完整模块。支持多种编程语言&#xff0c;具备智能补全、错误检…

作者头像 李华
网站建设 2026/5/12 1:25:57

Gradle插件异常?新手也能轻松搞定

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个面向Gradle新手的交互式学习工具&#xff0c;专门讲解org.gradle.api.internal.plugins.pluginapplicationexception: failed错误的处理。包含&#xff1a;1. 基础概念讲解…

作者头像 李华