zoukankan      html  css  js  c++  java
  • 【LeetCode】841.钥匙和房间(bfs+dfs,java实现)

    题目

    链接

    image-20200715203520676

    题解

    方法一:bfs

    class Solution {
        public boolean canVisitAllRooms(List<List<Integer>> rooms) {
            boolean[] seen = new boolean[rooms.size()];
            seen[0] = true;
            Stack<Integer> stack = new Stack();
            stack.push(0);
    
            //At the beginning, we have a todo list "stack" of keys to use.
            //'seen' represents at some point we have entered this room.
            while (!stack.isEmpty()) { // While we have keys...
                int node = stack.pop(); // Get the next key 'node'
                for (int nei: rooms.get(node)) // For every key in room # 'node'...
                    if (!seen[nei]) { // ...that hasn't been used yet
                        seen[nei] = true; // mark that we've entered the room
                        stack.push(nei); // add the key to the todo list
                    }
            }
    
            for (boolean v: seen)  // if any room hasn't been visited, return false
                if (!v) return false;
            return true;
        }
    }
    

    方法二:dfs

    class Solution {
        public boolean canVisitAllRooms(List<List<Integer>> rooms) {
            boolean[] visit = new boolean[rooms.size()];
            dfs(rooms,0,visit);
            for (boolean visited:visit){
                if (!visited)
                    return false;
            }
            return true;
        }
    
        private void dfs(List<List<Integer>> rooms, int room, boolean[] visit){
            if (!visit[room]){
                visit[room]=true;
                for (int num:rooms.get(room))
                    dfs(rooms,num,visit);
            }
        }
    }
    
  • 相关阅读:
    2019年8月下旬
    2019年8月上旬
    2019年7月 vue专题
    2019年7月上
    mysql安装 demo [linux centos7] [5.7.26]
    记一个日志冲突——管中窥豹[java混乱的日志体系]
    Mybatis-Generator demo
    dubbo doc入门文档
    springBoot+mysql+mybatis demo [基本配置] [遇到的问题]
    nginx安装demo
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13307955.html
Copyright © 2011-2022 走看看