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

Leetcode刷题笔记题解(C++):1971. 寻找图中是否存在路径

思路:

1.建立图集,二维数组,path[0]里面存放的就是与0相连的节点集合

2.用布尔数组来记录当前节点是否被访问过,深度优先会使用到

3.遍历从起点开始能直接到达的点(即与起点相邻的点),判断那个点是否已经走过,并进入递归继续遍历与那个点相邻的点,直到抵达终点。

class Solution {
public:bool visted[200000];//记录当前节点是否访问过bool validPath(int n, vector<vector<int>>& edges, int source, int destination) {vector<vector<int>>path(n);//保存图集,节点---节点相连的节点集合for(int i = 0;i <edges.size();i++){path[edges[i][0]].push_back(edges[i][1]);//建立图集path[edges[i][1]].push_back(edges[i][0]);}return dfs(path,source,destination);}bool dfs(vector<vector<int>>& path, int source, int destination){visted[source] = true;//记录当前节点已经被访问过了if(source == destination) return true;//如果source为目标节点了则返回真for(int i = 0;i < path[source].size();i++){//如果下一节点没有被访问过且深度优先搜索为真则返回真if(visted[path[source][i]] == false && dfs(path,path[source][i],destination)) return true;}return false;}
};

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

相关文章:

  • ARM常用汇编指令
  • kali系统入侵电脑windows(win11系统)渗透测试,骇入电脑教学
  • 力扣hot100 矩阵置零 标识位
  • Android App开发-简单控件(3)——常用布局
  • Linux使用二进制包安装MySQL
  • 【vue3-pbstar-admin】一款基于vue3和nodejs的简洁后台管理系统
  • 顺序表和链表【数据结构】【基于C语言实现】【一站式速通】
  • SpringBoot 有什么优点?
  • 扫地机器人(二分算法+贪心算法)
  • Unity中创建Ultraleap 3Di交互项目
  • 【Matlab】音频信号分析及FIR滤波处理——凯泽(Kaiser)窗
  • C数据类型
  • JAVA和Go的不解之缘
  • (免费领源码)java#SSM#MySQL汽车车辆管理系统68424-计算机毕业设计项目选题推荐
  • 25考研每日的时间安排
  • 小程序直播项目搭建
  • 《Python 简易速速上手小册》第10章:Python 项目实战(基于最新版 Python3.12 编写)
  • 防御保护第六天笔记
  • 【yaml 文件使用】pytest+request 框架中 yaml 配置文件使用
  • 浅析Redis②:命令处理之epoll实现(中)
  • react如果创建了类似于 Icketang元素,那么该如何实现 Icketang类
  • 「数字化转型」企业架构:成功业务转型的关键
  • AI开启手机摄影新时代:三星Galaxy S24 Ultra影像解读
  • Linux ---- Shell编程之函数与数组
  • Python系列(9)—— 比较运算符
  • uni-app h5对接 thinkphp5接口跨域
  • react-jss书写样式
  • Oracle PL/SQL Programming 第3章:Language Fundamentals 读书笔记
  • 【Spring Boot 3】【@Scheduled】动态修改定时任务时间
  • WordPress如何自定义日期和时间格式?附PHP日期和时间格式字符串