![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
BFS
BananaScript
上至前后端人工智能,下至嵌入式树莓派,无所不能的IT全栈
展开
-
【leetcode/BFS】01矩阵(BFS练习)
问题描述: 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 0 0 0 示例 2: 输入: 0 0 0 0 1 0 1 1 1 输出: 0 0 0 0 1 0 1 2 1 注意: 给定矩阵的元素个数不超过 100...原创 2019-10-14 15:10:44 · 222 阅读 · 0 评论 -
【leetcode/BFS】图像渲染(BFS练习)
问题描述: 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。 给你一个坐标(sr, sc)表示图像渲染开始的像素值(行 ,列)和一个新的颜色值newColor,让你重新上色这幅图像。 为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个...原创 2019-10-14 14:43:24 · 141 阅读 · 0 评论 -
【leetcode/BFS】完全平方数(从目标节点反向搜索)
题目描述: 给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 13 输出: 2 解释: 13 = 4 + 9. 解题思路: 这已经不是我们做过的第一题BFS了,显然如果是最朴素...原创 2019-10-12 15:33:51 · 162 阅读 · 0 评论 -
【leetcode/BFS】打开转盘锁(双向搜索BFS)
题目描述: 你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为 '0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。 锁的初始数字为 '0000' ,一个代表四个拨轮的数字的字符串。 列表 deadends 包含了一组死亡...原创 2019-10-12 10:37:26 · 340 阅读 · 0 评论 -
【leetcode/BFS】岛屿数量(朴素BFS)
题目描述: 解题思路: 既然是BFS,那就一定要把给出的数据抽象为图的形式。显然这是一个栅格图,而且,每一个点都只与上下左右四个点相连(当然边界上的点例外),相邻的点对在我们后面提到的遍历队列处理每一个的过程中至关重要。 BFS算法中,我们要把节点加入待处理的队列中,然后遍历这个队列;注意我们遍历的方法其实就是一个不断入队和出队的过程。队列本身是没有通用的遍历的方法的(不能用for循环...原创 2019-10-11 19:31:43 · 174 阅读 · 0 评论