Leetcode刷题路线总结

本文分享了一套有效的LeetCode刷题方法,强调建立知识体系和实战演练的重要性,并提供了算法面试技巧及精选题目的推荐。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了跳槽,我目前为止刷了小四百道leetcode,也算是有一些经验,今天就跟大家分享下学习方法和我总结的干货。

注:文末附资料下载~

如何找到感觉

讲起算法,我看过不少书,有《算法导论》、《算法第四版》、《算法竞赛入门经典》、《剑指Offer》,但都没有让我产生质变,现在回想原因可能是:

  1. 看书的时候着急,不过脑子直接看解析,也不记笔记,过几天就忘了
  2. 看完书就觉得自己会了,直接 Leetcode 随机选题,还是不会,内心受挫就不想刷了

后来发现了 Leetbook 这个宝藏,才算是找到了适合自己的刷题方法。其实就一句话:

有体系,重实战。

有一个大概的知识体系后,以深度优先遍历的方法循序渐进的实战,让自己把每个知识点彻底挖透记牢。Leetbook 是 Leetcode官方提供的课程,它的好处是把算法归类为各个章节,而且大部分章节都是免费的。

如上图,在入门的时候就不要刷那种高频面试题了,先把数据结构和算法的各个基础打好。每个 book 里都是先教学、再由易到难地实战,一个知识点大概有十几道题,刷完基本上就能掌握一些套路,到medium的水平了。

然后才是去看各种面经和高频题,给自己查漏补缺,并且要稍微记录一下,几行代码或者解题思路,方便自己快速复习。下面就是我去年刷题时的笔记(文末下载):

刷题时避免不了会有挫败感的,每次觉得自己很nb了,还是会在一些题上卡住。从个人感觉来看,0到100道是最难的一道坎,如果去刷 Leetbook 的话,不知不觉就够了。其次是100-300这个阶段,要靠自己的自律去支撑,突破之后对每个知识点的套路就都了解了,再往后就是看各种刁钻的思路。

如何通过算法面试

再讲到面试,是最考验心态和沟通的一个环节,不管做没做过,拿到题目之后都要走以下几步:

  1. 复述题目,和面试官确认细节
  2. 先找一些简单case,画图解决,再找一些难的case,确认自己的思路正确
  3. 通过一个例子给面试官讲解自己的思路,之后展示代码,注意强调边界条件的处理

如果刷题量够的话,看到题目应该就知道考点了,接下来就是往标准解题思路上套;如果不知道考点在哪,就和面试官沟通一下,说明自己怎么思考的、卡在了哪里,千万别直接撂挑子不做,面试官都没机会给你机会,即使他提示了做不出来也要给出想法思路,把他熬不住了主动叫停。

如果没做出来,还有一个拉好感的方法,能成功加到面试官微信的话,自己私下继续研究完把思路发给他,买卖不成态度在,下次有hc说不定就想到你这个勤学的孩子了。

干货来了

唠叨了这么多,下面就是干货环节,放上我觉得值得刷的题,后面的字母是难度,同学们可以掌握各个知识点的基础之后再来刷这些题。

链表
并查集

二叉树

平衡二叉树

  • 基本原理和操作
  • 为什么有了BST和AVL还需要红黑树

完全二叉树

哈希表

前缀和+哈希表

查找

二分查找

BFS

DFS

双指针

滑动窗口

排序

字典序

TopK问题

动态规划
模式匹配
  • 单模式单匹配:KMP
  • 多模式单匹配:Trie
  • 多模式多匹配:AC自动机
大数据
  • 蓄水池抽样法

最后,该给的我都给了,这个假期能不能量变引发质变就看大家了(拍肩!

资料下载地址

采用C++实现,大佬对题目都进行了归类整理,十分适合初学者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值