news 2026/4/22 16:35:39

代码随想录 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/4/22 16:35:32

告别等待:CentOS 7.6镜像极速下载方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个CentOS 7.6镜像加速下载工具。利用多线程、CDN优选和P2P技术提升下载速度。自动选择最快的镜像站点&#xff0c;支持断点续传。包含速度测试功能&#xff0c;可实时显示下载…

作者头像 李华
网站建设 2026/4/16 18:02:23

1小时搞定:用ResizeObserver快速原型设计

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个快速原型工具&#xff0c;允许用户通过简单配置生成响应式组件&#xff1a;1) 提供10种常见组件模板(导航栏、卡片、表格等) 2) 拖拽定义resize观察点 3) 可视化配置回调行…

作者头像 李华
网站建设 2026/4/16 14:41:37

AI如何帮你理解C语言基础:从#include <stdio.h>开始

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用AI生成一个简单的C语言程序&#xff0c;解释#include <stdio.h>的作用。程序应包含一个基本的输入输出示例&#xff0c;比如打印Hello, World!和读取用户输入。代码需有详…

作者头像 李华
网站建设 2026/4/17 7:53:57

通过微调提升RAG系统的回复质量

一、模型能力对RAG系统的关键影响 在典型RAG架构中,大语言模型(LLM)的基准能力直接决定系统输出的可靠性,其性能瓶颈主要体现在领域知识适配性缺陷、结构化输出控制薄弱、性能被部署环境限制三个维度。 1. 领域知识适配性缺陷 通用大模型(如DeepSeek-R1、GPT-4、Claude…

作者头像 李华
网站建设 2026/4/17 8:35:43

平面设计小白入门:从软件安装到第一个作品的完整指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个零基础平面设计学习向导&#xff0c;包含以下步骤&#xff1a;1. 必备软件安装包获取方式 2. Photoshop基础界面导览 3. 简单海报设计分步教学 4. 常见问题解答模块 5. 作品…

作者头像 李华
网站建设 2026/4/18 13:28:19

1小时搭建Modbus TCP物联网网关原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Modbus TCP到MQTT的协议转换网关原型。功能要求&#xff1a;1. 从Modbus设备读取数据&#xff1b;2. 转换为MQTT消息&#xff1b;3. 支持数据缓存&#xff1b;4. 提供配置界…

作者头像 李华