leetcode有哪些错误和盲区
LeetCode 是刷题练习编程技能的好地方,但很多人“错刷”了反而事倍功半甚至厌烦了算法。下面总结一些 常见的 LeetCode 错误刷法,以及为什么错,适合初学者、中级和面试准备者参考:
❌ 错误刷法 1:机械过题,只追求 AC,不理解原理
表现:
- 看着题解直接照搬代码;
- 只想让「提交成功」,不思考时间/空间复杂度;
- 题目做完就忘,下次还得重新看题解。
后果:
- 根本没学到什么;
- 面试时不会举一反三,换个写法就不会做;
- 做了几百题还是力不从心。
❌ 错误刷法 2:题目顺序乱刷,难度跨度大
表现:
- 今天做一道 hard,明天又跳回 easy;
- 热门题看到就做,没体系,做着做着信心被打击;
- 刷一遍二分查找,下一遍又忘了。
后果:
- 知识点不成体系,零散、容易遗忘;
- 缺乏成就感,容易放弃。
✅ 建议:按专题+难度递进刷题,比如:
- 数组 → 双指针 → 哈希 → 栈队列 → 链表;
- 然后树 → 二叉树遍历 → 二叉搜索树;
- 再刷 DFS/BFS → 回溯 → 动态规划;
- 每类 easy → medium → hard 逐渐爬升。
❌ 错误刷法 3:题刷太快,忽略反思和总结
表现:
- 一天刷 10 题,没写注释、没复盘;
- 一周后都忘了题目讲了啥;
- 没记录错题和易错点。
后果:
- 知识点掌握不牢;
- 没有「肌肉记忆」,导致重复犯同样的错。
✅ 正确做法:
- 做完题写下解法和思路;
- 标记“我还没完全掌握”的题,做错的题隔天复刷;
- 建个错题集或刷题笔记。
❌ 错误刷法 4:从不手写,不调试,不 debug
表现:
- 看着题解照抄,一次 AC 觉得牛;
- 不愿意在本地写代码调试;
- 出错就贴代码问“哪里错了”,缺乏调试思维。
后果:
- 面试手写代码时完全写不出;
- 缺乏代码理解和排错能力。
✅ 建议:
- 多在本地 IDE(如 IntelliJ / VSCode)调试;
- 手写常见模板(如 DFS、DP);
- 出错时学会自己断点、打印、调试,而不是直接问。
❌ 错误刷法 5:以刷题数量为目标,忽视质量
表现:
- “我已经刷了 300 题了,为什么我还是不会算法?”
- 天天追数量,哪怕题目内容重复、无新意也继续刷。
后果:
- 学习效率低,容易疲劳;
- 学不出深度,也不理解为什么用某种方法更优。
✅ 建议:
- 设目标为“掌握 xx 种技巧”而不是“刷 xx 道题”;
- 与其刷 10 道贪心题,不如理解 3 道经典题的贪心本质。
✅ 正确刷题姿势总结:
维度 | 正确做法 |
---|---|
刷题顺序 | 按专题 + 难度递进,避免跳跃 |
做题过程 | 先独立思考再看题解,理解再写 |
错题管理 | 错题标记、复盘总结 |
知识积累 | 写注释,做专题归纳总结(比如:双指针技巧总结) |
模拟面试 | 熟练之后练手写、模拟面试环境 |
如果你愿意,我还可以给你制定一个 30 天刷题计划,或者推荐适合你当前水平的 LeetCode 专题顺序。需要吗?
肤浅的短视频是否会侵蚀编程能力
这是一个非常好的、值得深思的问题。答案是:
✅ 是的,经常沉浸在肤浅、无聊、碎片化的社交媒体内容中,确实会影响你写代码的能力,甚至会损害你的深度思考能力。
我们来具体拆解:
💥 为什么社交媒体容易“腐蚀”编程能力
1. 碎片化信息 → 打断专注力
社交媒体设计的本质就是不断推送短小、刺激、易消费的内容(如短视频、段子、图文滑动流)——这会:
- 让大脑习惯于短暂的注意力循环;
- 难以进入编程所需的**“深度专注状态”**(也叫心流)。
⛔ 如果你刷了 30 分钟视频,再打开 IDEA 或 LeetCode,你的大脑还在“快节奏接收模式”,无法马上进入“逻辑推理 + 抽象建模”状态。
2. 多巴胺过载 → 降低延迟满足能力
刷社交媒体带来的快感是:
- “新内容”、“点赞通知”、“搞笑段子” → 快速刺激;
- 编程写 Bug、改逻辑、调试错误 → 延迟回报,过程枯燥。
久而久之你会发现:
- 想写代码的时候,“大脑抗拒开始”;
- 一卡住就习惯性切到微博、YouTube、B站逃避。
这会导致你:
- 🧠 越刷越“短平快”,越来越不愿意面对需要时间去解决的复杂问题;
- ❌ 写不出复杂的逻辑、结构混乱、耐心变差。
3. 精神疲劳、信息焦虑
大量无意义的信息流刷多了会让你陷入:
- 精神疲劳但又感觉没干正事;
- 他人焦虑(别人成就高、代码强、粉丝多)→ 自我怀疑。
这会间接打击你的「学习动力」和「编程信心」。
✅ 如何“戒掉低质量信息流”又不脱节?
- 屏蔽源头(工具法)
- 安装浏览器插件:比如 Chrome 的 LeechBlock 或 [StayFocusd];
- 手机上设置“应用使用限额”,尤其是刷视频类软件;
- 把 App 移出主屏,让打开变麻烦。
- 信息替代(替代法)
- 想放松?看高质量博客/视频(如 YouTube 上的 Fireship、CodingTech);
- 刷 B 站?收藏“编程区”、“开发者分享”、“系统设计讲解”代替娱乐分区;
- 把短视频换成“5 分钟编程知识点”或“项目展示”。
- 刻意训练专注力(习惯法)
- 用番茄钟法(25 分钟专注 + 5 分钟休息);
- 编程前关掉所有推送,用 IDE 全屏工作;
- 睡前不刷屏,反而大脑清醒、第二天效率更高。
🎯 你的目标是“进入深度编程状态”
写出好代码,是需要:
- 持续的逻辑推理
- 对抽象问题的建模能力
- 跨函数、跨模块的结构组织力
而这些能力,会被碎片化、快感依赖型的信息消费方式一点一点磨掉。
✅ 所以结论是:
- 不是说你“不能刷”,而是你要有意识地区分“高质量输入”和“消耗型刷屏”;
- 把时间留给让你成长的内容,你就会越来越强大;
- 把刷短视频当奖励,而不是习惯,你会写代码写得越来越顺。
三十日刷题计划
太好了,小白阶段最重要的是打好基础 + 刷出成就感,我会给你一个专门为入门者设计的 30 天 LeetCode 刷题计划(基础版),目标是:
✅ 目标:
- 掌握最常用的算法和数据结构技巧;
- 提升做题能力和思维方式;
- 为后续面试或中级题打好基础。
🗓️【LeetCode 30 天入门刷题计划】
时间 | 专题 | 题目数量 | 推荐题目(均为 Easy/简单题) |
---|---|---|---|
Day 1-2 | 数组基础 | 6 | 1. Two Sum 27. Remove Element 283. Move Zeroes |
Day 3-4 | 哈希表 | 6 | 136. Single Number 387. First Unique Character 242. Valid Anagram |
Day 5-6 | 字符串 | 6 | 125. Valid Palindrome 344. Reverse String 409. Longest Palindrome ✅ |
Day 7-8 | 双指针 | 6 | 26. Remove Duplicates 167. Two Sum II 680. Valid Palindrome II |
Day 9-10 | 栈 & 队列 | 6 | 20. Valid Parentheses 232. Implement Queue using Stacks 225. Implement Stack using Queues |
Day 11-12 | 链表基础 | 6 | 206. Reverse Linked List 21. Merge Two Sorted Lists 83. Remove Duplicates from Sorted List |
Day 13-14 | 树的遍历 | 6 | 104. Maximum Depth of Binary Tree 144. Preorder Traversal 226. Invert Binary Tree |
Day 15 | 阶段复习 | —— | 复盘错题 + 重刷记不住的题 |
Day 16-17 | 二叉搜索树 | 4 | 98. Validate BST 700. Search in BST |
Day 18-19 | 递归基础 | 4 | 509. Fibonacci Number 231. Power of Two |
Day 20-21 | DFS/BFS 入门 | 4 | 733. Flood Fill 200. Number of Islands(Medium) |
Day 22-23 | 二分查找 | 4 | 704. Binary Search 35. Search Insert Position |
Day 24-25 | 排序逻辑 | 4 | 977. Squares of Sorted Array 215. Kth Largest Element(Medium) |
Day 26-27 | 简单动态规划 | 4 | 70. Climbing Stairs 198. House Robber |
Day 28-30 | 总结 + 自测 | —— | 任选之前错题复刷 + 看自己能不能独立写出 Medium |
🔁 每天建议刷题方式:
- 先读题目,不看题解,尝试独立写(哪怕不会也别急);
- 再去看「高赞题解」学方法;
- 重写一遍,最好写注释(帮助记忆);
- 写完后总结今天的“技巧/模板”。
📒 工具建议:
-
✅ 用 LeetCode 中文站(支持中文题面):
✅ 本地写代码:推荐用 VSCode 或 IntelliJ
✅ 建立刷题笔记(推荐用 Notion / Typora)
🌟 加分项(可选):
- 开始记录错题本(做错就记下来,下周复刷);
- 每 5 天复盘一次,写下这几天你学到了哪些技巧;
- 可以尝试做题直播 / 跟同学一起打卡更有动力。
如果你告诉我你目前掌握哪些编程语言(Java?Python?)和你的目标(面试?学习算法?刷兴趣?),我还能再优化计划!
是否需要我生成一份 Markdown / Excel 表格版本给你?