- 博客(21)
- 收藏
- 关注
原创 算法打卡第二十一天 | LeetCode 227. 基本计算器 II|栈综合应用
栈处理表达式的通用思路加减入栈,乘除立即计算,最后统一求和。减法变加法遇到就存负数,最后全部相加,逻辑最简洁。多位数处理用num = num*10 + 当前位拼接完整数字。空格忽略遍历遇到空格直接跳过即可。时间复杂度 O (n)一次遍历,效率极高。
2026-05-03 22:08:24
22
原创 算法打卡第二十天 | LeetCode 150. 逆波兰表达式求值|栈经典应用
逆波兰表达式依靠栈实现后缀表达式天然适合栈结构,顺序清晰、无歧义、无括号。计算顺序非常重要先弹出的是右操作数,后弹出的是左操作数。数据类型使用 long long避免数字溢出,这是常见坑点。时间复杂度 O (n)只需遍历一次 tokens,每个元素入栈出栈各一次。
2026-05-02 23:01:12
32
原创 算法打卡第十九天 | LeetCode 1047. 删除字符串中的所有相邻重复项|栈的经典应用
栈的作用记录前一个元素,用于相邻匹配、消除类问题。适用场景相邻重复项删除括号匹配逆序输出回文字符串判断复杂度时间 O (n)空间 O (n)
2026-05-01 23:04:36
39
原创 LeetCode 刷题日记 Day18|20. 有效的括号:栈的经典入门实战
大家好,这是我的 LeetCode 刷题日记第 18 天。今天我们来搞定一道的必刷题 ——。这道题是理解「栈」最好的入门题,建议先搞懂栈的特性,再来看这道题会非常丝滑。
2026-04-30 23:14:07
219
原创 LeetCode 151. 翻转字符串里的单词
去空格用快慢指针原地去空格,不开新字符串,面试加分。整体反转 + 单词反转先整体逆序,再把每个单词逆序回来,顺序自然颠倒。代码模块化拆分为:反转函数 + 去空格函数 + 主逻辑,清晰不易错。复杂度时间 O (n),空间 O (1)(原地修改)。
2026-04-29 21:16:07
171
原创 算法打卡第十六天 | LeetCode 541. 反转字符串 II 双指针分段反转
分段遍历以i += 2*k步进,完美匹配题目 “每 2k 个字符” 的要求。边界简化用一句话处理剩余字符不足 k 的情况,无需多分支判断。双指针复用局部反转逻辑和 344. 反转字符串完全一致,代码高度复用。时间复杂度O (n),每个字符最多被交换一次。空间复杂度:O (1),原地修改。
2026-04-28 16:13:35
137
原创 算法打卡第十五天 | LeetCode 344. 反转字符串 字符串基础 + 库函数使用规范
左右对撞指针是数组、字符串反转类题目通用解法,逻辑简单、空间最优,时间复杂度 O(n),空间复杂度 O(1)。今天开始进入字符串模块的学习,反转字符串作为第一道入门题,难度不高,但意义很大。不仅掌握了字符数组原地反转的双指针写法,也明确了后续刷题的编码规范。之前一直在练习链表、数组、哈希表相关题型,现在过渡到字符串,知识点衔接顺畅。字符串是算法高频考点,后续很多复杂题目,都会基于字符交换、遍历、反转、截取等基础操作展开。
2026-04-27 20:40:19
405
原创 零基础算法打卡第 14 天 | LeetCode 18. 四数之和 双指针解法 + 对比四数相加 II
今天是算法打卡。今天学习,和之前的三数之和思路一致,采用实现。题目细节很多,还要重点区分与的核心区别,吃透这两道题,求和类题目就通透了。
2026-04-26 21:43:51
191
原创 LeetCode 454. 四数相加 II 哈希表经典妙用
哈希法优势大幅降低时间复杂度,把暴力四重循环优化为双层循环,效率提升巨大。空间换时间思想借助哈希表额外的存储空间,记录前面计算过的数据,避免重复运算,日常开发、算法面试高频考点。分组技巧遇到四数、多数求和类题目,不要硬暴力,优先考虑对半拆分、两两组合,简化问题。map 常用操作map[key]++:快速统计次数:查询 key 是否存在,不存在返回map.end()
2026-04-25 09:41:45
340
原创 零基础算法打卡第 12 天|LeetCode 169 多数元素|多种解法详解 + 第二周学习小结
题目:169. 多数元素表格解法时间复杂度空间复杂度适合人群哈希表统计O(n)O(n)零基础小白,最好理解排序法O(nlogn)O(1)偷懒速刷,代码最短摩尔投票O(n)O(1)面试必考,最优解法。
2026-04-24 11:20:03
238
原创 零基础算法打卡第 11 天|LeetCode 80 删除有序数组中的重复项 II + 滑动窗口 / 双指针巩固
今天是算法学习第 11 天!,在昨天去重的基础上升级,允许最多出现两次,超过两次才删掉,顺便巩固,并完成第二周学习小结。
2026-04-23 12:55:22
217
原创 【无标题】
零基础算法打卡第9天|LeetCode 1 两数之和 + 哈希表入门 + 第二周学习小结今天是算法学习的第9天,完成了今日核心任务——LeetCode 1 两数之和,同时终于搞懂了“哈希表”这个之前一直模糊的概念。
2026-04-21 21:46:35
324
原创 零基础算法打卡第7天|LeetCode 142 环形链表 II + 链表vs数组总结 + 第一周小结
以前我总把数组和链表搞混,不知道什么时候用数组,什么时候用链表,今天结合这道题,彻底理清了,用大白话+表格总结,小白一看就懂:对比维度数组链表内存存储连续的一块内存空间分散存储,节点之间用指针连接查找元素效率快(O(1)),直接通过下标查找慢(O(n)),必须从头节点开始遍历增删元素效率慢(O(n)),需要移动后面的所有元素快(O(1)),只需要修改节点的指针指向大小灵活性固定大小,不够用需要扩容灵活,随时可以添加/删除节点,无需扩容适用场景。
2026-04-19 21:44:14
339
原创 打卡第六天
一个叫prev,一开始指向空一个叫curr,指向第一个节点每次先记住当前节点后面是谁,不然等下反转就找不到了。把当前节点的箭头反过来,指向prev。两个 “手指” 一起往后挪一步,直到走到链表末尾。最后,prev就指向了反转后的新头结点,直接返回它就行。反转链表是链表最基础的题,必须会写迭代法:记住节点 → 反转箭头 → 移动指针,非常好理解递归法:代码短,但思路更绕,适合有基础再学不用害怕指针,自己在纸上画一画,立刻就懂我一个零基础都能学会,你肯定也可以!
2026-04-18 13:17:02
229
原创 打卡第五天
这道题我琢磨了挺久,一开始连虚拟头结点是什么都不知道,慢慢看讲解、抄代码,才终于搞懂。这道题虽然是简单题,但对小白来说,是入门链表的关键,重点就是学会「虚拟头结点」的用法,它能帮我们避开头节点删除的坑,让删节点的操作变得很简单。
2026-04-17 22:22:25
370
原创 打卡第四天
今天这道螺旋矩阵II,我大概花了2个小时,从看懂题目、理解思路,到写代码、调试错误,虽然过程中踩了不少坑,但最后运行成功的时候,还是很有成就感的。最大的收获是,明白了“边界控制”的重要性,而且发现算法题的很多思路是相通的,比如这道题的区间定义,和之前学的二分查找一样,只要统一规则,不重复、不遗漏,就能解决问题。作为零基础,我觉得不用追求速度,每道题搞懂思路、吃透代码,再总结一下解题方法,慢慢积累,就能进步。这道题掌握后,后续再做螺旋矩阵I、旋转图像这类题,应该就能举一反三了。
2026-04-16 22:43:15
302
原创 【无标题】
我本来以为这个题目是给你一串数字,比如[2,3,1,2,4,3],再给个目标数7,让你找一段连续的数字,加起来大于等于7,而且这段数字要越短越好,最后返回它的长度。4. 再右扩,装3,窗口[1,2,4,3],和10够了,长度4,不更新。3. 继续右扩,装4,窗口[3,1,2,4],和10够了,长度4,跟之前最短的一样,不更新。1. 窗口先装[2],和不够→右扩,装[2,3],和还是不够→再右扩,装[2,3,1],和6还不够→继续右扩,装[2,3,1,2],和8够了!5. 最后遍历完,最短的就是2,完美!
2026-04-15 21:50:23
38
原创 打卡第二天
给一个数组,再给一个目标数字,不能新建数组,就在原来的数组上,把所有等于目标数字的元素都删掉,最后返回删完之后,剩下有效数字的个数就行。就是挨个遍历数组,碰到要删除的数字,就把它后面的所有数字都往前挪一位,把这个要删的数字覆盖掉,相当于完成删除。快指针找到有效数字,就交给慢指针存起来,慢指针往前走一步,最后慢指针走到的位置,就是有效数组的长度,直接返回就行,一遍遍历就搞定。2. 双指针法真的是数组题的神器,理解思路之后,代码很好写,效率也更高,这道题的双指针一定要掌握。# 删掉一个元素,数组长度减1。
2026-04-14 22:11:36
147
原创 第 1 天 数组基础及二分查找
题目链接:https://leetcode.cn/problems/binary-search/视频讲解:https://www.bilibili.com/video/BV1fA4y1o715。今日任务:先把 704写熟练,要熟悉 根据 左闭右开,左闭右闭 两种区间规则 写出来的二分法。题目建议: 了解一下数组基础,以及数组的内存空间地址,数组也没那么简单。看到题目第一时间就想到用二分查找,因为数组有序且要求对数级时间复杂度。1. 今日学习的文章链接跟视频链接。3.实现过程中遇到哪些困难。
2026-04-13 22:06:01
13
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅