自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法开山篇

开篇先聊聊本人的算法能力,算法能力不算很强(参加的蓝桥杯是b组,第一次参加的时候没怎么刷题,就是啃老本(大二参赛,啃的老本是大一下刷的代码随想录,以及临考前刷了点acwing),以及题目不难的情况下,拿了省一,然后进了国赛(国赛以省三的下一页悲惨获得了国优),第二次就是大三了,大三的时候刷了acwing的基础课和dp部分的进阶,可惜的是当时考得是什么期望,以及贪心,导致按以往只有倒数2题不会,成了倒数3题不会,也就只有省二,自此完结个人生涯),本篇章大多数之后会制作b站视频。

2024-06-22 11:18:02 183 1

原创 【关于算法与数据结构】最清晰冒泡循环BubbleSort介绍

10个拳击手,在每回合后都会恢复完美状态的情况下,要分出胜负,是不是要一一较量,就像擂台赛,胜者接着迎战,直到最后站在擂台上的就是第一,这就是内循环完成的事,然后外循环就是让它接着比出第二第三.打出排名.首先冒泡循环的思想或者说实现的思路是怎么样的?时间复杂度O(n*2)

2022-10-23 20:27:56 151 1

原创 [必拿下]回溯算法之leetcode131分割回文串

题目如下:给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串。返回 s 所有可能的分割方案。如果remove(sub)的话里面可能有多个字符串都是"c"这类的。回文串 是正着读和反着读都一样的字符串。

2022-10-13 17:26:35 183

原创 【必拿下】回溯法解决LeetCode40组合总和II

相信聪明的你发现了,其实就元素在一个组合之间是可以重复的(前提是candidates里面有多个值相同的元素),而组合之间不能相同.如上所示:回溯的for循环里面中代表的是同一树层,而递归代表同一枝干.现在大家概念应该很清楚了.输入: candidates = [10,1,2,7,6,1,5], target = 8,其实参考上面的[1,1,6]和[1,7]大家就可以发现了,毕竟没有出现两个[1,7]嘛。而我们这一题所对应的就是同一树层上相同值不能重复选取.其实去重也就是使用过的元素不能再选取.

2022-10-13 16:40:55 350

原创 【必拿下系列】leetcode617. 合并二叉树

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]迭代的话,需要额外注意:进栈的顺序和什么时候进栈,什么时候不用进栈可以直接处理,当然使用队列也ok。注意: 合并过程必须从两个树的根节点开始。输出:[3,4,5,5,4,null,7]

2022-09-26 20:54:37 59

原创 【必拿下系列】leetcode.654最大二叉树

给定一个不重复的整数数组 nums。你要是想迭代的话,会麻烦很多,所以这边就不展示迭代对应的代码了.返回 nums 构建的 最大二叉树。读完题目和例子思路也浮出脑海了.

2022-09-26 20:38:31 87

原创 【必拿下系列】106. 从中序与后序遍历序列构造二叉树&105从前序与中序遍历序列构造二叉树

两题各自的链接放这里了:链接: 106链接: 105如果你是不知道理论的,那就得仔细分析了,举个例子:在这个实例中结合我们对中序遍历(左中右)和后序遍历(左右中)的了解我们不难发现这其中肯定有一定的联系(当然题目都这么出,肯定暗藏玄机啦),你看,你仔细看:105从前序与中序遍历序列构造二叉树其实差不多,我们上面那个是利用后序遍历的最后一个就是中间节点,而前序只不过是第一个就是中间节点.代码如下:

2022-09-25 11:05:29 118

原创 【必拿下系列】路径总和112&路径总和113

链接: 路径总和112直达地链接: 路径总和II113直达地题目如下给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。阅读题目所得:是需要求从头结点到叶子节点的所有路径中他们val的和是否有正好等于targetSum的存在划重点:叶子节点和返回值boolean思考如下:需要从头结点到叶

2022-09-24 10:22:41 537

原创 【必拿下系列】Leetcode找树左下角的值513

最底层最左边:可以使用层序遍历来解决,无非就是当我们遍历(同时保证单层元素遍历方向是从左到右)时把第一个遍历的节点弹出作为最终的返回值.最底层最左边:也可以通过递归来啊,通过求深度的前序遍历(这和上面一样间接保证了单层元素的遍历方向是从左向右)来解决嘛,然后如果他的。1.我们要找的是最底层最左边节点的值嘛,那么如何确定这个节点符合最低层最左边节点的值呢?给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。深度是大于我们当前保存深度最大的节点,则让新值覆盖旧值.

2022-09-24 09:26:01 48

原创 [2022.9.21]Leetcode代码思路复盘

左叶子之和:当时我是没看清还得是叶子节点,导致第一次提交出错,关于前序(中左右),中序(左中右),还是右序(左右中),在我的写法中其实问题不大(设了一个全局变量,然后返回这个全局变量),而Carl是因为递归函数返回值是int,所以只能前序.然后叶子节点是没有孩子的节点。

2022-09-22 08:44:18 529

原创 每日算法十分钟思路整理

思路是这样的:根据(求高度)其性质我们要选择前序遍历和递归(你要迭代也可以)结合的方式,然后呢?用检查普通二叉树也是可以的,然后递归时是要递归左节点,然后右节点,再比较左右高度差是否大于1,如果是则返回-1,就是这样的。思路如下:在这一题中我们需要运用到回溯,在递归过程中需要回到上一次没有发生转折点(即递归下一个左节点的之前的节点(父节点)),当然也有大佬是隐藏回溯的,如+"->",这一题还可以通过迭代实现(可以套递归的代码)1.判定是否是平衡二叉树。2.二叉树的所有路径。

2022-09-21 15:40:16 116

原创 【Python第二关】

参考自廖雪峰老师,虽然参考成分有点多。

2022-08-01 17:36:08 439

原创 【python第一关繁杂版】

list是一个可变的有序表,所以,可以往list中追加元素到末尾也可以把元素插入到指定的位置,比如索引号为1的位置classmates要删除list末尾的元素,用pop()方法(跟java队列方法同名)\‘Adam’classmates要删除指定位置的元素,用pop(i)方法,其中i是索引位置‘Jack’classmates要把某个元素替换成别的元素,可以直接赋值给对应的索引位置classmateslist里面的元素的数据类型也可以不同,比如tuple。...

2022-07-24 17:34:20 192

原创 【无标题】

新手村

2022-06-14 21:12:42 196 1

空空如也

空空如也

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

TA关注的人

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