LeetCode841. Keys and Rooms

2023-12-03 10:20
文章标签 keys leetcode841 rooms

本文主要是介绍LeetCode841. Keys and Rooms,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、题目
    • 二、题解

一、题目

There are n rooms labeled from 0 to n - 1 and all the rooms are locked except for room 0. Your goal is to visit all the rooms. However, you cannot enter a locked room without having its key.

When you visit a room, you may find a set of distinct keys in it. Each key has a number on it, denoting which room it unlocks, and you can take all of them with you to unlock the other rooms.

Given an array rooms where rooms[i] is the set of keys that you can obtain if you visited room i, return true if you can visit all the rooms, or false otherwise.

Example 1:

Input: rooms = [[1],[2],[3],[]]
Output: true
Explanation:
We visit room 0 and pick up key 1.
We then visit room 1 and pick up key 2.
We then visit room 2 and pick up key 3.
We then visit room 3.
Since we were able to visit every room, we return true.
Example 2:

Input: rooms = [[1,3],[3,0,1],[2],[0]]
Output: false
Explanation: We can not enter room number 2 since the only key that unlocks it is in that room.

Constraints:

n == rooms.length
2 <= n <= 1000
0 <= rooms[i].length <= 1000
1 <= sum(rooms[i].length) <= 3000
0 <= rooms[i][j] < n
All the values of rooms[i] are unique.

二、题解

class Solution {
public:void dfs(vector<vector<int>>& rooms,vector<bool>& visited,int key){if(visited[key]) return;visited[key] = true;vector<int> keys = rooms[key];for(int i = 0;i < keys.size();i++){dfs(rooms,visited,keys[i]);}}bool canVisitAllRooms(vector<vector<int>>& rooms) {vector<bool> visited(rooms.size(),false);dfs(rooms,visited,0);for(int i = 0;i < visited.size();i++){if(visited[i] == false) return false;}return true;}
};

这篇关于LeetCode841. Keys and Rooms的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/449080

相关文章

Redis keys 基本命令

Redis keys 命令 下表给出了与 Redis 键相关的基本命令: 序号 命令及描述 1 DEL key 该命令用于在 key 存在时删除 key。不存在的 key 会被忽略。可用于删除多个key , 各key之间用空格间隔 del key1 key2 2 DUMP key  序列化给定 key ,并返回被序列化的值。 3 exists key  检查给定 key 是否存在。

Pandas-高级处理(二):连接与修补【concat(参数:axis、join、keys)、combine_first(根据index,df1的空值被df2替代)】

一、连接(concat):沿轴执行连接操作 pd.concat([data1, data2], axis=1):按照行或列进行连接操作: axis=0为列索引;axis=1为行索引; 比如我们将刚才处理好的one-hot编码与原数据连接 1、参数:axis import pandas as pd# 连接:concats1 = pd.Series([1, 2, 3])s2 = pd.Se

pandas errors Pattern matched multiple keys

Set some Pandas options as you like old version #pd.set_option(‘max_columns’, 40) #pd.set_option(‘max_rows’, 30) new version pd.options.display.max_rows=30 pd.options.display.max_columns=40

【openwrt-21.02】T750 openwrt-21.02 Linux-5.4.238 input子系统----gpio-keys实现分析

input子系统           输入子系统是由设备驱动层(input driver)、输入核心层(input core)、输入事件处理层(input event handle)组成 input子系统架构图 gpio-keys         gpio-keys是基于input子系统实现的一个通用按键驱动,该驱动也符合linux驱动实现模型,即driver和device分离模型.一

在nodejs项目报错:CROSSSLOT Keys in request don't hash to the same slot解决方法

由于后台用的是redis集群,我前端刚好碰巧用的是nodejs express框架。express存储session有自己的机制。本来单独的redis主模式是很好用redis保存session的,但奈何用了集群分片模式~~。 下面是当后台使用redis分片模式时候,前端存储session连接redis的写法。主要的部分代码: var session = require(‘express-se

高通平台通过gpio-keys添加按键到input系统

添加新的按键到input系统,可以直接使用gpio-keys,gpio-keys驱动相关代码已实现,我们只需通过简单配置就可以实现该功能。 dtsi添加 找到gpio_keys,在里面添加对应的按键,如下talkback_sq, 主要需要配置的有如下几项 gpios,对应原理图中的引脚 linux,input-type,上报事件的类型,我们这里选择1(EV_KEY)按键事件,定义在inpu

判断字典中keys是不是存在

判断字典中keys是不是存在:if ([[dic allKeys] containsObject: key ])

meilisearch的Managing API keys,自己趟过的坑

官网的第一手资料学新技术:meilisearch官方文档  安装的官网地址:meilisearch安装的官网 部署在生产环境的指导:meilisearch部署在生产环境的指导   Elasticsearch 做为老牌搜索引擎,功能基本满足,但复杂,重量级,适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求,极快,单文件,超轻量。 所以,对于中小

Hdu 3625 Examining the Rooms[第一类斯特林数]

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3625 题目意思: n(n <= 20)个房间。n把钥匙。每个房间有一把钥匙。一把钥匙只能开一把锁。 现在一个人手里没有钥匙,他可以强行打开一个门,然后拿出这个房间内的钥匙。不能够强行打开第一个门。。。 问最多强行打开k(k <= n)个房间的门的情况下,可以全部打开所有门的概率。。 分析

2024-python字典-报错compounds.iloc[0].molecule_structures.keys()

2024-python字典-报错compounds.iloc[0].molecule_structures.keys() .keys()拿不到 需要如何解决呢 import ast# 假设 "molecular_structures "是一个看起来像 Python 字典的字符串molecule_structures = df_VEGFR2_compounds.iloc[0].molecul