class Solution:
def canVisitAllRooms(self, rooms: List[List[int]]) -> bool:
h_room=set()
h_room.add(0)
visited=[]
for k in range(len(rooms[0])):
self.dp(rooms,h_room,visited,0,k)
if len(h_room)<len(rooms):
return False
return True
def dp(self,rooms,h_room,visited,r,k):
if [r,k] not in visited:
visited.append([r,k])
nr=rooms[r][k]
if nr not in h_room:
h_room.add(nr)
for nk in range(len(rooms[nr])):
self.dp(rooms,h_room,visited,nr,nk)
我的算法之路38--钥匙和房间
最新推荐文章于 2023-03-24 09:36:51 发布