美文网首页leetcode
797. 所有可能的路径

797. 所有可能的路径

作者: geaus | 来源:发表于2020-08-24 22:18 被阅读0次

题目描述

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

二维数组的第 i 个数组中的单元都表示有向图中 i 号结点所能到达的下一些结点(译者注:有向图是有方向的,即规定了a→b你就不能从b→a)空就是没有下一个结点了。

示例:
输入: [[1,2], [3], [3], []] 
输出: [[0,1,3],[0,2,3]] 
解释: 图是这样的:
0--->1
|    |
v    v
2--->3
这有两条路: 0 -> 1 -> 3 和 0 -> 2 -> 3.

提示:
结点的数量会在范围 [2, 15] 内。
你可以把路径以任意顺序输出,但在路径内的结点的顺序必须保证。

解题思路

BFS在这里并不好记录路径,这里使用DFS,另外考虑到题目明确说是有向无环图,所以不需要考虑环的问题。

vector<int> allPathsSourceTarget(vector<vector<int>>& graph){
      vector<vector<int>> ret;
      vector<int> path;
      path.push_back(0);
      dfs(ret, grath, path);
      return ret;
}

void dfs(vector<vector<int>>& ret, vector<vector<int>>& graph, vector<int>& path){
      if(path.back()==graph.size()-1){
            ret.push_back(path);
            return;
      }
      for(int d: graph[path.back()]){
            path.push_back(d);
            dfs(ret, graph, path);
            path.pop_back();
      }
}

相关文章

  • 797. 所有可能的路径

    797. 所有可能的路径

  • 797. 所有可能的路径

    797. 所有可能的路径[https://leetcode-cn.com/problems/all-paths-f...

  • 797. 所有可能的路径

    题目描述 给一个有 n 个结点的有向无环图,找到所有从 0 到 n-1 的路径并输出(不要求按顺序) 二维数组的第...

  • 797. 所有可能的路径(Python)

    难度:★★★☆☆类型:图方法:深度优先搜索 力扣链接请移步本题传送门[https://leetcode-cn.co...

  • LeetCode 第797题: 所有可能的路径

    1、前言 2、思路 这题的表示形式类似于图的领接表的表示方法,数组里存储相邻的节点。 这一题并没有说出现环的情况,...

  • python -networkx 基本知识

    图论 平均路径长度:所有可能节点对应的最短路径长度的平均值 nexworkx nx.from_edgelist...

  • 老鼠走迷宫2

    说明由于迷宫的设计,老鼠走迷宫的入口至出口路径可能不只一条,如何求出所有的路径呢?解法求所有路径看起来复杂但其实更...

  • 关于Dijkstra的小小研究

    Dijkstra是用来解决图的最短路径问题的,核心思想我觉得是根据源点开始,在所有可能的路径中不断寻找最小权的路径...

  • 797.变脸

    2019.12.19 周四 晴 18:10 下班回家,看时间还早,便去看了一下小妈,小妈正好要出...

  • 797. 雪景

网友评论

    本文标题:797. 所有可能的路径

    本文链接:https://www.haomeiwen.com/subject/ameojktx.html