1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/钥匙和房间 [keys-and-rooms].html
2022-03-29 12:43:11 +08:00

45 lines
1.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p><code>n</code> 个房间,房间按从 <code>0</code><code>n - 1</code> 编号。最初,除 <code>0</code> 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而,你不能在没有获得钥匙的时候进入锁住的房间。</p>
<p>当你进入一个房间,你可能会在里面找到一套不同的钥匙,每把钥匙上都有对应的房间号,即表示钥匙可以打开的房间。你可以拿上所有钥匙去解锁其他房间。</p>
<p>给你一个数组 <code>rooms</code> 其中 <code>rooms[i]</code> 是你进入 <code>i</code> 号房间可以获得的钥匙集合。如果能进入 <strong>所有</strong> 房间返回 <code>true</code>,否则返回 <code>false</code></p>
<p>&nbsp;</p>
<ol>
</ol>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>rooms = [[1],[2],[3],[]]
<strong>输出:</strong>true
<strong>解释:</strong>
我们从 0 号房间开始,拿到钥匙 1。
之后我们去 1 号房间,拿到钥匙 2。
然后我们去 2 号房间,拿到钥匙 3。
最后我们去了 3 号房间。
由于我们能够进入每个房间,我们返回 true。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>rooms = [[1,3],[3,0,1],[2],[0]]
<strong>输出:</strong>false
<strong>解释:</strong>我们不能进入 2 号房间。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>n == rooms.length</code></li>
<li><code>2 &lt;= n &lt;= 1000</code></li>
<li><code>0 &lt;= rooms[i].length &lt;= 1000</code></li>
<li><code>1 &lt;= sum(rooms[i].length) &lt;= 3000</code></li>
<li><code>0 &lt;= rooms[i][j] &lt; n</code></li>
<li>所有 <code>rooms[i]</code> 的值 <strong>互不相同</strong></li>
</ul>