- 博客(10)
- 收藏
- 关注
原创 代码随想录算法训练营第十天| 栈与队列理论基础 | 232.用栈实现队列| 225. 用队列实现栈| 20. 有效的括号 | 1047. 删除字符串中的所有相邻重复项
题目链接/文章讲解/视频讲解:https://programmercarl.com/1047.%E5%88%A0%E9%99%A4%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E7%9B%B8%E9%82%BB%E9%87%8D%E5%A4%8D%E9%A1%B9.html。思路:一个队列,入栈直接加入队列,出栈先将队列除了最后一个元素出队再入队,然后出队最后一个元素。讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。
2025-08-06 16:34:16
762
原创 代码随想录算法训练营第九天 |●151.翻转字符串里的单词 ●卡码网:55.右旋转字符串 ●28. 实现 strStr() ●459.重复的子字符串
比较简单,大家读一遍就行题目链接/文章讲解:https://programmercarl.com/%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%80%BB%E7%BB%93.html。
2025-08-06 09:18:59
907
原创 代码随想录算法训练营第八天 |● 344.反转字符串 ● 541. 反转字符串II ● 卡码网:54.替换数字
题目链接/文章讲解/视频讲解:https://programmercarl.com/0541.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2II.html。题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.html。建议:本题又进阶了,自己先去独立做一做,然后在看题解,对代码技巧会有很深的体会。(1)思路:基础,没啥。
2025-07-18 11:10:03
359
原创 代码随想录算法训练营第七天 | ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和
建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开发也是这样。然后遍历 C,D 所有元素,计算 c+d ,对每个 c+d,在存 a+b 的集合里找有没有对应的(即值 = - (c+d)的),如果有,则count ++;建议:本题虽然和 两数之和 很像,也能用哈希法,但用哈希法会很麻烦,双指针法才是正解,可以先看视频理解一下 双指针法的思路,文章中讲解的,没问题 哈希法很麻烦。
2025-07-17 22:07:38
607
原创 代码随想录算法训练营第六天 | 哈希表理论基础 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和
注:第五天周天,休息。
2025-07-14 21:39:33
487
原创 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 | 19.删除链表的倒数第N个节点 | 面试题 02.07. 链表相交 | 142.环形链表II
=>走到空节点为什么:这样的话,完全不同的两个链表,两个指针才会相遇在 null , 否则就各自到另一个链表头了。对于链表的题目,大家最大的困惑可能就是 什么使用用虚拟头结点,什么时候不用虚拟头结点?一般涉及到 增删改操作,用虚拟头结点都会方便很多, 如果只能查的话,用不用虚拟头结点都差不多。当然大家也可以为了方便记忆,统一都用虚拟头结点。
2025-07-13 12:26:32
916
原创 代码随想录算法训练营第三天 |203.移除链表元素 707.设计链表 206.反转链表
注:代码随想录网站上的链表题大一上寒假做过,记不清了,这次是重做。203.移除链表元素基础题,有几点需要注意:(1)链表基础语法,以及 cpp 中链表相关知识下面是leetcode对cpp链表的定义,不同于c,有现成的可用的函数,如创建节点并且赋值链表有关题目,一般操控的都是指向节点的指针,一般用 " -> " ,不怎么用 " . "
2025-07-12 17:52:09
420
原创 代码随想录算法训练营第二天 |209.长度最小的子数组 59.螺旋矩阵II 区间和 开发商购买土地
209.长度最小的子数组初始思路是用双指针,这点想到了。但是细节需要细化。最清晰的思路:右指针for从0开始右移,在每个循环里,算sum;while sum >= target: 意味着可以让左指针 l 右移。len = min (len, r-l+1) //更新 len更新 sum;让左指针 l 右移;//然后就可以进入下一个循环,r++了最后,验证 len 是否等于原来的 INT32_MAX?0 : len;
2025-07-11 11:26:45
719
原创 代码随想录算法训练营第一天 704. 二分查找 27. 移除元素977.有序数组的平方
内容较为简单。有几个小问题。704. 二分查找注意左闭右闭和左闭右开两种写法,想清楚边界问题。27. 移除元素思路上有一个巧点,用双指针,而不是暴力。977.有序数组的平方思路上有一个巧妙的地方,首先,肯定不是暴力,有一些方法,比如双指针。其次,双指针其实有不同的用法,比如:(1)指向0左右的最靠近0的正负数,向两边移动。新创建的用来放结果的数组中,指针从后往前走。(2)从两边开始,到中间会和。新创建的用来放结果的数组中,指针从前往后走。
2025-07-09 15:37:55
916
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅