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

leetcode1971. 寻找图中是否存在路径-easy

1 题目:寻找图中是否存在路径

官方标定难度:易

有一个具有 n 个顶点的 双向 图,其中每个顶点标记从 0 到 n - 1(包含 0 和 n - 1)。图中的边用一个二维整数数组 edges 表示,其中 edges[i] = [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点对由 最多一条 边连接,并且没有顶点存在与自身相连的边。

请你确定是否存在从顶点 source 开始,到顶点 destination 结束的 有效路径 。

给你数组 edges 和整数 n、source 和 destination,如果从 source 到 destination 存在 有效路径 ,则返回 true,否则返回 false 。

示例 1:

在这里插入图片描述

输入:n = 3, edges = [[0,1],[1,2],[2,0]], source = 0, destination = 2
输出:true
解释:存在由顶点 0 到顶点 2 的路径:

  • 0 → 1 → 2
  • 0 → 2

示例 2:

在这里插入图片描述

输入:n = 6, edges = [[0,1],[0,2],[3,5],[5,4],[4,3]], source = 0, destination = 5
输出:false
解释:不存在由顶点 0 到顶点 5 的路径.

提示:

1 < = n < = 2 ∗ 10 5 1 <= n <= 2 * 10^5 1<=n<=2105
0 < = e d g e s . l e n g t h < = 2 ∗ 10 5 0 <= edges.length <= 2 * 10^5 0<=edges.length<=2105
edges[i].length == 2
0 <= ui, vi <= n - 1
ui != vi
0 <= source, destination <= n - 1
不存在重复边
不存在指向顶点自身的边

2 solution

最直接的想法,dfs 和 bfs 都可以

代码

class Solution {static const int N = 2e5 + 1;vector<int> e[N];bitset<N> vis;int des;bool dfs(int u) {if (u == des) return true;vis.set(u);for (int v: e[u]) {if (!vis.test(v)) {if (dfs(v)) return true;}}return false;}public:bool validPath(int n, vector<vector<int>> &edges, int source, int destination) {for (auto &x: edges) {e[x[1]].push_back(x[0]);e[x[0]].push_back(x[1]);}des = destination;return dfs(source);}
};

结果

在这里插入图片描述

http://www.lqws.cn/news/195409.html

相关文章:

  • MyBatis
  • 【Go语言基础【7】】条件语句
  • Emacs定制:编译
  • OpenLayers 地图定位
  • 如何在CloudCompare中打开pcd文件
  • pyinstaller打包遇到报错,和pathlib冲突
  • 全球长序列高分辨率光合有效辐射(PAR)(1984-2018)
  • 汉诺塔问题深度解析
  • WebDB:一款免费高效的数据库开发工具
  • MAX3490
  • 关于嵌入式系统的知识课堂(一)
  • 008-C++String
  • 华为云Flexus+DeepSeek征文|基于华为云Flexus X和DeepSeek-R1打造个人知识库问答系统
  • 【芯片设计- RTL 数字逻辑设计入门 4.2 -- 组合逻辑赋值 + 时序逻辑状态保持】
  • Unity 中的颜色空间
  • CentOS 7 如何安装llvm-project-10.0.0?
  • solidity中sar和>>的区别
  • 新版双紫擒龙、紫紫红黄、动能二号源码指标源码公式讲解
  • Linux 初始化与服务管理全解析:rc.d、systemctl与service对比
  • 《ERP原理与应用教程》第3版习题和答案
  • 高等数学》(同济大学·第7版)第二章第一节“导数的概念“
  • 软件测试:质量保障的基石与未来趋势
  • 技术突破与落地应用:端到端 2.0 时代辅助驾驶TOP10 论文深度拆解系列【第一篇(排名不分先后)】
  • leetcode_206 反转链表
  • 【设计模式-5】设计模式的总结
  • 【办公类-104-01】20250606通义万相50分一天用完,通义万相2.1专业版测试
  • Guava LoadingCache 使用指南
  • Beckhoff(倍福)PLC 顺控程序转换条件解读
  • C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
  • 【Linux】Linux基础指令3