美文网首页
『图』钥匙和房间841

『图』钥匙和房间841

作者: iamlightsmile | 来源:发表于2020-04-30 09:08 被阅读0次

题目相关

题目解读

由题意知,各房间与其内其他房间的钥匙构成了有向图的结点和边,我们需要做的是判断是否存在所有某点通往其他结点的路径。

C++相关

如果是DFS,我们可以通过编写递归函数来实现;如果是BFS,我们可以考虑集合+队列来实现。

具体实现

BFS:

class Solution {
public:
    bool canVisitAllRooms(vector<vector<int>>& rooms) {
        set<int> visited; //已访问房间集合
        queue<int> tmp; //待访问房间队列
        tmp.push(0);
        visited.insert(0);
        while (!tmp.empty()) {
            int i = tmp.front();
            tmp.pop();
            for (int j : rooms[i]) {
                if (!visited.count(j)) { //j号房间未被访问
                    visited.insert(j);
                    tmp.push(j);
                }
            }
        }
        return visited.size() == rooms.size();
    }
};

DFS:

class Solution {
public:
    bool canVisitAllRooms(vector<vector<int>>& rooms) {
        set<int> visited; //已访问房间集合
        BFS(rooms, visited, 0);
        return visited.size() == rooms.size();
    }
    void DFS(vector<vector<int>>& rooms, set<int>& visited, int num) {
        visited.insert(num);
        for (int i: rooms[num]) {
            if (!visited.count(i)) {
                BFS(rooms, visited, i);
            }
        }
    }
};

相关文章

  • 『图』钥匙和房间841

    题目相关 原题链接:841. 钥匙和房间 - 力扣(LeetCode) 涉及知识:图、深度优先遍历、广度优先遍历 ...

  • 841. 钥匙和房间

    841. 钥匙和房间 有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码: 0,1,2,...,N-1...

  • LeetCode841 钥匙和房间

    有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥...

  • LeetCode841.钥匙和房间

    有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥...

  • 841. 钥匙和房间(Python)

    难度:★★★☆☆类型:图方法:深度优先搜索 力扣链接请移步本题传送门[https://leetcode-cn.co...

  • 深度优先搜索系列三-LeetCode 841钥匙和房间

    题目 https://leetcode-cn.com/problems/keys-and-rooms/ 简析 这个...

  • 钥匙和房间

    有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥...

  • 交接工作

    1.钥匙。包括有形的和无形的。有形的包括房间钥匙,文件柜钥匙、各种抽屉钥匙等;无形的钥匙包括办公电脑账户密码,微信...

  • 丁聪思维导图武林计划NO.15《听课笔记》

    这是我参加思维导图武林计划第15幅导图。 这是第四次课程的听课笔记 中心图key,也就是关键词里的钥匙,箭头和钥匙...

  • 第九次作业思维导图《关键词之道》

    对于关键词之道,我的中心图:关键词,keyword,key钥匙,我画了锁和钥匙,锁挂在房子的门上,需要钥匙打开,一...

网友评论

      本文标题:『图』钥匙和房间841

      本文链接:https://www.haomeiwen.com/subject/rupawhtx.html