- 博客(8)
- 收藏
- 关注
原创 代码随想录算法训练营第八天|力扣151,28,459,右旋转字符
总结:双指针从后往前遍历,n指向每个单词的末尾(注意要先除去空格),m指向每个单词的开头,随后运用substr函数将单词保存到res数组中,如何判断单词的逻辑就是m指针指向空格,那么m+1到n就是单词。在得到一个单词后,更新n指针的位置为当前m的位置,让m指针继续向前遍历。总结:暴力法,内层遍历needle数组,外层遍历haystack数组,这样时间复杂度是O(n²),后来看了文章学习了kmp算法,但是感觉自己实现起来还是比较困难。总结:核心思路:把如果两个s中还能找出一个s的话,那就是重复的子字符串。
2026-01-10 21:54:54
62
原创 代码随想录算法训练营第七天|力扣344,541,替换数字
总结:这道题刚开始误解题目意思了:以为要先互换前k个数字,然后再根据剩余的个数分情况互换,所以ac不了,后来看文章发现自己误解题目意思了,下面是正确做法:每隔2k个字符分情况进行翻转:如果剩余字符小于k个,则剩余字符全部翻转,如果剩余字符大于等于k个小于2k个,则翻转前k个字符。总结:首尾指针遍历互换位置即可。
2026-01-10 21:40:00
15
原创 代码随想录算法训练营第六天|力扣454,383,15,18
总结:自己没想出来,看了文章知道思路了:先遍历前两个数组,统计a+b的和出现的次数;接着遍历后两个数组,判断是否存在和为-(a+b)的值,存在将其次数累加到count,最后返回count。总结:哈希实在不会去重,学习了文章的双指针和去重的思路。总结:有了三数相加双指针的思路,这道题还是很好做的。
2026-01-07 22:11:33
92
原创 代码随想录算法训练营第五天|力扣242,349,202,1
总结:核心思路就是要想明白什么时候会出现循环,出现循环的处理逻辑,这里要保存每次计算的结果,如果接下来有一次的结果和之前的结果相同,那么就是出现循环了,这样就不可能是快乐数了。总结:数组适合于限制范围的统计次数,这里无范围限制,所有考虑用set。总结:由于都是小写字母,定义一个数组统计字母出现的次数即可。242有效的字母异位词。349两个数组的交集。
2026-01-07 22:05:52
106
原创 代码随想录算法训练营第四天|力扣24,19,160,142
总结:判断有没有环简单,快慢指针相遇即可,难点在于如何找到入口,看了文章的公式推导之后明白了:从头节点出发一个指针,再从相遇节点出发一个指针,两个指针每次直走一步,当着两个指针相遇的时候就是入口位置。总结:求出两个链表的长度差len,让长的链表先遍历len个单位,随后两个链表同时遍历找到第一个相同的节点即可。总结:常规题目,正常遍历即可,记得保留删除的前一个节点信息。总结:我是用递归解决的,看了文章学习了迭代的思路。19删除倒数第K个节点。24两两交换链表节点。
2026-01-06 20:52:18
98
原创 代码随想录算法训练营第三天|力扣203,707,206
总结:常规问题,迭代和递归都会。总结:几个函数正常遍历实现即可。总结:常规问题,两种解法都不难。
2026-01-06 20:39:31
100
原创 代码随想录算法训练营第二天|力扣209,59,区间和,开发商购买土地
总结:这道题刚开始的思路比较复杂:第一轮遍历一个元素,第二轮遍历两个元素.....,如果找到一个满足题目的子数组,则是长度最小的子数组;但是代码实现起来比较困难,后来看了文章讲解思路,学习了滑动窗口的算法:不断调节子序列的起始位置和终止位置,如果当前子数组的和大于等于target,则起始位置后移,否则终止位置后移,最后计算子数组长度即可。总结:有了前面前缀和的思路,这道题还是比较好做的,题目说只能横切或者竖切,那就先统计横切的前缀和已经竖切的前缀和,看看哪种情况下代价最小即可。209长度最小的子数组。
2026-01-05 19:18:15
105
原创 代码随想录训练营第一天|力扣704,27,977
总结:最开始用暴力法解决,外层遍历,内层更新,时间复杂度为O(n²),后面看了文章讲解后,明白了双指针的解法:快指针用来寻找目标元素,慢指针来更新目标元素,时间复杂度为O(n)总结:自己做出来了,头尾节点比大小即可。977有序数组的平方。
2026-01-05 19:09:10
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅