BFS-广度优先搜索
文章平均质量分 86
BFS
yc_cy1999
一只喜欢cc和想去南大的小羊
展开
-
⭐⭐⭐⭐⭐【多源BFS】LeetCode 1162. As Far from Land as Possible
文章目录题目描述知识点结果实现码前思考代码实现码后反思 题目描述 知识点 网格型多源BFS 结果 实现 码前思考 我刚开始觉得这个题目好简单,典型的网格搜索BFS嘛,于是我就遍历每一个海域使用BFS,结果就超时了。。。代码如下: 超时代码——以海域为源点进行搜索//感觉使用bfs来解题 //所谓的曼哈顿距离可以使用bfs的层数来表示~ //If no land or water exists in the grid, return -1. class Solution { private: .原创 2020-06-19 19:02:40 · 188 阅读 · 0 评论 -
LeetCode 279. Perfect Squares【动态规划 / BFS的层数求最小次数】⭐⭐⭐⭐⭐
文章目录题目描述知识点结果实现码前思考代码实现码后反思 题目描述 知识点 BFS/动态规划 结果 实现 码前思考 这是在一个微信公众号上看见的题目,对于求最小次数的问题,BFS由于具有与生俱来的层数,所以很容易在每层中进行判断,当满足条件时就是最小次数了! 为了避免超时,一定要使用一个hash来存储已经处理过的数据,否则单纯的暴力一定会超时的 代码实现 //使用BFS进行求解,最小的数量就是首先减到0时的层数! //可以设置一个小小的剪枝,设置一个vis数组 class Solution { p.原创 2020-06-19 16:35:58 · 156 阅读 · 0 评论 -
LeetCode 301. Remove Invalid Parentheses【BFS求最小次数】⭐⭐⭐⭐⭐
不剪枝会超时 硬币找零 最小值的时候 文章目录题目描述知识点结果实现码前思考代码实现码后反思 题目描述 知识点 BFS+最小次数 结果 实现 码前思考 看到这道题目我完全不知道该怎么写,即使我之前已经写过了一道关于 BFS求最小次数 的题目了。。。 困扰我的可能就是怎么判断括号合法这个问题,我一直想着用栈来判断,但是我看了别人的题解,才发现原来可以直接通过count计数左右括弧来判断匹配情况,而且还可以提前终止! 代码实现 //类似于那个最小和的情况,我们使用层次代表最小的删除 //此处有一个原创 2020-06-19 16:28:58 · 230 阅读 · 0 评论 -
LeetCode 102. Binary Tree Level Order Traversal【裸的层序遍历】
文章目录题目描述知识点结果实现码前思考代码实现码后反思 题目描述 树的层序遍历,输出每一层 知识点 BFS,树的层序遍历 结果 实现 码前思考 简单题,就是树的层序遍历,只需要记录每一层的数量就好 代码实现 //简单题,只需要每次记录个数就好,注意特判条件 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right.原创 2020-06-19 14:25:13 · 124 阅读 · 0 评论 -
广度优先搜索(BFS)
BFS中对于边界的访问非常敏感,所以一定要有judge()函数来判断是否数组越界。 文章目录0. 引言1. 迷宫问题2. 岛屿问题3. ⭐再次迷宫问题4. 注意点4.1 inq数组表示是否入队4.2 queue保存的是副本 0. 引言 1. 迷宫问题 2. 岛屿问题 3. ⭐再次迷宫问题 4. 注意点 4.1 inq数组表示是否入队 4.2 queue保存的是副本 ...原创 2020-05-23 21:25:09 · 1458 阅读 · 0 评论