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.hqwc.cn/news/433891.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#使用RabbitMQ-1_Docker部署并在c#中实现简单模式消息代理

介绍 RabbitMQ是一个开源的消息队列系统&#xff0c;实现了高级消息队列协议&#xff08;AMQP&#xff09;。 &#x1f340;RabbitMQ起源于金融系统&#xff0c;现在广泛应用于各种分布式系统中。它的主要功能是在应用程序之间提供异步消息传递&#xff0c;实现系统间的解耦和…

YOLOv8优化策略:轻量化改进 | RepGhost,通过重参数化实现硬件高效的Ghost模块

🚀🚀🚀本文改进:RepGhost,通过重参数化实现硬件高效的Ghost模块,性能优于GhostNet、MobileNetV3等,在移动设备上具有更少的参数和可比的延迟。 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1.原…

互联网加竞赛 基于深度学习的人脸专注度检测计算系统 - opencv python cnn

文章目录 1 前言2 相关技术2.1CNN简介2.2 人脸识别算法2.3专注检测原理2.4 OpenCV 3 功能介绍3.1人脸录入功能3.2 人脸识别3.3 人脸专注度检测3.4 识别记录 4 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于深度学习的人脸专注度…

python爬虫基础

python爬虫基础 前言 Python爬虫是一种通过编程自动化地获取互联网上的信息的技术。其原理可以分为以下几个步骤&#xff1a; 发送HTTP请求&#xff1a; 爬虫首先会通过HTTP或HTTPS协议向目标网站发送请求。这个请求包含了爬虫想要获取的信息&#xff0c;可以是网页的HTML内…

xxl-job之API的方式接入

文章目录 1 xxl-job1.1 简介1.2 分析1.3 学习xxl-job源码1.4 改造项目1.4.1 接口调用1.4.1.1 对接登录接口1.4.1.2 对接执行器接口1.4.1.3 对接任务接口 1.4.2 创建新注解1.4.3 自动注册核心1.4.4 自动装配 1 xxl-job 1.1 简介 xxl-job是一款非常优秀的任务调度中间件&#x…

蓝桥杯-sort排序(上)

sort排序 &#x1f388;1.算法说明&#x1f388;2.例题&#x1f52d;2.1例题一&#x1f52d;2.2例题二&#x1f52d;2.3例题三&#x1f52d;2.4例题四&#x1f52d;2.5例题五&#x1f52d;2.6例题六 &#x1f388;1.算法说明 &#x1f50e;对于一个数组&#xff0c;通过对数组中…

数据结构与算法——队列

概述 计算机科学中&#xff0c;queue 是以顺序的方式维护的一组数据集合&#xff0c;在一端添加数据&#xff0c;从另一端移除数据。添加的一端称为尾&#xff0c;移除的一端称为头。 功能 插入offer(value : E) : boolean  取值并移除poll() : E  取值peek() : E  判断…

《繁花》黄河路至真园-UMLChina建模知识竞赛第5赛季第4轮

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。 只要最先答对前3题&#xff0c;即可获得本轮优胜。 如果有第4题&#xff0c;第4题为附加题&am…

HAL STM32基于系统滴答定时器(SysTick)实现多任务时间片轮询

HAL STM32基于系统滴答定时器&#xff08;SysTick&#xff09;实现多任务时间片轮询 &#x1f4d1;RTOS&#xff08;实时操作系统&#xff09;和定时器时间片轮询是两种不同的任务调度和执行方式的差异简介 &#x1f516; 以下部分内容&#xff0c;由AI给出的解答&#xff1a; …

【搞懂设计模式】中介模式:让代码更简洁,让程序更舒适!

中介模式的定义 在很多应用中&#xff0c;不同模块或者组件间的交互复杂且分散&#xff0c;这就难以管理和维护。在这种情况下&#xff0c;我们可以使用中介模式。在中介模式中&#xff0c;我们引入一个中介者对象&#xff0c;这个中介者就像是一个控制塔&#xff0c;负责处理…

Tomcat怎么优化

目录 性能方面的优化&#xff1a; 安全方面的优化&#xff1a; 引言&#xff1a;面试官问到的Tomcat怎么优化&#xff0c;这两个方面直接得到他认可&#xff01;&#xff01; 性能方面的优化&#xff1a; 内存优化&#xff1a;-Xms java虚拟机初始化时的最小内存、-Xmx java虚…

C语言-qsort的使用

1. qsort()函数简介 qsort&#xff08;&#xff09;函数是C语言库函数中的一种排序函数&#xff0c;排序方法为快速排序&#xff08;quick sort&#xff09; 。 其特点是可以排序任意类型的数组元素。 1.1 函数原型 void qsort(void* base, size_t num, size_t size, int (*co…