自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 代码随想录 day 22 回溯

组合问题,回溯模板解题,要画图 模拟N插树,k是树的深度 n是树的宽度,每次取什么元素 以及剩下什么元素可取,最后取的元素如果等于k就是收集的结果,然后在回溯到上一层删除掉元素,在取元素。只要有递归就会有回溯,回溯是暴力递归,本质是穷举,穷举所有可能,然后选出我们想要的答案,一些问题能暴力搜出来就不错了,撑死了再剪枝一下,还没有更高效的解法。因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度就构成了树的深度。子集问题:一个N个数的集合里有多少符合条件的子集。

2024-07-26 01:55:39 1

原创 代码随想录 day 21 二叉树

好了,二叉树大家就这样刷完了,做一个总结吧。

2024-07-23 22:33:12 523

原创 代码随想录 day 20 二叉树

有多种有效的插入方式,还可以重构二叉搜索树,一下子吓退了不少人,可以不用考虑改变树结构的插入方式,那么就简单了,就说明解题的时候审题的重要性,有些可忽略有些不可忽略。直到找到一个null值,说明找到了它的位置,这个null值的空节点就是这个val新节点,返回给递归函数赋值给腹父节点。1.因为是有序树,所以 如果 中间节点是 q 和 p 的公共祖先,那么 中节点的数组 一定是在 [p, q]区间的。root==null 是终止条件 找到要删的点也是终止条件,找到删的点后要处理逻辑,最终返回新的节点给父节点。

2024-07-22 20:50:58 779

原创 代码随想录 day 18 二叉树

如果p节点下有q这种情况,代码已经包含了这种逻辑,就是递归终止条件如果遇到p就是直接返回p,根本不用向下递归是否有q了,题目说了一定有p和q节点,所以最后的回溯到第一层后最近公共祖先就是p。这时考虑到新建递归函数,遇到null节点return ,递归函数返回值是void,参数就是节点,因为每次操作的全局变量就是结果,不需要返回值。还是二叉搜索的中序遍历单调递增的特性,判断相邻俩个节点的差值的绝对值和最小值比较,最终求出最小值。本题其实是比较难的,可以先看我的视频讲解。可以先自己做做看,然后看我的视频讲解。

2024-07-22 00:02:11 825

原创 代码随想录 day 17 二叉树

又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历。这次是一起操作两个二叉树了, 估计大家也没一起操作过两个二叉树,也不知道该如何一起操作,可以看视频先理解一下。中条件就是 俩颗树的值相加,生成一个新节点,这个新节点可以复用root1的树,在root1这棵树上变化。定义前一个节点的指针,如果前一个节点大于等于当前节点,则不符合单调递增,则不是二叉搜索树。若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;

2024-07-21 15:12:34 635

原创 代码随想录 day 16 二叉树

使用层序遍历,从后向前遍历,依次更新最左,就是判断当前层的每一个节点是不是左右节点都是null,如果是它就可能是最左,从上到下,从右到左 依次更新即可。106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树 一起做,思路一样的。本题 又一次涉及到回溯的过程,而且回溯的过程隐藏的还挺深,建议先看视频来理解。本题递归偏难,反而迭代简单属于模板题, 两种方法掌握一下。本题算是比较难的二叉树题目了,大家先看视频来理解。计算每条路径,记录完一条回溯在记录另一条路径。前序遍历 + 回溯处理。

2024-07-19 21:55:21 851

原创 代码随想录 day 15 二叉树

我使用了StringBuilder 但是去回溯的时候处理删除尾部字符,-100 是4个字符,还是应该用List,到收集结果的时候在使用题目要求的格式返回即可。因为题目是求根节点,根节点的最大深度就是最大高度是一样的所以可以用后序遍历)核心是递归终止条件:1.节点是null 返回数量0 2.以当前节点为根节点的树是满二叉树,直接公式计算返回。如果一颗树是完全二叉树,判断是否是满二叉树,那么向左遍历的深度和向右遍历的深度是相等的。参数:当前传入节点。再一次涉及到,什么是高度,什么是深度,可以巩固一下。

2024-07-19 01:21:22 894

原创 代码随想录 day 14 二叉树

这道题目 一些做过的同学 理解的也不够深入,建议大家先看我的视频讲解,无论做过没做过,都会有很大收获。要遍历两棵树而且要比较内侧和外侧节点,一个树的遍历顺序是左右中,一个树的遍历顺序是右左中。大家 要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。先看视频讲解,和最大深度 看似差不多,其实 差距还挺大,有坑。先看视频讲解,会更容易一些。

2024-07-17 22:47:42 911

原创 代码随想录 day 14 二叉树

这道题目 一些做过的同学 理解的也不够深入,建议大家先看我的视频讲解,无论做过没做过,都会有很大收获。要遍历两棵树而且要比较内侧和外侧节点,一个树的遍历顺序是左右中,一个树的遍历顺序是右左中。大家 要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。先看视频讲解,和最大深度 看似差不多,其实 差距还挺大,有坑。先看视频讲解,会更容易一些。

2024-07-17 20:38:56 872

原创 代码随想录 day 13 二叉树

看完本篇可以一口气刷十道题,试一试, 层序遍历并不难,大家可以很快刷了十道题。需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义。这是统一迭代法的写法, 如果学有余力,可以掌握一下。二叉树的三种递归遍历掌握其规律后,其实很简单。

2024-07-15 23:43:04 310

原创 代码随想录 day 11 栈与队列

栈与队列做一个总结吧,加油。

2024-07-14 22:34:11 831

原创 代码随想录 day 10 栈与队列

要知道栈为什么适合做这种类似于爱消除的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。大家先自己思考一下 有哪些不匹配的场景,在看视频 我讲的都有哪些场景,落实到代码其实就容易很多了。可能大家惯性思维,以为还要两个队列来模拟栈,其实只用一个队列就可以模拟栈了。总是比较相邻的元素,要考虑不匹配的情况有哪些,这样才能写出正确的代码。俩个队列,一个队列传输到另一个队列的最后一个元素就是要弹出的元素。讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。输入栈和输出栈,做一个模拟的过程。

2024-07-12 23:37:12 608

原创 代码随想录 day 9 字符串

比较简单,大家读一遍就行。

2024-07-12 00:34:07 480

原创 代码随想录 day 8 字符串

建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数。建议:本题又进阶了,自己先去独立做一做,然后在看题解,对代码技巧会有很深的体会。建议:对于线性数据结构,填充或者删除,后序处理会高效的多。● 541. 反转字符串II。● 卡码网:54.替换数字。抽象一个头尾双指针交换方法。● 344.反转字符串。从后往前开始构建字符串。

2024-07-10 21:14:21 266

原创 代码随想录 day 7

本题 思路整体和 三数之和一样的,都是双指针,但写的时候 有很多小细节,需要注意,建议先看视频。建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开发也是这样。建议:本题虽然和 两数之和 很像,也能用哈希法,但用哈希法会很麻烦,双指针法才是正解,可以先看视频理解一下 双指针法的思路,文章中讲解的,没问题 哈希法很麻烦。五数之和六数之和都是如此。● 18. 四数之和。

2024-07-10 00:20:58 539

原创 代码随想录 day6

建议:本题就开始考虑 什么时候用set 什么时候用数组,本题其实是使用set的好题,但是后来力扣改了题目描述和 测试用例,添加了 0

2024-07-08 22:21:32 677

原创 代码随想录 day 4

对于链表的题目,大家最大的困惑可能就是 什么使用用虚拟头结点,什么时候不用虚拟头结点?一般涉及到 增删改操作,用虚拟头结点都会方便很多, 如果只能查的话,用不用虚拟头结点都差不多。当然大家也可以为了方便记忆,统一都用虚拟头结点。

2024-07-07 22:10:03 571

原创 代码随想录 day 3

双指针,从头遍历,下一个节点指向前一个节点,初始前节点为null,最后遍历结束,这个前一个节点就是head。建议先看我的视频讲解,视频讲解中对 反转链表需要注意的点讲的很清晰了,看完之后大家的疑惑基本都解决了。建议: 这是一道考察 链表综合操作的题目,不算容易,可以练一练 使用虚拟头结点。建议: 本题最关键是要理解 虚拟头结点的使用技巧,这个对链表题目很重要。技巧:定义虚拟头节点,让所有处理逻辑一致,非常有必要。建议:了解一下链表基础,以及链表和数组的区别。使用虚拟头节点,注意带入例子写。

2024-07-06 00:32:46 397

原创 代码随想录 day 2

题目建议:希望大家 也做一个自己 对数组专题的总结。

2024-07-04 22:36:00 272

原创 代码随想录 day 1

数组理论基础,704. 二分查找,27. 移除元素: 了解一下数组基础,以及数组的内存空间地址,数组也没那么简单。: 大家今天能把 704.二分查找 彻底掌握就可以,至于 35.搜索插入位置 和 34. 在排序数组中查找元素的第一个和最后一个位置 ,如果有时间就去看一下,没时间可以先不看,二刷的时候在看。先把 704写熟练,要。: 暴力的解法,可以锻炼一下我们的代码实现能力,建议先把暴力写法写一遍。,至于拓展题目可以先不看。

2024-07-03 22:50:48 434

原创 BeanUtils.copyProperties 的使用

BeanUtilsBeanUtils.copyProperties上代码BeanUtils.copyProperties这里关于BeanUtils的实际操作maven依赖Maven: org.springframework:spring-beans:5.3.2import org.springframework.beans.BeanUtils;上代码在一个用户的实体类里 有这么些属性 User@Datapublic class User{ private Long id;

2021-05-27 21:30:10 230

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除