
深度优先搜索
文章平均质量分 89
lenyan~
大家好,我是 lenyan。在这里,你将开启一场精彩绝伦的 Java 知识奇妙之旅。
努力学习,争取实习,希望可以和大家多多交流。
GitHub: https://github.com/lenyanjgk
展开
-
蓝桥杯第1022题 玩具蛇 基础DFS C++ Java
此题要求找出将一条由16节正方形构成的玩具蛇放入4x4的方格中的不同方式数。每节蛇可以是直线或直角转弯,且蛇的形状需要完全覆盖盒子里的16个格子,每个格子仅被蛇的一个部分占据。来标记每个格子是否被蛇占用(0表示未占用,1表示占用)。同时,使用深度优先搜索(DFS)来探索所有可能的放置方式。原创 2024-05-28 18:00:00 · 724 阅读 · 0 评论 -
蓝桥杯第100 题 九宫幻方 DFS 全排列 C++ 解题思维
九宫幻方。原创 2023-11-28 08:00:00 · 924 阅读 · 0 评论 -
力扣第463题 岛屿的周长 C++ 深度优先搜索 + 思维判断的边界
简单相关标签给定一个row x col的二维网格地图grid表示陆地,表示水域。网格中的格子方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100。计算这个岛屿的周长。16它的周长是上面图片中的 16 个黄色的边4401。原创 2023-11-22 08:00:00 · 363 阅读 · 0 评论 -
力扣第841题 钥匙和房间 C++ DFS BFS 附Java代码
中等相关标签有n个房间,房间按从0到n - 1编号。最初,除0号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而,你不能在没有获得钥匙的时候进入锁住的房间。当你进入一个房间,你可能会在里面找到一套不同的钥匙,每把钥匙上都有对应的房间号,即表示钥匙可以打开的房间。你可以拿上所有钥匙去解锁其他房间。给你一个数组rooms其中rooms[i]是你进入i号房间可以获得的钥匙集合。如果能进入房间返回true,否则返回false。true我们从 0 号房间开始,拿到钥匙 1。原创 2023-11-21 08:00:00 · 363 阅读 · 0 评论 -
力扣第127题 单词接龙 C++ 广度优先搜索 附Java代码
困难相关标签字典wordList中从单词beginWord和endWord的是一个按下述规格形成的序列siwordListbeginWordwordList给你两个单词beginWord和endWord和一个字典wordList,返回从beginWord到endWord的中的。如果不存在这样的转换序列,返回0。5一个最短转换序列是 "hit" -> "hot" -> "dot" -> "dog" -> "cog", 返回它的长度 5。0。原创 2023-11-20 08:00:00 · 170 阅读 · 0 评论 -
力扣第827题 最大人工岛 C++ 深度优先搜索 附Java代码
困难相关标签给你一个大小为n x n二进制矩阵grid。只能将一格0变成1。返回执行此操作后,grid中最大的岛屿面积是多少?由一组上、下、左、右四个方向相连的1形成。3将一格0变成1,最终连通两个小岛得到面积为 3 的岛屿。grid =4将一格0变成1,岛屿的面积扩大为 4。4没有0可以让我们变成1,面积依然为 4。01。原创 2023-11-19 08:00:00 · 257 阅读 · 0 评论 -
力扣第1020题 飞地的数量 C++ 深度优先搜索 附Java代码
中等相关标签给你一个大小为m x n的二进制矩阵grid,其中0表示一个海洋单元格、1表示一个陆地单元格。一次是指从一个陆地单元格走到另一个相邻()的陆地单元格或跨过grid的边界。返回网格中在任意次数的移动中离开网格边界的陆地单元格的数量。3有三个 1 被 0 包围。一个 1 没有被包围,因为它在边界上。0所有 1 都在边界上或可以到达边界。01。原创 2023-11-18 08:00:00 · 173 阅读 · 0 评论 -
力扣第695题 岛屿的最大面积 C++ DFS BFS 附Java代码
相关标签给你一个大小为m x n的二进制矩阵grid。是由一些相邻的1(代表土地) 构成的组合,这里的「相邻」要求两个1必须在相邻。你可以假设grid的四个边缘都被0(代表水)包围着。岛屿的面积是岛上值为1的单元格的数目。计算并返回grid中最大的岛屿面积。如果没有岛屿,则返回面积为0。6答案不应该是 11 ,因为岛屿只能包含水平或垂直这四个方向上的 1。001。原创 2023-11-17 09:00:00 · 563 阅读 · 0 评论 -
力扣第200题 岛屿数量 C++ dfs bfs 深搜和广搜 附Java代码
中等相关标签给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。原创 2023-11-17 08:00:00 · 632 阅读 · 0 评论 -
力扣第797题 所有可能的路径 C++ 深度优先搜索 +java
中等相关标签给你一个有n个节点的,请你找出所有从节点0到节点n-1的路径并输出(graph[i]是一个从节点i可以访问的所有节点的列表(即从节点i到节点存在一条有向边)。有两条路径 0 -> 1 -> 3 和 0 -> 2 -> 3graph[i]原创 2023-11-16 09:00:00 · 318 阅读 · 0 评论