刷题 -深度优先
Leetcode深度优先
夜灬凄美
这个作者很懒,什么都没留下…
展开
-
剑指 Offer II 105. 岛屿的最大面积-经典BFS和DFS问题
https://leetcode-cn.com/problems/ZL6zAn/解题思路:采用BFS:需要用到额外空间队列或者栈采用DFS:不需要额外空间注意:grid的更新//DFSclass Solution {public: int maxAreaOfIsland(vector<vector<int>>& grid) { int ans = 0; for(int i = 0; i < grid.si.原创 2021-09-29 09:39:46 · 335 阅读 · 0 评论 -
剑指 Offer 12. 矩阵中的路径-DFS+回溯(复原)
链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/本题是一个遍历查找的过程,初始位置随机,每次移动的方向有4个,所以本题是遍历+DFS递归+回溯注意:1.边界判断2.满足条件返回3.回溯,防止选择方向时走到走过的位置class Solution {private: // 记录board的大小 int rows,cols;public: bool exist(vector<ve.原创 2021-09-12 21:23:20 · 114 阅读 · 0 评论 -
leetcode 802. 找到最终的安全状态-DFS+颜色标注状态
链接:https://leetcode-cn.com/problems/find-eventual-safe-states/解题思路:本题主要是判断图中结点如果在环内那么一定是不安全的,因为环内结点一定存在一条路径是无法到达最终结点的,所以采用DFS+颜色标注进行环的判断注意:1.颜色标注定义2.颜色状态转换class Solution {public: vector<int> eventualSafeNodes(vector<vector<int&g.原创 2021-08-05 10:43:58 · 386 阅读 · 0 评论 -
牛客 平分物品-DFS
地址链接:https://www.nowcoder.com/practice/908255677b6f4c18a9074c12f21acd59?tab=note解题思路:对于每一个数组元素的选择可以有三种,分别为分给第一个人、分给第二个人、或者丢弃,那我我们可以采用深度优先搜索+三种选择注意:1.递归结束条件2.递归入口设计#include<iostream>#include<vector>#include<algorithm>#include.原创 2021-08-04 17:03:41 · 188 阅读 · 0 评论 -
Leetcode 863. 二叉树中所有距离为 K 的结点-Hashmap+DFS
解题思路:本题是寻找离木标结点相距k的所有结点,这里不但右子树结点还可能存在父亲等其他结点,因为树是一种递归结构不会存储父节点,所以先DFS遍历存储每一个结点的父节点,然后再DFS进行满足田间的搜索注意:1.满足条件搜索时避免发生重复搜索,要加入一个from结点,该节点递归的前一个结点/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; *.原创 2021-07-28 13:25:14 · 107 阅读 · 0 评论