2021-11突然好多人看这篇XD 来更一波,依旧在保持刷题啦~
目前是跟着一本前端算法小册(前端er们用来巩固基础很不错哦!另外可以看到我在小册底下有很多留言啊哈哈哈(掘金与CSDN同名嗷))+力扣每日一题在巩固基础;预计12月份用一个月左右的时间刷一波剑指Offer,然后通过面试来试试自己几斤几两!
往期更新
于2021-8——2021-9决定放弃深造 选择前端研发的路线
所以改用JS刷题 并且选取更契合前端er的专题进行练习
笨鸟先飞早入林
多刷算法进大厂~
“【兔系】刷题 + 【龟系】刷题 的路线” 作者:胖君
大佬提到
龟系刷题——从第一道题开始 慢慢地自己思考 慢慢地想出更多的解法
刷法的精髓就是
- 每个题目要做干净。
- 每个题目仔细地进行琢磨 深入思考
- 不要满足于一种解法,各种解法都写一写。
兔系刷题——从一类题型刷起 一道题几分钟没思路就直接看题解
刷法的精髓就是
- 追求快速解题 多见题型!
- 不会做就赶紧看题解 从这些题解的思路中学习到更多套路!
打算先选取兔系的方式 多见题型 多总结套路!
根据分类标签进行刷题的顺序建议 作者:朱雀灬
大佬的一些有意思的小心得——
刷题是一个漫长而枯燥而上瘾的事情,一开始会觉得很无聊很难,但当掌握一定的套路之后,就会体验到不断AC的爽感。比如我在力扣上刷题的时候,
- 0-100题这是啥啊,我脑子是不是不太好使。
- 100-200题,有些题目能AC了,偶尔能想出一些很有意思的解法。
- 200-300题,大部分题型都见过了,并且能很快判断出来这道题目在考察什么。
- 300-400题,对常见题目能够来一道AC一道,并且开始有意识的接触高级数据结构。
- 400题之后,我已经没什么能教你的了,你就是能给自己规划的做题家了!
给自己做个参考吧~
另外总结了大佬给出的建议 同样也是之后的一段时间自己打算努力的方向 在下面总结出来吧——
分为几个部分
—— 读LeetBook强化数据结构
——新出的力扣“学习计划”
——刷题总结套路 暂时选取Hot100 & easy难度 中的 相关题型
2021.5.21-2021.6.6 第一阶段的树专题先到这里吧 刷了两周多一点
力扣树专题-1 树的前中后序遍历 leetcode144 94 145 589 Java刷题笔记
力扣树专题-2 树的层序遍历 剑指Offer32 - I leetcode102 Java刷题笔记
力扣树专题-3 树的重建 leetcode105 106 Java刷题笔记
力扣树专题-4 用leetcode104求树的深度举例 总结递归秒杀树问题的套路!
力扣树专题-5 深度优先搜索 leetcode104 101 112 543 129 五道题小练一下深度优先遍历搜索算法
力扣树专题-6 广度优先搜索 刷熟一个模板(层序遍历打印二叉树)秒杀一堆问题leetcode102 111 116 617
力扣树专题-7 递归秒杀树问题的套路的体现 以及如何把最丑陋的代码变成最优美的代码 leetcode110 平衡二叉树的深入研究
2021.6.7-2021.8.3 第二阶段的数组专题的战线拉得很长!因为中间经历了期末考试还有一段低效期间 所以14道题刷了两个月之多!平均3天多一道题…惭愧啊 之后效率一定要提上来!
力扣数组专题-1 初识数组 数组的基本操作 leetcode102 111 116 617 java刷题笔记
力扣数组专题-2 二维数组简介 leetcode102 111 116 617 java刷题笔记
力扣数组专题-3 字符串相关题型 剑指05 50 leetcode14 20 java刷题笔记
力扣数组专题-4 6道题掌握两种超实用的双指针技巧-反向指针leetcode344 561 167 与快慢指针leetcode27 485 209 java刷题笔记
2021.8.4-2021.9.4 一个月的时间 完成了链表专题的练习
总共刷了11题 依旧没有做到一天一道题欸!但是这个月的刷题做到了“温故而知新”
好多题都刷过好几遍 也用了不同的方法(欸这个好像和我的“兔系快速刷题想法”不太一样)
另外 在这个月里 我也做出了一个重要的决定 充分了解了自身实力与行业现状之后 我打算开始学习前端开发的内容,于是刷题语言换成了JS 虽然影响不大,但是标识着一个决心吧!
总之链表这里的简单题和好多常见套路 刷过这11道题是基本掌握了!
接下来将进行复习阶段 一天2-3题的刷题量 过一遍数据结构!
另外 啥时候用链表呢??
如果你需要经常添加或删除结点,链表可能是一个不错的选择。(不管在哪里插入 时间复杂度都是O(1)哦!)
如果你需要经常按索引访问元素,数组可能是比链表更好的选择(根据索引查值的话 数组时间复杂度仅为O(1)哦!)
力扣链表专题 -1 单链表与双链表的预备知识
力扣链表专题 -2 【单链表 java js c++】 leetcode707 设计链表 通过设计一个自己的链表来强化对(单/双)链表的理解
力扣链表专题 - 3 双指针专题 leetcode141 142 160 19
力扣链表专题-4 【JS Java 面试超级高频题】链表的经典问题 leetcode206 203 328 234 21 2
这部分的内容参照了力扣的《学习计划:数据结构入门》
2021.9.5-2021.9.22 刷了20道题(可以看到有的题刷过好多次hhh) 虽然有的是之前刷过的(毕竟是复习嘛)但是还是很有收获!
刷题的第一阶段就到这里吧!
在这一阶段 掌握了基础的数组、字符串、链表的部分高频题目
简单了解了栈、队列
这阶段对剩余的一些算法进行一个收尾
因为要快速准备面试 所以来不及看书了 先跟着代码随想录大大的刷题建议去做题!
另外就是根据Carl大大的指示再浏览一遍要刷的题!
我的了解:
首先打算了解一些前端工程师在面试时需要掌握的算法知识 除了之前练过的
- 数组
- 字符串
- 链表
- 树(这个感觉得重新练 忘得比较厉害 而且树也比较难!)
现在能想到的就是——
- 二分查找
- 各种排序
- 栈、队列(强化练习下 之前练得比较少)
- 回溯算法(这里不太确定是否重要)
- 堆(这里更不太确定了 感觉不会考堆的内容吧!)
- 贪心算法 (很好用的一个算法 可以用于解决一些实际问题 好使)
- 动态规划
下面是Carl大大给出的顺序
打算先刷自己没刷过的
这个carl佬还没有总结 自己在网上找下总结吧!
经典的剑指Offer的学习(先快速刷题准备面试辽)