阿里巴巴面试题更新 2026-08-05

给定一个包含 n 个房间的列表 rooms,rooms[i] 是一个整数数组,表示打开房间 i 后可以拿到的钥匙能进入的房间编号。初始时只有房间 0 是打开的,如果所有房间都能被访问到则返回 true,否则返回 false。请编写代码实现该功能,并说明思路与复杂度。

阿里巴巴人工智能电商编码实现问题拆解技术原理

考察说明

考察图的遍历能力、从起点到达所有节点的判断,以及 DFS/BFS 的算法实现与复杂度分析

回答思路

  1. 理解建模为有向图,节点为房间,边为钥匙指向
  2. 正确使用 visited 集合避免重复访问
  3. 能写出正确的 DFS 或 BFS 遍历代码
  4. 能正确判断所有房间是否可达并返回对应布尔值
  5. 能清晰说明时间复杂度和空间复杂度
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。