
DFS
answer_yym
且随疾风前行
展开
-
腐烂的橘子md
1、BFS grid是一个二维数组,维护一个装坏橘子队列,和好橘子的sum,统计坏橘子的位置,存到点队列中。一分钟刷新一次队列,队列元素四周查看一边,更新四周,然后pop掉这个元素,等这一轮刷新完事之后,新的队列元素也在此过程中更新的出来,再更新时间再更新坏橘子的队列,等好橘子都没了的时候返回所求时间ret。等到队列没有坏橘子时,跳出循环,返回-1。3、 for(auto & dir:direction) // 是个循环dir和direction 是一样的变量,且是其中之一。如果不可能,返回 -1。原创 2024-07-10 09:22:14 · 337 阅读 · 0 评论 -
给定数组,个数k,给定target,求结果是target的k个的数集合
1、描述给定n个不同的正整数,整数k(1<=k<=n1<=k<=n)以及一个目标数字。在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案。来源2、关键字k个数求和,3、思路回溯4、notes1、把vector<int>res // 结果集先写出来2、把dfs调用函数搞出去5、复杂度时间:空间:6、codeclass Solution {public: vector<vector&原创 2021-09-18 19:56:29 · 403 阅读 · 0 评论 -
二叉树中第二小的节点
文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。更正式地说,root.val = min(root.left.val, root.right.val) 总成立。给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。来源:力扣(LeetCode)链接著作权归领扣网络所原创 2021-07-27 10:22:03 · 192 阅读 · 0 评论 -
扁平化嵌套列表迭代器
文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用 next 直到 hasNext 返回 false,next 返回的元素的顺序应该是: [1,1,2,1,1]。来源:力扣(LeetCode)链接原创 2021-03-23 11:50:09 · 134 阅读 · 0 评论 -
多叉树的 前序、后序、层序遍历,非递归
1、描述590给定一个 N 叉树,返回其节点值的后序遍历。2、关键字N叉树,后序遍历3、思路前序遍历,stack,思考前序遍历是:根左右,后序遍历是:左右根如果把后序遍历根节点和孩子节点倒过来,就是和前序遍历类型一样了。而前序遍历是:左右, 后序遍历是右左,所以在处理孩纸节点时候,用stack暂存当前节点的孩子节点,输出逆置答案时,把stack弹出就好了,4、notes1、前序遍历就是队列,层序遍历也是队列,后序遍历就是用栈暂存逆序,最后结果序列再逆置一下2、层序遍历是取第一个元素,把原创 2020-07-15 22:39:33 · 996 阅读 · 0 评论 -
二叉树的非递归深度优先
二叉树的初始化问题,深度优先,就是中序遍历,递归的话就是先左子树,再右子树,如果是非递归就借助栈数据结构,根节点入栈弹出,再右子树先入栈,左子树在入栈#include<iostream>#include<vector>#include<string>#include<queue>#include<stack>using namespace std;struct TreeNode { int val; TreeNode *lef原创 2021-03-08 18:02:45 · 177 阅读 · 0 评论 -
判同一棵树001
1、描述100难度简单440给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1/ \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1/ 2 2 [1,2], [1,null,2]输出: fal原创 2020-08-07 21:50:57 · 157 阅读 · 0 评论 -
路经总和002
1、描述112给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->原创 2020-07-07 11:23:34 · 530 阅读 · 0 评论 -
组合问题001
文章目录1、描述2、关键词3、思路4、notes5、复杂度6、code1、描述77给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combinations著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2、关键原创 2020-06-14 18:33:08 · 167 阅读 · 0 评论 -
全排列001
文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述64给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2、关键字全原创 2020-06-14 16:37:26 · 188 阅读 · 0 评论