十二月了 再更一波 最近的题解都写在这个仓库中,另外仓库中也记录了自己学习前端过程中的收获~
近期刷题情况——

2021-11突然好多人看这篇XD 来更一波,依旧在保持刷题啦~

目前是跟着一本前端算法小册(前端er们用来巩固基础很不错哦!另外可以看到我在小册底下有很多留言啊哈哈哈(掘金与CSDN同名嗷))+力扣每日一题在巩固基础;预计12月份用一个月左右的时间刷一波剑指Offer,然后通过面试来试试自己几斤几两!

往期更新

于2021-8——2021-9决定放弃深造 选择前端研发的路线
所以改用JS刷题 并且选取更契合前端er的专题进行练习

  • 2021-5 最初版本
    参考了两位刷题路上的前辈的建议 感觉很受启发 分享一下自己理解汇总过后的算法刷题之路

笨鸟先飞早入林
多刷算法进大厂~

文章目录

  • 1.从前辈们的经验中获得学习建议
  • 2.第一阶段的刷题计划
    • 1.树
      • 树专题小结
      • 主要算法技巧练习
      • 树专题刷题笔记
    • 2.数组和字符串
      • 数组与字符串专题小结
      • 主要算法技巧练习
      • 数组与字符串专题刷题笔记
    • 3.链表
      • 链表专题小结
      • 主要算法技巧练习
      • 链表专题刷题笔记
    • 4.数组、字符串、链表、栈、队列 快速刷题复习
  • 2.第二阶段的刷题计划
    • 0.==算法性能分析==
    • 1.数组 5道题
    • 2.链表 7道题
    • 3.哈希表 8道
    • 4.字符串 7道
    • 5.双指针法 10道
    • 6.栈与队列 7道
    • 7.==二叉树== 30多道
    • 8.==回溯算法== 解难题 10多道
    • 9.==贪心算法== 这个有用得很!20多道
    • 10.动态规划 Dynamic Programming 42道
    • 11.单调栈
    • 12.==排序==
  • 3.后续阶段刷题展望

1.从前辈们的经验中获得学习建议

“【兔系】刷题 + 【龟系】刷题 的路线” 作者:胖君
大佬提到

龟系刷题——从第一道题开始 慢慢地自己思考 慢慢地想出更多的解法
刷法的精髓就是

  • 每个题目要做干净。
  • 每个题目仔细地进行琢磨 深入思考
  • 不要满足于一种解法,各种解法都写一写。

兔系刷题——从一类题型刷起 一道题几分钟没思路就直接看题解
刷法的精髓就是

  • 追求快速解题 多见题型!
  • 不会做就赶紧看题解 从这些题解的思路中学习到更多套路

打算先选取兔系的方式 多见题型 多总结套路!

根据分类标签进行刷题的顺序建议 作者:朱雀灬
大佬的一些有意思的小心得——

刷题是一个漫长而枯燥而上瘾的事情,一开始会觉得很无聊很难,但当掌握一定的套路之后,就会体验到不断AC的爽感。比如我在力扣上刷题的时候,

  • 0-100题这是啥啊,我脑子是不是不太好使。
  • 100-200题,有些题目能AC了,偶尔能想出一些很有意思的解法。
  • 200-300题,大部分题型都见过了,并且能很快判断出来这道题目在考察什么。
  • 300-400题,对常见题目能够来一道AC一道,并且开始有意识的接触高级数据结构。
  • 400题之后,我已经没什么能教你的了,你就是能给自己规划的做题家了!

给自己做个参考吧~

另外总结了大佬给出的建议 同样也是之后的一段时间自己打算努力的方向 在下面总结出来吧——

2.第一阶段的刷题计划

分为几个部分
—— 读LeetBook强化数据结构
——新出的力扣“学习计划”
——刷题总结套路 暂时选取Hot100 & easy难度 中的 相关题型

1.树

树专题小结

2021.5.21-2021.6.6 第一阶段的树专题先到这里吧 刷了两周多一点

  • 刷掉了LeetBook 二叉树 上所有题(剩了几道medium的感觉不太合适了 乱起来了。)

  • 刷掉了Hot100上所有的easy题
    感觉还是比较受启发

主要算法技巧练习

  • 递归 详见专题1 2 3 4
  • 分治思想 详见专题3
  • 对称性递归 (对一个对称的数据结构 进行对称性思考 把大问题分解成子问题进行递归 )稍后总结
  • 广度优先搜索(类似前序遍历)详见专题6
  • 深度优先搜索(类似后序遍历)详见专题5

树专题刷题笔记

力扣树专题-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 平衡二叉树的深入研究

2.数组和字符串

数组与字符串专题小结

2021.6.7-2021.8.3 第二阶段的数组专题的战线拉得很长!因为中间经历了期末考试还有一段低效期间 所以14道题刷了两个月之多!平均3天多一道题…惭愧啊 之后效率一定要提上来!

依旧是刷掉了leetbook上的大部分题目 数组和字符串

主要算法技巧练习

  • 数组基础操作 专题1
  • 二维数组基础操作 专题2
  • 字符串基础操作 专题3
  • 双指针技巧 专题4
    • 反向指针
    • 同向快慢指针
  • 前缀和技巧 待完成
  • 二分查找技巧 待完成

数组与字符串专题刷题笔记

力扣数组专题-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刷题笔记

3.链表

链表专题小结

2021.8.4-2021.9.4 一个月的时间 完成了链表专题的练习
总共刷了11题 依旧没有做到一天一道题欸!但是这个月的刷题做到了“温故而知新”
好多题都刷过好几遍 也用了不同的方法(欸这个好像和我的“兔系快速刷题想法”不太一样)
另外 在这个月里 我也做出了一个重要的决定 充分了解了自身实力与行业现状之后 我打算开始学习前端开发的内容,于是刷题语言换成了JS 虽然影响不大,但是标识着一个决心吧!
总之链表这里的简单题和好多常见套路 刷过这11道题是基本掌握了!
接下来将进行复习阶段 一天2-3题的刷题量 过一遍数据结构!

另外 啥时候用链表呢??
如果你需要经常添加或删除结点,链表可能是一个不错的选择。(不管在哪里插入 时间复杂度都是O(1)哦!)

如果你需要经常按索引访问元素,数组可能是比链表更好的选择(根据索引查值的话 数组时间复杂度仅为O(1)哦!)

主要算法技巧练习

  • 单链表与双链表 专题1 2
  • 双指针技巧 专题3
  • 链表的经典问题 专题4 —— 这里有好多模板化的内容 小套路也很多!同样也是面试的常客!!

链表专题刷题笔记

力扣链表专题 -1 单链表与双链表的预备知识

力扣链表专题 -2 【单链表 java js c++】 leetcode707 设计链表 通过设计一个自己的链表来强化对(单/双)链表的理解

力扣链表专题 - 3 双指针专题 leetcode141 142 160 19

力扣链表专题-4 【JS Java 面试超级高频题】链表的经典问题 leetcode206 203 328 234 21 2

4.数组、字符串、链表、栈、队列 快速刷题复习

这部分的内容参照了力扣的《学习计划:数据结构入门》
2021.9.5-2021.9.22 刷了20道题(可以看到有的题刷过好多次hhh) 虽然有的是之前刷过的(毕竟是复习嘛)但是还是很有收获!

刷题的第一阶段就到这里吧!
在这一阶段 掌握了基础的数组、字符串、链表的部分高频题目
简单了解了栈、队列

最关键的是 这阶段中确定了之后将“前端研发工程师“作为主要的努力方向!

冲!!!

2.第二阶段的刷题计划

这阶段对剩余的一些算法进行一个收尾

因为要快速准备面试 所以来不及看书了 先跟着代码随想录大大的刷题建议去做题!

另外就是根据Carl大大的指示再浏览一遍要刷的题!

我的了解:
首先打算了解一些前端工程师在面试时需要掌握的算法知识 除了之前练过的

  • 数组
  • 字符串
  • 链表
  • 树(这个感觉得重新练 忘得比较厉害 而且树也比较难!)

现在能想到的就是——

  • 二分查找
  • 各种排序
  • 栈、队列(强化练习下 之前练得比较少)
  • 回溯算法(这里不太确定是否重要)
  • 堆(这里更不太确定了 感觉不会考堆的内容吧!)
  • 贪心算法 (很好用的一个算法 可以用于解决一些实际问题 好使)
  • 动态规划

下面是Carl大大给出的顺序
打算先刷自己没刷过的

0.算法性能分析

1.数组 5道题

2.链表 7道题

3.哈希表 8道

4.字符串 7道

5.双指针法 10道

6.栈与队列 7道

7.二叉树 30多道

8.回溯算法 解难题 10多道

9.贪心算法 这个有用得很!20多道

10.动态规划 Dynamic Programming 42道

11.单调栈

12.排序

这个carl佬还没有总结 自己在网上找下总结吧!

3.后续阶段刷题展望

经典的剑指Offer的学习(先快速刷题准备面试辽)

  • 刷题
  • 看书

2021.5.21开始的兔系刷题之路 根据LeetCode分类进行逐个击破 培养出自己的套路~相关推荐

  1. 判断输入的字符串是否为回文_刷题之路(九)--判断数字是否回文

    Palindrome Number 问题简介:判断输入数字是否是回文,不是返回0,负数返回0 举例: 1: 输入: 121 输出: true 2: 输入: -121 输出: false 解释: 回文为 ...

  2. LeetCode 刷题之路(python版)

    摘自:https://blog.csdn.net/qq_32384313/article/details/90745354 LeetCode 刷题之路(python版) 小坏wz 2019-06-02 ...

  3. 【Leetcode】刷题之路2(python)

    哈希映射类题目(简单题小试牛刀啦bhn) 242.有效的字母异位词 349.两个数组的交集 1002.查找常用字符 202.快乐数 383.赎金信 242. 有效的字母异位词 用python的Coun ...

  4. 【Leetcode】 刷题之路1(python)

    leetcode 刷题之路1(python) 看到有大佬总结了一些相关题目,想着先刷一类. 1.两数之和 15.三数之和 16.最接近的三数之和 11.盛最多的水 18.四数之和 454.四数相加II ...

  5. 刷题之路:DP思想(动态规划)

    dp一般用于解决决策问题,比如说你的每一步都有好几种处理方式,怎么选择使得最后的结果满足或者接近于你的预期是需要考虑的问题. 所以dp问题实际上也就是最优解的问题 一般采用的方式就是将问题拆分成若干个 ...

  6. 蓝桥杯备考-刷题之路-动态规划算法(DP算法)Part1

    之前在刷力扣的时候就是浑浑噩噩的,照着评论区的答案写了一遍就万事大吉了,没有深度思考过.这次备考蓝桥杯看到DP算法的第一道题就不会,更难受的是看答案了依然完全不理解,所以决心把DP算法一次弄懂. 开始 ...

  7. Python小屋刷题软件2425道题目分类速查表

    "Python小屋"编程比赛正式开始 Python小屋刷题软件客户端使用说明(视频讲解) Python小屋刷题神器最近升级的新功能介绍 每次录入新题目时都会更新下面的分类表,请注意 ...

  8. 春节大礼包|刷题技巧+80道Leetcode

    马上要春节了,rumor提着大礼包来给同志们拜个早年! 春节之后春招和跳槽季就来了,对于没参加过信息竞赛的同学来说,算法是找工作时很大的一个坎.为了跳槽,我前两年的春节都是在刷题中度过的,目前为止刷了 ...

  9. python -- leetcode 刷题之路

    第一题 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], tar ...

最新文章

  1. PMcaff专属产品经理的免费培训课,3月8日北京站第一期开课倒计时!
  2. 计量经济学及stata应用思维导图_小学毕业数学重点考点,火车过桥应用题,用思维导图轻松掌握...
  3. why my detail page in SAP UI5 application is failed to be loaded from router
  4. FIR仿真module_04
  5. 数据结构一【树状数组】普通、二维、离线树状数组的(单点修改,单点查询,区间修改,区间查询)模板及应用例题总结
  6. 视图中获取控制器中数据的方式
  7. lua中variables和table
  8. Java使用笔记之stream和sorted使用
  9. mybatis多数据源配置_springboot+mybatis+aop配置动态数据源
  10. One账户多设备同步的数据库设计
  11. navicat for mysql 破解版 中文免费
  12. 蓝桥杯省赛训练营——日期的计算
  13. 12款响应式 Lightbox(灯箱)效果插件
  14. 一键安装 kX3552 ProFX312 UFX52 程序
  15. 信息系统项目管理师-软考-B站自学
  16. Win10下Flutter开发环境搭建这一篇足矣
  17. 席慕容的诗歌——《我愿为莲》
  18. (7,4)汉明码编码译码及计算最小码距——基于MATLAB编程
  19. 【Java】初识泛型(带你从初学者角度切入,通俗易懂,速进)
  20. 安装mingw-w64失败解决方法

热门文章

  1. QMS-云质-质量管理-汽车行业PPM统计乱象
  2. 医美入校,医美乱象能否被净化?
  3. h0283. 圆的周长
  4. python列表转化为数字信号_在python中将声音转换为音素列表
  5. 为什么我们要学习基本理论
  6. 基于Springboot的三方线上美食商城系统
  7. python基于pingouin统计分析:mediation_analysis构建包含多个中介变量的mediation analysis(中介分析)模型、m指定中介变量、参数指定显著性阈值
  8. 23最新Android车载系统开发入门指南,附项目实战源码
  9. html合并单元格自动换行,html的table标签用js做合并单元格操作
  10. 教你使用CANN将照片一键转换成卡通风格