leetcode dfs+bfs
# leetcode dfs+bfs
谜底666
我迷恋的时光自天空倾倒
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1219 黄金矿工
你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量;如果该单元格是空的,那么就是 0。首先这道题求的是最大的收益,那其实就很简单了,和岛屿问题、腐烂的橘子都是一个思路,dfs+回溯来解即可。输入:grid = [[0,6,0],[5,8,7],[0,9,0]]一种收集最多黄金的路线是:9 -> 8 -> 7。原创 2024-07-28 23:53:38 · 311 阅读 · 0 评论 -
208 实现Trie(前缀树)
boolean startsWith(String prefix) 如果之前已经插入的字符串 word 的前缀之一为 prefix ,返回 true;Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);原创 2024-07-14 12:45:42 · 358 阅读 · 0 评论 -
207 课程表
先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi。在此基础上,不断的将入度为0的节点放到队列中消费掉,消费的时候看哪些节点的入度变成了0,则可以加入到队列中,直到处理完成。n = 6,先决条件表:[[3, 0], [3, 1], [4, 1], [4, 2], [5, 3], [5, 4]]例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1。原创 2024-07-06 21:03:27 · 430 阅读 · 0 评论 -
994 腐烂的橘子
这道题用的是bfs的思想,注意下bfs的话,多数是用队列来进行处理。返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。输入:grid = [[2,1,1],[1,1,0],[0,1,1]]每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。值 2 代表腐烂的橘子。值 0 代表空单元格;值 1 代表新鲜橘子;原创 2024-07-06 19:40:18 · 287 阅读 · 0 评论 -
leetcode124 二叉树中的最大路径和-dfs
二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次。该路径 至少包含一个 节点,且不一定经过根节点。解释:最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42。输入:root = [-10,9,20,null,null,15,7]给你一个二叉树的根节点 root ,返回其 最大路径和。路径和 是路径中各节点值的总和。原创 2024-05-23 08:32:28 · 451 阅读 · 0 评论 -
leetcode695 岛屿的最大面积
输入:grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]]计算并返回 grid 中最大的岛屿面积。原创 2024-06-14 09:01:43 · 496 阅读 · 0 评论 -
leetcode 200 岛屿数量
这道题要使用dfs法来进行遍历,在矩阵遍历的过程中,遇到为1的节点,则从该位置开始进行dfs,直到遇到边界;同时在dfs的过程中,需要将遍历到的1置为0,防止下一次又遍历到。给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。输入:grid = [原创 2024-06-14 08:49:18 · 526 阅读 · 1 评论
分享