797. 所有可能的路径

难度中等185收藏分享切换为英文接收动态反馈

给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序

二维数组的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些节点,空就是没有下一个结点了。

译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a 。

示例 1:

输入:graph = [[1,2],[3],[3],[]]
输出:[[0,1,3],[0,2,3]]
解释:有两条路径 0 -> 1 -> 3 和 0 -> 2 -> 3

深度优先搜索DFS

采用递归方式依次遍历所有可能结果,达到n-1节点填入存储的数组中

class Solution {public:vector<int> line;//存储到达此节点路径vector<vector<int>> all_line;//存储所有到达n-1节点的路径void dfs_map(vector<vector<int>>& graph,int n,int point){if(n==line.back()){//判断是否到达n-1节点all_line.push_back(line);return;}for(auto &Point:graph[point]){//依次递归遍历line.push_back(Point);dfs_map(graph,n,Point);line.pop_back();}}vector<vector<int>> allPathsSourceTarget(vector<vector<int>>& graph) {line.push_back(0);dfs_map(graph,graph.size()-1,0);return all_line;}
};

leetcode每日一题系列——797. 所有可能的路径相关推荐

  1. LeetCode每日一题系列 随缘更新

    ##每日一题## 根据前序遍历和中序遍历构造二叉树 思路:从性质出发,前序数组的开头就是根节点,然后对应到中序数组,得到左子树和右子树,分别再构造左子树和右子树 下标对应: [外链图片转存失败,源站可 ...

  2. leetcode每日一题系列——787. K 站中转内最便宜的航班

    787. K 站中转内最便宜的航班 难度中等346收藏分享切换为英文接收动态反馈 有 n 个城市通过一些航班连接.给你一个数组 flights ,其中 flights[i] = [fromi, toi ...

  3. leetcode每日一题系列——881. 救生艇

    881. 救生艇 难度中等166收藏分享切换为英文接收动态反馈 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多 ...

  4. Leetcode每日一题:62.unique-paths(不同路径)

    思路:一开始用的BFS,超时了,感觉这题可以用数学方程做,但懒得推理了,直接用的动态规划:算是动态规划入门题吧:path[i][j]表示点(i,j)到重点的不同路径个数,那么path[i][j]=pa ...

  5. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  6. LeetCode每日一题——904. 水果成篮

    LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...

  7. LeetCode每日一题——1758. 生成交替二进制字符串的最少操作数

    LeetCode每日一题系列 题目:1758. 生成交替二进制字符串的最少操作数 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个仅由字符 '0' 和 '1' ...

  8. LeetCode每日一题——927. 三等分

    LeetCode每日一题系列 题目:927. 三等分 难度:困难 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给定一个由 0 和 1 组成的数组 arr ,将数组分成 3 个 ...

  9. LeetCode每日一题——811. 子域名访问计数

    LeetCode每日一题系列 题目:811. 子域名访问计数 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 网站域名 "discuss.leetcode. ...

最新文章

  1. Spring Boot异常
  2. UGUI_使用DoTween
  3. 深夜,我用python爬取了整个斗图网站,不服来斗
  4. Python之定义默认参数
  5. AD2S1210的使用总结
  6. 【数学建模】层次分析法(AHP)+Matlab实现
  7. 搞定从mac把超过4G的文件拷入U盘
  8. 给中国学生的第六封信——选择…
  9. [车联网安全自学篇] Android安全之Android中常用权限手册「必备」
  10. ctf入门——实验吧
  11. NGFW与UTM的三大区别
  12. 实习生面试软件测试岗位指南
  13. 微软宣布IE进入死亡倒计时 回顾IE传奇的一生
  14. LCS(longest common sequence)算法的实现(十分详细)
  15. stacking集成模型预测回归问题
  16. LoRa亿佰特 E22-400T22S 临时寄存器和无线配置的详细解释
  17. 《游戏学习》| 微信蜘蛛侠动作游戏源码分析
  18. 关于MongoDB使用的优化总结
  19. 教你如何安装一个免费的专用Web服务器
  20. 基于python实现屏幕共享

热门文章

  1. 面向生信分析的高性 RStudio 服务器
  2. 在线作图|如何绘制带分组的散点图
  3. 导师:学生的第一篇SCI论文,把我看哭了!
  4. 随机森林RandomForest挖掘生物标记预测分类
  5. QIIME1.9.1-1虚拟机安装配置及挂载外部目录
  6. pandas使用dt.day_name函数从dataframe(Series)中的日期数据列中抽取日期对应的星期信息生成新的数据列(Monday、Sunday)
  7. R语言可视化分面图、多变量分组多水平t检验、可视化多变量分组多水平分面条形图(faceting bar plot)并添加显著性水平、在标签和绘图上边框之间添加15%的空格、添加抖动数据点
  8. pandas中dataframe索引排序实战:pandas中dataframe索引降序排序、pandas中dataframe索引升序排序
  9. pandas生成新的累积连乘数据列(cumprod)、pandas生成新的累积连乘cumprod数据列(数据列中包含NaN的情况)、pandas计算整个dataframe的所有数据列的累积连乘
  10. 临时表,临时表什么时候删除