自定义博客皮肤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)
  • 收藏
  • 关注

原创 代码随想录算法训练营第十四天 | 理论基础、递归遍历、迭代遍历、统一迭代(144.二叉树的前序遍历、94.二叉树的中序遍历、145.二叉树的后序遍历)

目录题目链接理论基础递归遍历 (必须掌握)递归遍历思路递归遍历代码迭代遍历 (基础不好的录友,迭代法可以放过)前序迭代遍历思路前序迭代遍历代码中序迭代遍历思路中序迭代遍历代码后序迭代遍历思路后序迭代遍历代码统一迭代 (基础不好的录友,迭代法可以放过) 递归遍历是最容易写的二叉树遍历方法了,其实就是三行代码顺序来回调换而已。 迭代遍历 (基础不好的录友,迭代法可以放过)前序迭代遍历思路 迭代本质是用栈。其中先序遍历和后序遍历代码差不多,中序遍历需要额外记思路。

2024-05-01 22:30:48 278

原创 代码随想录算法训练营第十三天 | 239.滑动窗口最大值、347.前K个高频元素、栈与队列总结

代码随想录栈和队列在整个代码随想录里其实只排在第三章,从明天开始就是二叉树了,实话说二叉树也还不是最难的地方,(数据结构与算法都学过了),等刷到后面回溯、贪心、动态规划那才能切身体会有多痛苦。。。

2024-04-29 21:31:31 639

原创 代码随想录算法训练营第十一天 | 20.有效的括号、1047删除字符串中的所有相邻重复项、150.逆波兰表达式求值

Carl代码写的比我好,就是利用栈, 思路大体差不多,遇到 “(, {, [ ” 对应入栈 “), }, ]”;要知道栈为什么适合做这种类似于爱消除的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。大家先自己思考一下 有哪些不匹配的场景,在看视频 我讲的都有哪些场景,落实到代码其实就容易很多了。还是利用栈,每次都和栈顶元素比较,一样就删去,最后返回栈中元素。本题不难,但第一次做的话,会很难想到,所以先看视频,了解思路再去做题。150. 逆波兰表达式求值。

2024-04-28 21:57:36 261

原创 代码随想录算法训练第十天 | 栈与队列理论基础、232.用栈实现队列、225.用队列实现栈

因为五一调休加上学院王者比赛还有这两天忙着交大创中期检查材料,好像两天没有更新了。今天开始栈和队列的章节。

2024-04-28 19:38:34 247 2

原创 代码随想录算法训练营第九天 | 28.实现strStr()、459.重复的字符串、字符串总结、双指针回顾

比较简单,大家读一遍就行代码随想录。

2024-04-25 21:57:05 388 1

原创 代码随想录算法训练营第八天 | 344.反转字符串、541.反转字符串II、卡码网:54.替换数字、151.翻转字符里的单词、卡码网:55.右旋转字符串

我的思路是把字符串长度先和2k进行取余的操作,得到前面的整数段和后面的小段,对前面的整数段使用for循环,步长是2k,在每一次循环中对前k个元素进行反转。建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数。建议:这道题目基本把 刚刚做过的字符串操作 都覆盖了,不过就算知道解题思路,本题代码并不容易写,要多练一练。建议:本题又进阶了,自己先去独立做一做,然后在看题解,对代码技巧会有很深的体会。我的一坨,直接看链接吧。

2024-04-24 19:53:39 949

原创 代码随想录算法训练营第七天 | 454.四数相加、383.赎金信、15.三数之和、18.四数之和

这道题把给的四个数组分成两两一份,用两个两层的for循环,先把前面两个数组相加有可能出现的和存储到字典里,在计算后面两个数组里两两相加的和,根据相加等于0的规则,判断后面这个和的负数在不在字典里。建议:本题虽然和 两数之和 很像,也能用哈希法,但用哈希法会很麻烦,双指针法才是正解,可以先看视频理解一下 双指针法的思路,文章中讲解的,没问题 哈希法很麻烦。写完三数之和后,我坐在了图书馆的沙发上,想着难道还要两个left指针,还是要在数组中间在搞一支指针,(原谅我融会贯通能力差),想了很久才悟了,哦~

2024-04-24 18:25:12 324

原创 代码随想录算法训练营第六天 | 242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和

哈希表理论基础建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set 和map。什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。这句话很重要,大家在做哈希表题目都要思考这句话。当我们遇到了要快速判断一个元素是否出现集合里时,就要考虑哈希法。——Carl。

2024-04-23 21:49:48 830

原创 代码随想录算法训练营第五天

周日打烊(虽然今天是周一了)

2024-04-22 21:35:42 318

原创 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19.删除链表倒数第N个结点、面试题0207.链表相交、142.环形链表II

一开始想的和Carl哥的想法差不多,但是具体几个结点之间的赋值先后顺序还是很容易混乱,加上我这菜的一批的编码能力,还是没能自己完成。经过一番胡乱思考,我以为可以先遍历一次,看看这个链表有多长,然后再遍历一次正着数到我要删的那个节点,把他删掉。我后知后觉才发现,那。首先注意,相交不是指值相等,而是指两个结点指针相等(指针相等,值肯定也相等,反过来就不一定了)。双指针的操作,要注意,删除第N个节点,那么当前遍历的指针一定要指向第N个节点的前一个节点。这道题如果链表有给前驱节点就很容易了,关键是没有啊家人们!

2024-04-22 21:30:01 738

原创 代码随想录算法训练营第三天 | 203.移除链表元素 、707.设计链表、206.反转链表

Carl的答案就是常规答案,翻转指针,维护三个变量,pre,cur,temp,注意要先把cur.next赋值给temp,不然后面的结点全都索引不到了。我第一反应是把所有元素存进一个列表里,然后用reverse()函数反转后一个个塞回去(笑晕了) ,后面一想就知道不对,数据量大一点,这要存到什么时候。麻了,这两天又是王者打比赛,又是算法训练营刚起步,又是补打卡的一天,趁星期天没有任务把星期六的补补吧。如果,你也是小白,那么,我觉得,这个思路,泰裤辣(bushi)建议:了解一下链接基础,以及链表和数组的区别。

2024-04-21 00:07:16 480

原创 代码随想录算法训练营第二天 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

对原来的数组采用双指针法,一个指针在原数组最前面,一个在最后面,每一次比较一下哪个数的平方更大,将大的写到result的最后面,不断循环,结束。这题没有套路,没有算法, 理清逻辑,Carl哥说得对,坚持循环不变量原则,每一条边都坚持左闭右开原则,按照两层for循环,第一层循环,控制矩阵画到第几圈由外到内一圈圈画,第二层for循环,控制每次画四条边。我写的代码有点乱,建议直接看上面的文章讲解。题目建议: 本题关键在于理解滑动窗口,这个滑动窗口看文字讲解 还挺难理解的,建议大家先看视频讲解。

2024-04-20 22:59:59 992

原创 代码随想录算法训练营第一天 | LeetCode704.二分查找、LeetCode27.移除元素

二分法和双指针法的应用

2024-04-18 20:59:56 305 1

空空如也

空空如也

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

TA关注的人

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