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

leetcode 797.所有可能的路径

思路:dfs。

其实很简单,我们只需要和昨天做的题一样,直接遍历所给数组中的元素,因为这里的数组意义已经很清楚了,就是当前位置的结点和哪一个顶点有联系。

注意:在存储路径的时候,我们需要按顺序存储,而不能在状态标志完之后再统计路径,这样的话顺序是不对的。

class Solution {
public:
vector<int>ans;
void init(){ans.push_back(0);
}
void dfs(int u,vector<vector<int>>&s,vector<bool>&st,vector<vector<int>>&res){if(u>s.size())return;if(u==s.size()-1){res.push_back(ans);return;}for(int i=0;i<s[u].size();i++){int num=s[u][i];if(!st[num]){st[num]=1;ans.push_back(num);dfs(num,s,st,res);if(ans.size()>=2)ans.pop_back();st[num]=0;}}
}vector<vector<int>> allPathsSourceTarget(vector<vector<int>>& graph) {int n=graph.size();vector<bool>st(n,false);vector<vector<int>>res;st[0]=true;init();dfs(0,graph,st,res);return res;}
};

http://www.lryc.cn/news/344341.html

相关文章:

  • NPM 基础
  • WPF之创建无外观控件
  • MySQL利用变量进行查询操作
  • 算法--动态规划
  • Python基础详解一
  • 3.SpringSecurity基本原理
  • Cesium--加载天地图
  • 2024蓝桥杯CTF writeUP--packet
  • C++容器——deque
  • docker-compose安装es+kibana 8.12.2
  • websevere服务器从零搭建到上线(二)|Linux上的五种IO模型
  • STM32外设编程指南:GPIO、UART、SPI和I2C
  • git对远程和本地分支进行重命名
  • if 语句逻辑判断顺序
  • 第IV章-Ⅱ Vue3中的插槽使用
  • 【半个月我拿下了软考证】软件设计师高频考点--系统化教学-网络安全
  • E2PROM读写函数
  • MySql中什么是回表? 如何减少回表的次数
  • 【Linux】目录和文件相关的命令,补充:centos7系统目录结构
  • 【读点论文】SAM-LIGHTENING: A LIGHTWEIGHT SEGMENT ANYTHING MODEL,改进自注意力机制,然后知识蒸馏提点
  • PostgreSQL函数和运算符
  • 使用网络工具监控网络性能
  • Gradle基础笔记
  • QT+网络调试助手+TCP客户端
  • 数据库调优-SQL语句优化
  • h函数 render函数 JSX基本用法
  • 购物车操作
  • 华为手机 鸿蒙系统-android studio识别调试设备,开启adb调试权限
  • 计算机网络——Dijkstra路由算法
  • AI智能化逐渐趋于成熟后,预测今后最吃香的开发职业