leetcode.所有可能的路径(python)

找到从节点0到n-1的所有路径,肯定是用dfs算法,不过有两种思考方式:

一种是:从后往前考虑。如果这条路能到n-1节点,那么dfs返回一个rec列表,里面存路径。

class Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:end = len(graph)-1def dfs(node):if node == end: return [[node]]rec = []for nex in graph[node]:ans = dfs(nex)for ls in ans:rec.append([node] + ls)return rec if rec else []return dfs(0)

rec里面有路径,表明能走,如果是[],说明没路。

另一种是:从前往后考虑。rec代表的是当前dfs走过的节点,遍历到哪个节点就加进rec尾部,退出哪个dfs,就把当前节点弹出。

class Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:ans = []rec = []end = len(graph) - 1def dfs(node):rec.append(node)if node == end:ans.append(rec[:])for nex in graph[node]:dfs(nex)rec.pop()dfs(0)return ans

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/702474.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 删除并获得点数(难度⭐⭐)(76)

1. 题目解析 题目链接:LCR 091. 粉刷房子 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 1. 状态定义 在解决这类问题时,我们首先需要根据题目的具体要求来定义状态。针对房屋粉刷问题&#…

刷题之字母异位词(leetcode 哈希表)

https://leetcode.cn/problems/group-anagrams/ class Solution { public:vector<vector<string>> groupAnagrams(vector<string>& strs) {unordered_map<string,vector<string>>map;//哈希表键为排序后或者处理后的字符串&#xff0c;值为某…

LeetCode474:一和零

题目描述 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度&#xff0c;该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素&#xff0c;集合 x 是集合 y 的 子集 。 代码 /*抽象为两个维度的背包问题 dp[i][j…

认定6月7日截止!合肥市2024年第二批国家高新技术企业申报条件、流程和材料

合肥市2024年第二批国家高新技术企业认定截止在6月7日&#xff0c;关于合肥市高新技术企业认定条件、申报材料、流程的详细内容整理如下&#xff1a; 一、申报范围 &#xff08;一&#xff09;在我市行政区域内注册成立一年以上的居民企业&#xff0c;且符合《认定办法》第十一…

C++实现CSS布局管理器

/* Yoga 是一个针对 Web 标准的嵌入式布局引擎。 https://www.yogalayout.dev/docs/styling/ https://www.yogalayout.dev/playground 其它类似&#xff1a; https://github.com/Tencent/Taitank */ #include <yoga/Yoga.h> void applyLayout(YGNodeRef node) { //i…

渣土车上路识别报警摄像机

随着城市建设的不断推进&#xff0c;渣土车在城市道路上的数量也逐渐增加。然而&#xff0c;一些不法渣土车司机往往会超载、超速行驶或者闯红灯&#xff0c;给道路交通安全和城市环境带来了一定的隐患。为了有效监管渣土车上路行驶的情况&#xff0c;渣土车上路识别报警摄像机…

unity制作app(7)--panel control

根据用户的状态&#xff0c;在界面中显示不同的panel 1.新建一个脚本PanelControl&#xff0c;控制各个脚本的显示与隐藏 2.实现第一个逻辑判断功能&#xff1a;如果没有登记过信息&#xff0c;就直接跳转到登记界面&#xff0c;如果登记过&#xff0c;跳转到住界面。许多需要…

【C++小语法技巧】缺省参数和函数重载

在使用C语言编程过程中&#xff0c;C语言的要求之严格&#xff0c;编程过程之繁琐&#xff0c;大同小异的重复性工作&#xff0c;令C之父使用C语言编程时也深受其扰&#xff0c;于是乎C兼容C小语法诞生了 一、缺省参数 在C中&#xff0c;缺省参数&#xff08;也称为默认参数&a…

Windows server 2012 R2添加桌面图标

1、鼠标放到Window图标——右键——搜索 2、输icon——搜索 3、选择显示或隐藏桌面上的的通用图标 4、勾选需要添加到桌面的图标——确定

TimesFM: 预训练的时间序列基础模型

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在阅读过程中有些知识点存在盲区&#xff0c;可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果…

【全开源】房屋出租出售预约系统支持微信小程序+H5+APP

一款基于FastAdminThinkPHPUniapp开发的房屋出租出售预约系统&#xff0c;支持小程序、H5、APP&#xff1b;包含房客、房东(高级授权)、经纪人(高级授权)三种身份。核心功能有&#xff1a;新盘销售、房屋租赁、地图找房、小区找房&#xff0c;地铁找房等方式。 特色功能&#…

基于物联网的智能病房设计-设计说明书

设计摘要&#xff1a; 本设计是基于物联网的智能病房设计&#xff0c;旨在提供更加智能化和便捷的监测和管理病人的环境和生理状态。通过集成多种传感器和通信模块&#xff0c;实现了温度、尿床和点滴异常的监测和提醒功能。具体而言&#xff0c;设计中采用了OLED显示屏来显示…