- 底层基础决定上层建筑
算法、计网、操作系统这些基础课程往往决定了你的天花板在哪里。基础确实很重要,算法不仅仅是告诉你一些思维的套路,更多是当你遇到问题的时候应该如何去思考。回到问题的本源,还是如何能够在合理的时间复杂度、空间复杂度范围内解决问题。
PS:我曾经在给我的一个工作多年的同事讲时间复杂度的时候,居然对方认为指数级的复杂度也没关系,当时我确实惊讶了。>_<
- 给自己一个独立思考问题的时间
刷题已坚持将近两年了,基本成为了每天上午晨读一样的存在,让自己的心态恢复平静。
- 认清自己
其实工作多年的人往往对自己会有一种误解,可能认为自己在某个领域或者某个问题上已经解决得很好了。做事也慢慢容易心浮气躁,事实上如果你每周打打周赛,体验下被虐的感觉,就会发现自己也不过是个普通人而已。
- 有趣
如果做某个事情就是直接奔着offer/钱去的,其实人生就缺少很多乐趣了。我自己也算个老程序员了,说实话现在面试估计已经不会去考我的算法了,而且很多面试官甚至都距离一线开发越来越远了。坚持刷题对我而言更多的是寻找coding的乐趣。当然我也不会仅仅会停留在刷题,现在也在往open source的方向走,希望未来能够写更多有意思的代码。
- 面试
很多人进来是为了面试准备的,但我个人经验而已,如果你对这个东西抱着太功利的想法其实是很难去坚持的。lc是我近几年坚持得最长的一件事了,不为别的,只是因为解题本身让我感到快乐。
- 良好的社区氛围。你在这里总能找到志同道合的伙伴,而且总有一些搞笑有趣的题解和回复。
- 题库分类齐全。方便循序渐进的学习过程。
- 纸上得来终觉浅,绝知此事要躬行。一看就会,一写就废,不要只停留在死记硬背。
- 刷题破1K
- 周赛积分破2K,拿到knight的称号
- 每周一场周赛,克服hard的阴影
目前已经写了1K+题目,后续还是慢慢完善下这个list。尽可能把经典的题目列下
# | Title | Solution | Difficulty |
---|---|---|---|
768 | 768. 最多能完成排序的块 II | GO | Hard |
769 | 769.最多能完成排序的块 | GO | Medium |
6135 | 6135. 图中的最长环 | JAVA | Hard |
593 | 593. 有效的正方形 | GO | Medium |
1161 | 1161. 最大层内元素和 | GO | Medium |
1331 | 1331. 数组序号转换 | GO | Easy |
2350 | 2350. 不可能得到的最短骰子序列 | GO | Hard |
592 | 592. 分数加减运算 | GO | Medium |
919 | 919. 完全二叉树插入器 | GO | Medium |
6127 | 6127. 优质数对的数目 | JAVA | Hard |
444 | 444. 序列重建 | GO | Medium |
814 | 814. 二叉树剪枝 | GO | Medium |
1260 | 1260. 二维网格迁移 | GO | Easy |
565 | 565. 数组嵌套 | GO | Medium |
558 | 558. 四叉树交集 | GO | Medium |
745 | 745. 前缀和后缀搜索 | GO | Medium |
735 | 735. 行星碰撞 | GO | Medium |
1252 | 1252. 奇数值单元格的数目 | GO | Medium |
676 | 676. 实现一个魔法字典 | GO | Medium |
873 | 873. 最长的斐波那契子序列的长度 | GO,C++ | Medium |
556 | 556. 下一个更大元素 III | GO | Medium |
241 | 241. 为运算表达式设计优先级 | GO | Medium |
1175 | 1175. 质数排列 | GO,C++ | easy |
324 | 324. 摆动排序 II | GO | Medium |
522 | 522. 最长特殊序列 II | GO | Medium |
091 | 剑指 Offer II 091. 粉刷房子 | GO | Medium |
30 | 30. 串联所有单词的子串 | GO | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
6135 | 6135. 图中的最长环 | JAVA | Hard |
6134 | 6134. 找到离给定两个节点最近的节点 | JAVA | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
622 | 622. 设计循环队列 | JAVA | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
899 | 899. 有序队列 | GO | Hard |