算法面试题《精选题目+题解分类汇总》

从去年年底开始想准备找实习,于是就开始懒散的复习。

大二学过数据结构,对基本的算法理论和数据结构有过了解,但是感觉又基本都交还给老师了
于是开始零散的复习,在leetcode上按照通过率由高到低开始刷,发现自己连通过率最高的几个题都吃力,几乎每个题都要去看题解然后慢慢消化
刷了十多个题就放弃了,这种盲目的玩法真的太伤自信心了

于是就去看书,先复习下基础,当然就盲目看书还是没学到什么东西

之后又看了慕课网的bobo老师的算法课程,感觉时间不多了就一口气的看完,边看边敲,感觉自己有点进步了,leetcode总共通过了80多个题了

后来,又尝试了去刷《剑指offer》的套题,凭借着题解刷到了40多个题,其他的题看着题解都感觉吃力了,于是又放弃了

过年期间懈怠了一下,然后再去做之前通过了的题,感觉还是不会做,原来之前会做都是因为有视频和参考题解的作用

这时才意识到自己的刷题方法有问题只刷一遍是不对的,没有体系的刷是不对的

于是又回到最基础的知识点,选择按类型的反复刷,不强求每个类型刷多少个题,但一定要掌握知识点,每个题至少做五遍,保证不看题解和原来的代码自己可以凭借理解一步步写出代码

于是,我就开始高频考题优质代码的整理和刷题,参考《极客时间-算法训练营》的题目和cyc2018大佬的复习笔记中的高频题目开始整理自己的复习笔记,笔记内容都放在我的专栏《leetcode精选题集》
我刷题的步骤可以总结如下:

  1. 复习某个知识点理论知识
  2. 寻找某个知识点相关的高频题(5-10个)
  3. 开始刷题,先自己想解题思路
  4. 开始看leetcode中文站与该知识点相关的题解,写出第一版代码
  5. leetcode全球站查看高赞题解(看全球站只需要将中文站的网址leetcode-cn.com改为leetcode.com,其他的路径都是一致的)
  6. 然后写出自己觉得最容易理解且效率较优的代码
  7. 每个知识点刷两三个题之后就先不要看题解,自己先做,做不出来再看题解
  8. 将每个知识点对应的题目和自己能很容易理解的代码整理成文档,空闲时间可以看一看
  9. 然后定期的反复刷专题,每次针对同一个知识点进行刷题

针对题目的选择较为优化的代码,大家可以参考下我的专栏,我的代码全部是由Java编写的,且代码都是学习了大量题解后整理的较优的,如果有些题找不到较好的Java题解可以作为参考。

我对刷算法题的认知就:听再说的老师讲课不如自己去刷自己去理解,前前后后听了3套网上的面试算法题课程,老师都讲的特别好,但是自己动手较少,一写代码就不会,所以和我曾经一样算法一写就不会的可以尝试着按专题来逐个攻破

我刷题的目录整理如下,想体系化刷题的同学可以参考这个路径(标题链接我的专题文章,题目链接leetcode中文站题目)

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值