自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营Day21,530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先

一开始也想到了用后序的方法去遍历,但是其中的处理条件自己弄不太清楚,看了视频后也理解了不少,但是感觉自己还是会很容易忘,记忆深度不高。这道题就挺考验自身的变通应用了,整体思路也的确是双指针法,但是其中的处理手段大有不同,需要加深理解的内容和细节处理还是得多加学习。这道题相对来说自己也掌握的差不多,没什么特别大的困难就解决了。1.二叉搜索树的最小绝对差。3.二叉树的最近公共祖先。2.二叉搜索树中的众数。

2024-03-26 09:43:54 138

原创 代码随想录算法训练营Day16,104.二叉树的最大深度,111.二叉树的最小深度,222.完全二叉树的节点个数

这几天做那么多递归的题目下来,感觉自己做题很局限,经常纠结于代码递归底层其中很小的一部分环节,而不是根据代码的整体思路去观察整体的大局规律,这就经常导致当自己手动敲出来的时候,经常会把握不好递归的条件,而写不出来相应的代码。不过好在做题的过程当中,也发现了自己存在的问题,但是这种思考方式感觉是一下子改变不来的,感觉还是得经常做递归使用递归形成一种思维习惯才能更好的应对以后的递归题目。

2024-03-22 10:16:05 138 1

原创 代码随想录算法训练营Day14, 递归遍历 (必须掌握), 迭代遍历,统一迭代

今天总体下来对于我来说更像是加强学习,对于递归遍历还是有点一看就会,一写就废的感觉,还是得看一轮参考代码,然后自己独立把后面的全部敲出来,迭代遍历、统一迭代也能理解清楚,但是缺陷是当敲代码时很容易忘记该怎么敲,感觉还是得多敲来加深记忆,其中学习到迭代这个部分的细节得把握好,就是当使用迭代遍历时,使用的是栈来进行,其中得注意入栈的顺序和输出的顺序是不太一样的,是反过来的,就比如前序遍历,正常用链表输出的顺序是中左右,但是面对入栈时,入栈的顺序要为右左中,这样出栈时的顺序才会是中左右,很多时候这个部分很容易会混

2024-03-19 09:54:33 301

原创 代码随想录算法训练营Day13, 239. 滑动窗口最大值,347.前 K 个高频元素

第一道题在思考弹出这个操作的时候想很久,在最开始的时候陷入了思考误区,并没有做出把滑动窗口最左侧的元素进行弹出,而是仅仅依靠add将所有小于进入窗口的元素移除,这样做反而变成求各窗口内的最大元素总和,当窗口较小时,如果没有将最左侧的元素进行弹出,假设后面的元素都是比最左侧的元素要小,那么此时这个最左侧的元素将永远不会进行弹出操作这就不是求滑动窗口最大值的操作了。在add进行滑动的时候不是已经把所有比新加入元素小的元素全部进行弹出了吗,所以为什么要有这一步?后面才想明白这里的操作。2.前 K 个高频元素。

2024-03-18 10:14:10 295

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

前两道题难度相对不大,反转字符串用双指针的方法基本上都能灵活用出来了,但是后面几道题,尤其是翻转字符串里的单词,有时候经常会被绕晕,还有对于空格的条件判断理解的也不是特别清晰,都是需要去看卡哥的题解才能想的出来。

2024-03-13 10:30:10 102

原创 代码随想录算法训练营Day7, 454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和

这两道题其实大同小异,更为关键的是对于代码的去重细节的把控才是重中之重,用双指针法整体的思路想法不难,但是要把握好其中的细节不是个简单的问题。必须得思维缜密,逻辑流程清晰才能有把握拿下这道题。自己独立思考的时候,确实是一点都想不出来了,加上对于很多集合的方法使用也记不住,用的也不够灵活,就思维方向很窄,还是得多复习和运用一下JavaSe部分的知识,不然很被动。总体感觉今天做的不是很好,很多时候都是得直接去看题解答案,感觉好多东西还是没有完全记住,很多细节的把控也做的不够好。

2024-03-12 10:31:07 351 1

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

这两道题可算是一点思路都没了,一直都尽量逼自己用set写出这两道题,奈何一点思路都没有,平常自己手撕代码用set也比较少,都是看了一遍视频才知道怎么做,写的过程也非常生疏,好多方法都忘记怎么用了。有关数组方面的内容自己还能操作一下,但是涉及到set和map部分可算是完全还给老师了,好多都忘了怎么用,自己也得回去重新复习一下相关的集合框架文档。这道题相对来说比较简单,自己用数组也能独立做出来。1.有效的字母异位词。

2024-03-11 11:20:23 78

原创 代码随想录算法训练营Day4, 24. 两两交换链表中的节点,19.删除链表的倒数第N个节点, 142.环形链表II

前两道题相对来说感觉自己也可以把大体的代码和思路想出来,但是里面还是有不少细节需要更加注意,有时候并没有很好利用好虚拟头结点这一方面,导致很多时候思考想问题很容易陷入思维误区。这两道题相对于我来说,难度不大,自己也大体能写出来,不过写完还是重新去看了一下卡哥的思路和方法,发现也有不少细节需要注意,比如空指针异常。这道题就不是很好想,首先还是去看了卡哥的视频再去重新自己做,还是得继续加油吧。目前的做题能力也相比前几天,提升了更多熟练度。2.删除链表的倒数第N个节点。1.两两交换链表中的节点。

2024-03-10 09:57:00 145

原创 代码随想录算法训练营Day3,203.移除链表元素,707.设计链表, 206.反转链表

有关这个问题在考研里面也做了不少,自己脑袋里也有相关双指针的思路,但是好像实际敲代码时,总是会卡住,感觉之前对于pre = null这个点理解的不够透彻,现在搞明白后,递归的方法也让自己豁然开朗。这三天算法训练下来,发现自己熟练度严重不足,虽然很多时候看到题目在脑子里面有一个思路,但是思路很清晰很混乱,逻辑也不顺畅,自己的代码思维还需要更多的锻炼。首先想到的就是在链表的基础上进行删减,后面卡哥的增加虚拟头结点这个方法让我豁然开朗,做到后面的题目的时候,发现很多情况都有一定的相似和规律。

2024-03-08 10:15:38 109 1

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

3.初看这道题没什么思路,看了卡哥的视频,有二分法的提示,心中也其实也有想法,但是总是不自信自己能不能用的出来,就直接看完了。看完之后也没啥问题就写出来了。后面重新看卡哥的文章,while这个循环用的太妙了,用一个for+while省出了大量的时间。自己也尝试着先打出来了,太久没敲码了,有点不是特别适应。后面看了卡哥的文章才发现昨天学到的双指针也可以用的上。一开始也是用的暴力算法,但是写出来发现运行时间超时了。首先就是想到的暴力算法,直接用冒泡排序出来。2.长度最小的子数组。

2024-03-07 10:54:06 84

空空如也

空空如也

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

TA关注的人

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