news 2026/7/7 17:24:25

代码随想录算法训练营第四十三天 | 98. 所有可达路径

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
代码随想录算法训练营第四十三天 | 98. 所有可达路径

邻接矩阵easy

package main import ( "fmt" ) var res [][]int var path []int func dfs(graph [][]int, x, n int) { if x == n { tmp := make([]int, len(path)) copy(tmp, path) res = append(res, tmp) return } for i := 1; i <= n; i++ { if graph[x][i] == 1 { path = append(path, i) dfs(graph, i, n) path = path[:len(path)-1] } } } func main() { var n, m int fmt.Scanf("%d %d", &n, &m) graph := make([][]int, n+1) for i := range graph { graph[i] = make([]int, n+1) } for i := 0; i < m; i++ { var s, t int fmt.Scanf("%d %d", &s, &t) graph[s][t] = 1 } path = append(path, 1) dfs(graph, 1, n) if len(res) == 0 { fmt.Println(-1) } else { for _, pa := range res { for i := 0; i < len(pa)-1; i++ { fmt.Print(pa[i], " ") } fmt.Println(pa[len(pa)-1]) } } }

邻接表easy

package main import ( "fmt" ) var res [][]int var path []int func dfs(graph [][]int, x, n int) { if x == n { tmp := make([]int, len(path)) copy(tmp, path) res = append(res, tmp) return } for _, i := range graph[x] { path = append(path, i) dfs(graph, i, n) path = path[:len(path)-1] } } func main() { var n, m int fmt.Scanf("%d %d", &n, &m) graph := make([][]int, n+1) for i := 0; i < m; i++ { var s, t int fmt.Scanf("%d %d", &s, &t) graph[s] = append(graph[s], t) } path = append(path, 1) dfs(graph, 1, n) if len(res) == 0 { fmt.Println(-1) } else { for _, pa := range res { for i := 0; i < len(pa)-1; i++ { fmt.Print(pa[i], " ") } fmt.Println(pa[len(pa)-1]) } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 19:41:23

GBase 8a Load使用hadoop+Kerberos环境操作全流程介绍

1.环境准备主机信息IP&#xff1a;192.168.195.110 主机名&#xff1a;mjmhadoop新建hadoop用户[rootmjmhadoop ~]$ useradd mjmos [rootmjmhadoop ~]$ passwd mjmos目录准备[rootmjmhadoop ~]$ chown -R mjmos:mjmos /opt/ [rootmjmhadoop ~]$ su - mjmos [mjmosmjmhadoop ~]$…

作者头像 李华
网站建设 2026/7/6 12:29:52

第四篇:Spring AI LLM Client 深度剖析——企业级 AI 访问层的设计哲学

大家好,我是你们的技术效能架构师。 在过去的篇章中,我们构建了 Spring AI 的架构骨架(第二篇),并掌握了 Prompt Engineering 这一灵魂核心(第三篇)。现在,我们来到了整个 AI 应用的执行层,这是决定系统稳定、可控和灵活性的关键。 在企业级 AI 架构中,最大的痛点在…

作者头像 李华
网站建设 2026/7/7 20:03:50

Archery数据库管理平台:从权限混乱到高效协作的完整指南

Archery数据库管理平台&#xff1a;从权限混乱到高效协作的完整指南 【免费下载链接】Archery hhyo/Archery: 这是一个用于辅助MySQL数据库管理和开发的Web工具。适合用于需要管理和开发MySQL数据库的场景。特点&#xff1a;易于使用&#xff0c;具有多种数据库管理功能&#x…

作者头像 李华
网站建设 2026/7/7 3:27:14

RAD Studio 13 Florence:C++、Delphi现代化与AI驱动的跨平台开发新范式

RAD Studio 13 Florence版本的发布,标志着Embarcadero公司为其核心开发平台注入了前所未有的活力。这一版本并非仅仅是功能上的迭代,更是一次面向现代化编程范式和人工智能浪潮的战略性重构。对于长期致力于构建高性能原生应用、寻求跨平台解决方案的开发者而言,Florence版提…

作者头像 李华
网站建设 2026/7/7 16:14:42

Python全栈学习路径:从零基础到人工智能实战

Python全栈学习路径&#xff1a;从零基础到人工智能实战&#xff0c;一套课程体系满足所有学习需求 Python作为当今最受欢迎的编程语言之一&#xff0c;已渗透到各行各业——从Web开发、数据分析到人工智能、自动化运维。无论你是想转行高薪技术岗位&#xff0c;还是希望为孩子…

作者头像 李华