- 博客(11)
- 收藏
- 关注
原创 代码随想录算法训练营第13天| 239. 滑动窗口最大值、347.前 K 个高频元素
该题总结:相当难的一道题,需要自己创造一个递增队列,其中的实现真的不好理解,碰到这种题能照着答案写下来不报错对我来说都算是好的,只能说坚持吧,有空一定要多熟悉java和数据结构,对于做这种算法题太重要了。该题总结:这题跳过主要是因为对大顶堆和小顶堆的不熟悉,在java语言的实现上就算看题解也完全看不懂题解这种大顶堆小顶堆的初始化是如何实现的,故先跳过,对java 和数据结构更熟悉之后再回来做这道题。时间复杂度:O(n)
2023-11-22 22:42:07
58
原创 代码随想录算法训练营第11天| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项 、150. 逆波兰表达式求值
该题总结:这题对于我这种java小白来说就不太友好了,不懂对字符串数组的操作,所以这道题基本上全是照着题解写的,这次一刷主要要记住的是对栈的理解以及对字符串数组的操作,这道题本身难度不大,但由于我不会用方法就很难独立写出来。该题总结:解决这题的关键在于将左括号所对应的右括号加入到栈内,字符串中遇到右括号时再与栈中的右括号做匹配,这样这道题的大致解题思路也就出来了。该题总结:这题在弄懂栈的原理(先入后出)之后就很简单了,将字符串中的字母与栈中的字母做匹配,相同则删除,不同则添加到栈中,思路清晰,难度不大。
2023-11-20 18:35:15
57
1
原创 代码随想录算法训练营第10天| 232.用栈实现队列、225. 用队列实现栈
该题总结:这道题在top的pop两个函数中我的逻辑并不是很清晰,两个reposition使用地不好,不清楚他们在力扣上究竟是独立实现的还是互相影响的,这个问题影响了我对这道题的作答,其实有更好的办法,就是在push方法中就将每个元素排好序,后面就不需要用这种逻辑不清的reposition函数了。该题总结:其实我还没学数据结构,写起来有点吃力,主要是不太清楚栈和队列的逻辑,以及他们在java中怎么实现以及函数的使用,写完这道题才算是对栈和队列有了初步的了解。时间复杂度:pop为O(n),其他为O(1)
2023-11-20 16:07:38
54
1
原创 代码随想录算法训练营第9天| 28. 实现 strStr()、459.重复的子字符串
该题总结:想要巧妙解决这道题,首先需要把KMP算法弄懂,通过KMP算法写出能求出模式串所对应的前缀表的函数,再利用前缀表将文本串与模式串通过KMP算法进行对照,才能找出匹配字符串所对应的下标,相比于暴力解法,时间复杂度直接从n*m下降到n+m,但主要就是思路不好理解,视频来来回回看了好几遍才明白每一步在做什么,特别是那个while为什么不能是if,现在才算是了解了KMP算法是怎么实现的。时间复杂度:O(n+m)时间复杂度:O(n)
2023-11-17 19:39:10
49
原创 代码随想录算法训练营第8天| 344.反转字符串 、541. 反转字符串II、卡码网:54.替换数字 、151.翻转字符串里的单词 、卡码网:55.右旋转字符串
该题总结:这道题是真给我难住了,总共三个大步骤,每个对当时做题的我来说都是重量级的困难,甚至回头看都感觉这题需要注意的地方很多,不看题解写第二遍都不一定能写对,也是今天耗费时长最长的题,做完倒是感觉很有收获,但是做的时候确实难死了给我。该题总结:这道题本来是不难的,但我做了半天才做出来的原因是java刚开始用,什么方法都不太会用,导致浪费了很多时间,要是能像到最后一题似的开窍了知道写个reverse方法的话就不用费这么长时间了。该题总结:回头看还是一道简单题,但也调试了很久才做好,只能说加油了。
2023-11-17 01:46:04
36
原创 代码随想录算法训练营第7天|
该题总结:今日重磅题目,可以说是我这7天以来做过的最重量级的题目了,完全难于设计链表,那道题只是题量大,而这道题难点在于各种细枝末节的地方,一级剪枝,一级去重,二级剪枝,二级去重,左右指针去重,一旦有一个地方的循环/判断条件没写对,整个代码就要报错,做这道题可真是费了老大的劲了,可惜最后还有个问题没弄明白,继续加油吧。该题总结:这道题就开始上难度了,不仅仅是一开始的思路想不到,而且其中的剪枝操作和去重操作更是需要耗费精力去想。该题总结:这道题就很简单了,在做过了之前的。时间复杂度:O(n^2)
2023-11-15 02:03:21
75
原创 代码随想录算法训练营第5天| 哈希表理论基础、242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数 、 1. 两数之和
该题总结:从今天开始转战java,c语言不太好实现哈希表里的set和map,正好以后也想深学java,以后就写java的代码了,这道题还好,用的是哈希数组,挺好理解的,但java方法用的不太熟练,需要多做题。该题总结:这个快乐数的算法还挺不好想的,光看答案就想了好久每一步是怎么做出来的,主要是每次把新计算出来的数赋给n那里有点不好理解,不过想明白了以后也就没那么难了。该题总结:由于第一次接触java,这种set的声明方法第一次见到,不太熟练,对着答案写的很多,以后二刷的话希望能靠自己解决问题。
2023-11-14 00:29:45
31
1
原创 代码随想录算法训练营第4天| 24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交 、 142.环形链表II
24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交 、 142.环形链表II ,环形链表的解题思路值得记住
2023-11-11 23:36:17
70
1
原创 代码随想录算法训练营第3天| 203.移除链表元素 、707.设计链表 、 206.反转链表
203.移除链表元素 、707.设计链表 、 206.反转链表
2023-11-11 19:49:14
79
原创 代码随想录算法训练营第二天| 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II,每一题都让我对算法的理解更深一分
2023-11-09 21:43:11
104
原创 代码随想录算法训练营第一天| 704. 二分查找、35.搜索插入位置、34. 在排序数组中查找元素的第一个和最后一个位置、27. 移除元素
34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)代码随想录 (programmercarl.com)该题总结:这个中等题,一开始给哥们搞得焦头烂额的,他的左边界和右边界的算法,对于我这种小白来说真是费脑子,不过最后终于还是弄明白了,花了得有两个小时就这一道题。
2023-11-08 22:16:49
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人