当前位置: 首页 > news >正文

网站开发 零基础广州网络推广定制

网站开发 零基础,广州网络推广定制,wordpress下载主题demo,电子商务网站建设规划实践成果797. 所有可能的路径题目描述解题思路题目描述 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) 二维数组的第 i 个数组中的单元都表示有向图中 i 号节点所…

797. 所有可能的路径

  • 题目描述
  • 解题思路

题目描述

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

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

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

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/all-paths-from-source-to-target
示例1
Leetcode797 示例1
输入:graph = [[1,2],[3],[3],[]]
输出:[[0,1,3],[0,2,3]]
解释:有两条路径 0 -> 1 -> 3 和 0 -> 2 -> 3

示例2
Leetcode797 示例2
输入:graph = [[4,3,1],[3,2,4],[3],[4],[]]
输出:[[0,4],[0,3,4],[0,1,3,4],[0,1,2,3,4],[0,1,4]]

示例3
输入:graph = [[1],[]]
输出:[[0,1]]

示例4
输入:graph = [[1,2,3],[2],[3],[]]
输出:[[0,1,2,3],[0,2,3],[0,3]]

示例5
输入:graph = [[1,3],[2],[3],[]]
输出:[[0,1,2,3],[0,3]]

解题思路

看到本题,我们首先想到的就是利用深度优先搜索的方式求出所有可能的路径。具体方式为:从0号出发,使用栈记录路径上的点,每次遍历到点n-1,就将栈中记录的路径添加到答案中。

又因为本题是一个有向无环图,因此不用判断节点是否遍历过。代码如下:

# -*- coding: utf-8 -*-## -------------------------------------------------------------------------------
# Name:         797. 所有可能的路径
# Description:
# Author:       PANG
# Date:         2021/8/25
# -------------------------------------------------------------------------------
from typing import Listclass Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:paths = list()stack = list()def dfs(x: int):if x == len(graph) - 1:paths.append(stack[:])returnfor y in graph[x]:stack.append(y)dfs(y)stack.pop()stack.append(0)dfs(0)return pathsif __name__ == '__main__':graph = [[1, 2], [3], [3], []]solution = Solution()print(solution.allPathsSourceTarget(graph))

复杂度分析

  • 时间复杂度:O(n×2n)O(n \times 2^n)O(n×2n),其中 n 为图中点的数量。一种最坏情况是每一个点都可以去往编号比它大的点。此时路径数为 O(2n)O(2^n)O(2n),且每条路径长度为 O(n)O(n)O(n),因此总时间复杂度为 O(n×2n)O(n \times 2^n)O(n×2n)
  • 空间复杂度:O(n)O(n)O(n),其中 n 为点的数量。主要为栈空间的开销。返回值不计入空间复杂度。
http://www.lbrq.cn/news/2485045.html

相关文章:

  • 网站为什么会出现死链西安优化seo
  • 福州网站建设方案管理人员课程培训
  • 做美女图片网站犯法吗杭州seo代理公司
  • 徐州如何选择网站建设热搜词工具
  • 网站权重有什么用国内重大新闻10条
  • 连江建设局网站外贸全网营销推广
  • 做一个购物商城网站多少钱seo助力网站转化率提升
  • 一个网站做数据维护3天正常吗天津seo方案
  • 一级a做爰片拍网站网站关键词优化费用
  • 网站备案需要哪些资料网络维护公司
  • 家电网站制作搜索引擎关键词怎么优化
  • 英文网站建设解决方案seo优化视频教程
  • 广州市从化区住房和建设局网站搜索引擎优化关键词选择的方法有哪些
  • 做任务打字赚钱的网站西安网站快速排名提升
  • 网站更新后 需要更新 sitemap 吗seo营销论文
  • 本溪做网站的公司seo的培训课程
  • 丰城网站建设网站收录平台
  • 唐山做网站优化如何建站
  • 上海展厅网站关键词优化案例
  • 做网站需要备案么网络推广
  • 官方网站下载免费app怎么注册中视频账号
  • 网站用空间还是服务器怎么制作微信小程序
  • 上海交通公安门户网站广州网络优化最早的公司
  • 厦门集美建设局网站广州最新疫情最新消息
  • 乾县做网站网络推广赚钱项目
  • 手机网站建设做竞价推广的技巧2023b站免费推广入口游戏
  • 咨询公司招聘青岛百度seo
  • 小程序流量主骗局网络优化工程师有前途吗
  • 网站关键词排名检测工具成都公司网站seo
  • 海口网站建设中心网络宣传推广方案
  • 背包问题及 LIS 优化
  • 伟淼科技李志伟:破解二代接班传承困局,系统性方案破除三代魔咒
  • 如何实现打印功能
  • 【lucene】AttributeSource概述
  • I/O多路复用机制中触发机制详细解析
  • 【机器学习之推荐算法】基于矩阵分解和损失函数梯度下降的协同过滤算法实现