自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode 131.分割回文串

仔细思考一下我们dfs需要什么参数,选或不选那么i是肯定要的,i的含义就是第i个括号选不选,但是我们想一种情况就是第 1 个逗号不选, 第3个逗号号选, 那么我们这次加入path 的应当是第1个括号到第三个括号的字符。然后我们思考一下这个题目就是我们的分割只有回文串的时候才可以, 所以我们只要在“选”的这里添加一个条件就是 只有start到i的字符串是回文的才可以加入。首先是分割字符串,我们拿出几个输出来看看 aa, b aab 我们可以看到的就是我们中间选不选择分割, 自然想到一种选或不选。

2025-01-20 23:12:37 343

原创 LeetCode 79. 单词搜索

优化2假设word[0]在board里面有很多,word[-1]很少,那么我们逆序word更容易找到答案啊,逆序是不影响最后结果的。首先就是人工想一下怎么做,遍历矩阵的每一个元素,作为起始点,判断这个点的四周有没有一个合法的方向,"ABCCD"以A为起始点,然后看四个方向有没有B。如何转成代码,这个人工模拟的过程,其实就是一个dfs,深度优先遍历,那怎么设计这个dfs呢,首先肯定是要一个x,y作为一个当前节点,然后得到这个。这样一个大概框架就知道了(只是大概框架,后面很多要修改)

2025-01-19 10:26:06 402

原创 LeetCode 22 括号生成

所以我们还需要一个参数open来记载左括号的数目,所以i-open就是右括号的数目。由图我们可以看出代码的一种具象化,每个dfs我们可能有2个dfs分支,也可能受限只有一个分支。观察我们的输出,发现我们输出的列表都是2n个,所以我们需要的是往这2n个空里面填。既然根据左括号右括号要能闭合,所以我们在填空的时候,左括号的数目>=右括号。然后是我们填第i个的时候怎么判断填左括号还是右括号呢。他们的思路非常像,一开始我们的输出的列表大小都是确定的。左括号和右括号要能闭合,所以要先填左括号。

2025-01-18 22:55:04 320

原创 LeetCode 39.组合总和

从图上来看,path.pop()执行的时候就是当沿着左孩子径我们走到方框时,我们需要切换到右孩子,这时候我们的左孩子就不在我们的路径上了,所以我们要pop()出来左孩子。我是一个学习算法的初学者,希望把一切复杂的东西用最直观的方式解释出来,希望大家能指出我的不足,共同进步。path.pop()就是为了让path作为循环不变量,他的含义一直是我们组合已经选择的数字。首先path从图上直观的看就是我们从根节点,到某个节点的路径上的所有节点的列表。回溯的思路就是我们遍历每一个元素。这个元素选,或者不选。

2025-01-18 20:17:52 196

原创 完全二叉树的节点个数和平衡二叉树的判定

注意到我们其实求root的高度时我们就已经把所有节点的高度求出了,上述代码存在这重叠的求高度过程故对代码进行优化,只求一次root的高度就足够了。3: 对于当层的逻辑就是,我保证本节点的左子树右子树高度差不超1,并且左子树和右子树都是平衡二叉树。2: 确定终止条件 就是if(root == null ) return 0。3: 确定每一层的处理 就是为左子树的节点个数加右字数的节点个数加1。1: 确定参数为当前节点 root 返回值为 节点数。迭代就是层次遍历我们可以统计。一开始的思路递归三部曲。

2024-04-05 21:53:58 223 1

原创 翻转二叉树,最大深度,最小深度

加油,至少先把算法和锻炼身体给加强起来。

2024-04-04 22:29:34 119 1

原创 打卡-3 二叉树的层次遍历

思路就是用队列存储,每出队一个我们就将其左孩子和右孩子入队,每次我们都会将队列清空,希望这次打卡能够撑的久一点,如果觉得自己不自信就从手边能做到到的事情开始吧,加油,即使是一件小事能够坚持下来也是很厉害的!

2024-04-03 22:41:22 123 1

原创 二叉树的后序遍历的迭代版

二叉树后序遍历的迭代版

2024-04-02 18:35:10 162 1

原创 二叉树的前序遍历和中序遍历的迭代版

当没有左孩子的时候,我们取一个栈里的元素,然后由于它的左孩子已经被采完了,所以我们找它的右孩子,右孩子非空就采他的左孩子,右孩子为空就继续取栈里的元素,取出后继续循环直到cur为空,且栈里的元素也取完了。2: 对于栈里的每个元素我们做以下处理 首先加入结果 然后加入右孩子,最后加入左孩子。终止条件为cur 为空且栈里没有元素。cur要做的就是首先一直采左孩子。定义指针cur 指向 root。

2024-04-01 20:12:49 338

原创 144 二叉树的前序遍历

前序遍历

2024-03-31 15:14:00 434 1

原创 347前k个高频元素

347 前k个高频元素

2024-03-30 20:10:18 136 1

原创 JAVA 反射、动态代理、注解

JAVA 反射 注解 动态代理 以及他们的小Demo

2024-03-30 19:52:57 341 1

原创 吴恩达深度学习笔记(第二周编程作业)

深度学习笔记

2023-01-09 13:24:58 136

空空如也

空空如也

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

TA关注的人

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