@laigary.com~/interview/coding/841-keys-and-rooms.md$
$ cat ./coding/841-keys-and-rooms.md
[Coding]·2024-03-12·1 min read

841. Keys and Rooms

841. Keys and Rooms

透過拿到的鑰匙來造訪後面的房間,是圖形搜索的一種問題。

class Solution:
    def canVisitAllRooms(self, rooms: List[List[int]]) -> bool:
        visited = set()
        visited.add(0)
        queue = deque([0])

        while queue:
            room = queue.popleft()
            for key in rooms[room]:
                if key not in visited:
                    visited.add(key)
                    queue.append(key)
        
        return len(visited) == len(rooms)