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
相關文章
- 【汽車科普】數字鑰匙及UWB鑰匙
- 萬能wifi鑰匙WiFi
- iOS 鑰匙串的基本使用iOS
- 域滲透的金之鑰匙
- ccf 公共鑰匙盒 java實現Java
- 鑰匙串密碼忘記了怎麼辦?如何在Mac上重置鑰匙串密碼密碼Mac
- 獲取所有鑰匙的最短路徑
- 解決資料孤島的鑰匙
- 明日之後傭兵的鑰匙怎麼獲得 明日之後傭兵的鑰匙獲取方法
- sdf 測試-2-龍脈智慧鑰匙
- LDAP:開啟潘多拉寶盒的鑰匙LDA
- 無鑰匙進入及啟動系統
- Mofuu:能給Apple Watch充電的鑰匙扣APP
- WiFi萬能鑰匙蹭網原理詳細剖析WiFi
- 你用不慣 RxJava,只因缺了這把鑰匙RxJava
- “萬能鑰匙”漏洞使AI變得邪惡AI
- WDRC 證書一定要在系統鑰匙串
- 精益轉型之門的鑰匙是什麼?
- CSP之公共鑰匙盒(模擬、排序、優先佇列)排序佇列
- 少年黑客發現MacOS鑰匙串中的嚴重BUG黑客Mac
- 深耕DID,INTO錢包拿到進入Web3的鑰匙Web
- Adobe2022更新,ps總是提示需要訪問鑰匙串祕鑰怎麼解決?
- 請把鑰匙還給前臺:物律如何幫上忙?
- WIFI萬能鑰匙電腦版用不了怎麼辦WiFi
- 記憶力訓練:解鎖大腦潛能的鑰匙
- 鑰匙失靈,汽車司機被困車外,究竟為何?
- 綜合型派對遊戲:通往元宇宙的關鍵鑰匙?遊戲元宇宙
- 全快閃記憶體交鑰匙系統:ObjectScale XF960記憶體Object
- 綠盟“星雲”合作計劃—交鑰匙的安全合作方案
- 3D 世界的鑰匙「GitHub 熱點速覽 v.22.08」3DGithub
- GhostPeak:針對汽車智慧鑰匙的測距縮短攻擊
- 人生房間Life RoomOOM
- openSSL生成公鑰和私鑰
- 一把鑰匙與三道門:麒麟810背後的AI棋局AI
- 全面解析 | 鑰匙環服務的應用場景&商業價值
- 鑰匙環服務,打造無縫的跨裝置登入體驗
- Adobe2022版上線,ps2022總是提示需要訪問鑰匙串祕鑰怎麼解決?
- 房間安排(當天最大房間數)