news 2026/5/15 2:26:26

代码随想录 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/11 13:57:00

WeClone实战:从零搭建电商平台克隆

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个电商平台克隆工具&#xff0c;允许用户输入现有电商网站URL或功能描述&#xff0c;自动生成具有类似功能的完整电商系统。包括商品展示、购物车、支付接口、用户管理等核心…

作者头像 李华
网站建设 2026/5/11 11:01:34

1小时打造定制版Furmark:满足特殊测试需求

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个Furmark定制化原型工具&#xff0c;允许用户&#xff1a;1. 选择不同的渲染着色器 2. 自定义测试时长和分辨率 3. 添加硬件传感器数据采集 4. 修改压力测试算法 5. 导出定制…

作者头像 李华
网站建设 2026/5/8 12:16:04

AI教你3种方法快速查询电脑开机时间

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Python脚本&#xff0c;使用psutil库自动检测电脑的开机时间&#xff0c;并将结果格式化为易读的日期和时间。脚本应包含错误处理&#xff0c;确保在不同操作系统&#xff…

作者头像 李华
网站建设 2026/5/12 12:14:14

快速验证UI设计:文字截断原型生成器

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个可交互的UI原型生成器&#xff0c;允许用户通过参数配置&#xff1a;1) 容器宽度 2) 字体大小 3) 行数限制 4) 省略号颜色。实时生成预览并输出对应的CSS代码。要求包含预设…

作者头像 李华
网站建设 2026/5/14 13:10:36

零基础入门:用bpmn-js画你的第一个流程图

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式bpmn-js新手教程&#xff0c;包含&#xff1a;1&#xff09;嵌入式代码编辑器显示基础配置 2&#xff09;分步指引构建请假审批流程&#xff08;开始事件→员工申请→…

作者头像 李华
网站建设 2026/5/13 13:26:54

零基础玩转NVIDIA容器工具包:从安装到第一个AI容器

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式学习教程&#xff0c;包含&#xff1a;1) 分步检查系统环境&#xff1b;2) 安装NVIDIA Container Toolkit的自动化脚本&#xff1b;3) 运行测试容器的简单UI界面&…

作者头像 李华