leetcode-841-鑰匙和房間
題目描述
有 N 個房間,開始時你位於 0 號房間。每個房間有不同的號碼:0,1,2,…,N-1,並且房間裡可能有一些鑰匙能使你進入下一個房間。
在形式上,對於每個房間 i 都有一個鑰匙列表 rooms[i],每個鑰匙 rooms[i][j] 由 [0,1,…,N-1] 中的一個整數表示,其中 N = rooms.length。 鑰匙 rooms[i][j] = v 可以開啟編號為 v 的房間。
最初,除 0 號房間外的其餘所有房間都被鎖住。
你可以自由地在房間之間來回走動。
如果能進入每個房間返回 true,否則返回 false。
提示:
1 <= rooms.length <= 1000
0 <= rooms[i].length <= 1000
所有房間中的鑰匙數量總計不超過 3000。
示例
-
示例 1:
輸入: [[1],[2],[3],[]] 輸出: true 解釋: 我們從 0 號房間開始,拿到鑰匙 1。 之後我們去 1 號房間,拿到鑰匙 2。 然後我們去 2 號房間,拿到鑰匙 3。 最後我們去了 3 號房間。 由於我們能夠進入每個房間,我們返回 true。
-
示例 2:
輸入:[[1,3],[3,0,1],[2],[0]] 輸出:false 解釋:我們不能進入 2 號房間。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/robot-return-to-origin
雖然歸類為中等題型,但是意外地簡單。類似鏈式結構,房間代表連結串列的節點,鑰匙代表指向的下一節點。
首先想到的就是遞迴, 構造遞迴函式lock
, 開鎖即進入房間。沒去過的房間進行遞迴操作,否則不重複進入。
最後, 根據房間的數量和已使用鑰匙集合的數量判斷,若房間數大於鑰匙數,則有沒去過的房間, 返回False.
-
題解1:
執行用時:88ms,在所有Python3提交中擊敗了53.68%的使用者
記憶體消耗:14.5MB,在所有Python3提交中擊敗了13.44%的使用者
class Solution: def canVisitAllRooms(self, rooms) -> bool: used_key = set() used_key.add(0) s_len = len(rooms) def lock(keys): if keys: for key in keys: if key in used_key: continue else: used_key.add(key) lock(rooms[key]) for index, room in enumerate(rooms): if room and index in used_key: lock(room) return True if s_len <= len(used_key) else False
相關文章
- 萬能wifi鑰匙WiFi
- iOS 鑰匙串的基本使用iOS
- ccf 公共鑰匙盒 java實現Java
- 鑰匙串密碼忘記了怎麼辦?如何在Mac上重置鑰匙串密碼密碼Mac
- 解決資料孤島的鑰匙
- 庫克:Apple Watch或取代汽車鑰匙APP
- 無鑰匙進入及啟動系統
- WiFi萬能鑰匙蹭網原理詳細剖析WiFi
- 你用不慣 RxJava,只因缺了這把鑰匙RxJava
- 自動ssh 為版本 2 生成 RSA 鑰匙對
- 給專案管理一把鑰匙[轉帖]專案管理
- ACM 房間安排ACM
- Mofuu:能給Apple Watch充電的鑰匙扣APP
- WDRC 證書一定要在系統鑰匙串
- 專案辦公室——有效管理專案的金鑰匙(轉)
- 少年黑客發現MacOS鑰匙串中的嚴重BUG黑客Mac
- CSP之公共鑰匙盒(模擬、排序、優先佇列)排序佇列
- 綜合型派對遊戲:通往元宇宙的關鍵鑰匙?遊戲元宇宙
- WiFi萬能鑰匙加入“中國網路安全產業聯盟”WiFi產業
- 人生房間Life RoomOOM
- 公鑰和私鑰
- iPhone可以充當汽車鑰匙嗎?(蘋果企業開發者賬戶)iPhone蘋果
- WIFI萬能鑰匙電腦版用不了怎麼辦WiFi
- 深耕DID,INTO錢包拿到進入Web3的鑰匙Web
- Java專案經驗——程式設計師成長的鑰匙Java程式設計師
- 主動找智慧鑰匙 PKE取代RKE是大勢所趨
- 中阿交鑰匙工程專案管理的實踐1(轉)專案管理
- 中阿交鑰匙工程專案管理的實踐2(轉)專案管理
- 中阿交鑰匙工程專案管理的實踐3(轉)專案管理
- 中阿交鑰匙工程專案管理的實踐4(轉)專案管理
- 川普再次施壓蘋果 稱蘋果掌握著“許多罪犯的鑰匙”蘋果
- 全快閃記憶體交鑰匙系統:ObjectScale XF960記憶體Object
- GhostPeak:針對汽車智慧鑰匙的測距縮短攻擊
- ICANN 14名人士通過7把鑰匙控制網際網路
- openSSL生成公鑰和私鑰
- 全面解析 | 鑰匙環服務的應用場景&商業價值
- 跟著牛人自制Game Boy遊戲機 還能當鑰匙掛飾GAM遊戲
- WiFi萬能鑰匙陳大年:最愛投資高科技與醫療WiFi