- 博客(8)
- 收藏
- 关注
原创 代码随想录算法训练营Day9(LeetCode151 翻转字符串里的单词;KamaCoder55 右旋字符串)
这道题综合性很强,最后看了题解也有些磕绊,它综合了。这道题就是反转字符串的利用,要注意标准库函数。是左闭右开区间的反转。
2025-06-21 23:11:41
477
1
原创 代码随想录算法训练营Day8(LeetCode344 反转字符串;LeetCode541 反转字符串II;KamaCoder54 替换数字)
这道题需要从后向前替换,因为从后向前只需要一次替换即可,而从后往前则每次替换都需要重新遍历后序字符串。,由于数组是连续存储的,因此实现起来会更加简单。的基础之上,限制的反转的范围,这里每次。
2025-06-20 11:33:54
484
1
原创 代码随想录算法训练营Day7(LeetCode454 四数相加II;LeetCode383 赎金信;LeetCode15 三数之和;LeetCode18 四数之和)
这道题非常有意思,正常计算三数之和直接对两个数字使用哈希表就好了,但是这里的数组是有重复的,因此不方便用哈希表来去做,而是要使用双指针。这道题由于和前面的三数之和一样返回数字,因此继续使用双指针法,但是后面几个测试用例让我错了很多次,这里讲一讲我错误的几个地方:①a和三数之和的第一个数一样需要。这道题是计算四个数相加的元组的个数,相加可以想到使用哈希表,因为就相当于在一组数中找刚刚数的相反数,由于需要统计符合条件的个数,因此需要使用。,后面就变成了三数之和的问题;,有两种方式:第一种是对前三个数组构造。
2025-06-18 23:20:13
820
1
原创 代码随想录算法训练营Day5(LeetCode242 有效的字母异位词;LeetCode349 两个数组的交集;LeetCode202 快乐数 ;LeetCode1 两数之和)
LeetCode1 两数之和))
2025-06-16 18:03:26
1863
原创 代码随想录算法训练营Day4(LeetCode24 两两交换链表中的节点;LeetCode19 删除链表的倒数第N个节点;面试题02.07 链表相交;LeetCode142 环形链表II)
反而使得我对指针为空的判断变得更加复杂了,看了代码随想录发现只需要一个。这道题需要使用双节点,遍历一遍就可以了。我在做的时候,第一次返回了。这道题不难但是还是看了题解思路才写出来的,而且有一些冗余变量。这道题直接写出来了,但是一开始用了很多指针,用于表达。这道题看了题解,关键在于要理解第一次相遇时,,但是这个节点可能被删除了,因此需要返回。的交换来减少,这里的细节还需要注意。变量,这样反而将为空判断全部放到。
2025-06-15 20:18:37
1284
原创 代码随想录算法训练营Day3(LeetCode203 移除链表元素;LeetCode707设计链表;LeetCode707设计链表;LeetCode206反转链表)
之前用python写过,但是当时没有使用虚拟头节点的方法,因此对起始节点和中间节点分情况讨论了。这次刚看到的时候也是这样想的,看了题解才知道了这个方法。刚做的时候思路不太清晰,关键在于反转链表的时候,链表会分成两部分,需要用两个指针处理这两部分,每次处理逻辑是一致的,因此可以递归写,但是会用更多的栈空间。节点,使得后续处理是一致的。以及两个私有变量,接下来是循环次数,这里的细节还需要。是函数中申明的变量,因此函数结束会自动销毁,不需要。构造了一个类似循环双向链表的写法,这里就不展示了。
2025-06-14 11:27:42
449
原创 代码随想录算法训练营Day2(LeetCode209长度最小的子数组;LeetCode59螺旋矩阵II;卡码:区间和;卡码:开发商购买土地)
想用双指针的解法,但是思路是从全部包含逐渐递减,这样不能得到最短的数组。接下来看了双指针解法的示意图,但是实现只是用了一个循环,实现起来复杂无比,难以实现,没有考虑到窗口收缩可能不止一次。以前看到此类题目觉得很麻烦,认为是不是会有快速解答,稍微看了下题解说就是直接写,就写出来了。我这里用的是左闭右开,严格遵守就不难。,可以重载为bool运算符,因此如果有输入就可以判断为。类似,需要注意实现细节,实现的时候老是出现小错误。的返回值是cin本身的引用,比如该式等于。的情况,但是推导后发现没有影响。
2025-06-13 00:28:59
1543
原创 代码随想录算法训练营Day1(LeetCode704二分查找;LeetCode27移除元素;LeetCode977 有序数组的平方)
这道题和二分法一样,需要理解好区间,因为有了二分查找的思路,这道题很快就AC了,不过看了题解还是有一些新的感受。看到这道题,之前做过啊,那么最简单就是平方再排序,不过也可以双指针解法,因为数组呈现中间小两边大的趋势。实际做的时候,还是出现了比较多的索引越界之类的错误,一定要注意。这道题没理解原地移动,初步的思路是将相同的元素与末尾交换,但是这样就需要新的元素。的概念,也就是说需要知道循环中的区间是什么意思,这里每次的区间就是搜索区间,这样来看。的更新取值还是写错了,之后看了讲解思路,强调了。
2025-06-11 23:17:31
710
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅