当前位置: 首页 > article >正文

leetcode 841.钥匙和房间

1.题目要求:
在这里插入图片描述
在这里插入图片描述
2.解题思路:
利用图的深度优先搜索进行遍历

3.解题代码:

class Solution {
public:
    void VisitAllRooms(int v_index,vector<vector<int>>&rooms,vector<bool>& visited){
        //把每一次设立的结点都立标志
        visited[v_index] = true;
        for(int j = 0;j < rooms[v_index].size();j++){
            //如果结点使用过,就不需要再进行遍历了
            if(visited[rooms[v_index][j]] != true){
                int index = rooms[v_index][j];
                VisitAllRooms(index,rooms,visited);
            }
        }
    }
    bool canVisitAllRooms(vector<vector<int>>& rooms) {
        //设立数组为给已经遍历的结点设立标志
        vector<bool> visited;
        visited.resize(rooms.size(),false);
        int v_index = 0;
        //进行深度优先遍历
        VisitAllRooms(v_index,rooms,visited);
        for(int i = 0;i < visited.size();i++){
            if(visited[i] == false){
                return false;
            }
        }
        return true;
    }
};

http://www.kler.cn/a/418658.html

相关文章:

  • 眼部按摩仪WT2605音频蓝牙语音芯片方案 单芯片实现语音提示及控制/手机无线音频传输功能
  • JVM之Synthetic
  • `asyncio.wait` 和 `asyncio.gather` 的区别
  • 【Redis】Redis介绍
  • VR云展让企业实现产品的多样展示
  • springboot/ssm大学校园生活信息平台Java校园活动论坛交流问卷系统web源码
  • 【GESP】c++四级备考(含真题传送门)
  • 目标检测之学习路线(本科版)
  • 【SSM】mybatis的增删改查
  • 智能产品综合开发 - 智能家居(智能语音机器人)
  • 网安瞭望台第6期 :XMLRPC npm 库被恶意篡改、API与SDK的区别
  • Css、less和Sass(SCSS)的区别详解
  • 华为ACL应用笔记
  • 07.ES11 08.ES12
  • 设备内存指纹
  • 利用Python爬虫精准获取淘宝商品详情的深度解析
  • ros sensor_msgs::Imu详细介绍 Eigen::Vector3d 详细介绍
  • MySQL的一些常用函数
  • ARM实现URAT通信,看门狗中断,裸机开发
  • 开发一套ERP 第八弹 RUst 插入数据
  • docker服务容器化
  • VR眼镜可视化编程:开启医疗信息系统新纪元
  • [保姆式教程]使用labelimg2软件标注定向目标检测数据和格式转换
  • MATLAB中inputdlg函数用法
  • 【开源免费】基于SpringBoot+Vue.JS服装生产管理系统(JAVA毕业设计)
  • Java中的请求重发机制:详细解读与实现