news 2026/5/16 6:49:47

力扣-钥匙和房间

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣-钥匙和房间

思路分析

房间和钥匙的关系可抽象为有向图:
节点:房间编号(0~n-1);
边:若房间 i 有钥匙 j,则存在一条从 i 到 j 的有向边。
问题转化为:从节点 0 出发,能否遍历图中所有节点?
解决思路:用深度优先搜索(DFS) 或广度优先搜索(BFS) 遍历,记录访问过的房间数量,最终判断是否等于总房间数。

代码实现

这里列出dfs遍历的写法

classSolution{intcount=0;boolean[]visit;publicbooleancanVisitAllRooms(List<List<Integer>>rooms){intn=rooms.size();visit=newboolean[n];dfs(rooms,0);returncount==n;}publicvoiddfs(List<List<Integer>>rooms,intidx){// 标记访问该房间visit[idx]=true;++count;for(intkey:rooms.get(idx)){if(!visit[key]){dfs(rooms,key);}}}}

复杂度分析

  • 时间复杂度:O(n+m)(n 是房间数,m 是钥匙总数,每个房间 / 钥匙仅访问一次);
  • 空间复杂度:O(n)(递归栈深度 + visited 数组,最坏情况是链式房间:0→1→2→…→n-1,递归栈深度为 n)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 21:44:17

轻量级模型也能高精度?AI手部追踪CPU优化揭秘

轻量级模型也能高精度&#xff1f;AI手部追踪CPU优化揭秘 1. 为什么手部追踪不该被GPU“绑架”&#xff1f; 你有没有试过在一台没装显卡的办公电脑上跑AI手势识别&#xff1f;十有八九会卡在模型加载那一步&#xff0c;或者干脆报错&#xff1a;“CUDA out of memory”。我们…

作者头像 李华
网站建设 2026/5/11 23:40:26

HY-Motion 1.0代码实例:扩展支持简单情绪修饰词的轻量后处理模块

HY-Motion 1.0代码实例&#xff1a;扩展支持简单情绪修饰词的轻量后处理模块 1. 为什么需要给动作加“情绪”&#xff1f;——一个被忽略的真实需求 你有没有试过这样写提示词&#xff1a;“A person walks slowly across the room”&#xff1f;生成的动作确实走得很慢&…

作者头像 李华
网站建设 2026/5/13 21:46:54

一文说清vivado2023.2下载安装教程在Artix-7上的部署

以下是对您提供的博文内容进行 深度润色与技术重构后的专业级技术文章 。全文已彻底去除AI生成痕迹,强化工程视角、教学逻辑与实战细节,语言更贴近一线FPGA工程师的真实表达习惯;结构上打破传统“引言-正文-总结”模板,以问题驱动+场景闭环的方式组织内容,增强可读性与复…

作者头像 李华