📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
查看: 62530| 回复: 88
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 两年刷题经验总结

   
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x

ng 一枚, 刷题两年, 断断续续, 目前为止总共刷了400+。 对于面试中所有的medium题目, 基本都可以秒杀。 2020 fall, 拿到了4个面试,3个onsite。 只有第一个面试挂了(挂在面试技巧上面了),另外三个onsite全部拿到offer了。

个人的刷题路径
1. 刷easy题。主要寻找做题的感觉。
2. 刷linkedlist, tree。 原因一是面试中这两类题考的频率较高, 原因二是刷这两类题有助于对递归的理解, 为后面刷DFS打下基础。
3. 刷DFS。 DFS非常重要,因为大部分 brute force 基本都可以用dfs来求解。 刚开始刷DFS, 可以重点关注pemutation 和 combination的题目, leetcode 这两类题也挺多的。 然后开始总结, 去理解 “状态(state)” 这个概念,对于每道DFS问题, 要清晰的定义出 “状态(state)”, 以及状态如何转移, 这方面的基础可以为DP打下基础。
4. 记忆化搜索。 也就是DFS + 记忆。记忆的存储通常用map或者set即可。
5. DP。 记忆化搜索刷熟了,可以尝试开始刷经典的DP,理解状态 和 状态转移,尝试自己去写出状态转移方程。 尝试DP的两种实现方式 top-down(也就是记忆化搜索) 和 bottom-up
6. 高频数据结构, stack, queue, heap。 这三个数据结构在面试中出现频率非常高。
7. 其他重点专题: sliding window, sort(特别是快速排序 和 归并排序), two pointers, graph, bfs, trie, union find


个人的其他刷题方式,我通常会结合不同的刷题方式。
1. 只看题,不写代码。 我通常会从brute force 开始求解, 然后逐步优化。 如果10-20分钟以内想不出解法, 直接去看答案了。
2. 对于一道题, 精耕细作, 举一反三。 精耕细作是指 学习优秀代码, 一题多解 以及 如何从brute force推导到最优解,并且了解这个过程的思路是如何形成的。 举一反三是指看类似的题目, 总结共同特性。
3. 参加竞赛。 训练快速做题, debug , 写代码的能力。

其他tips
1. 刷题初期追求量,一道题不可花太长时间, 控制在30分钟以内
2. 最好不依赖IDE, 训练直接在leetcode 页面写代码。
3. 定期回过头总结刷过的题。
4. 不要盲目刷题, 适可而止,刷够了,要转战到面试技巧上面, 面试技巧和刷题一样重要。(因为我就有一个面试挂在面试技巧上面, 非常后悔)

刷题感悟:理解 子问题。 对于每一个问题, 定义子问题是什么, 然后如何从子问题推导出原问题的解。 对于DFS, 就是穷举每个子问题。 DP就是因为存在重叠子问题。 贪心就是每次以子问题的最优解作为原问题的最优解。

以上是个人经验总结, 欢迎讨论。

评分

参与人数 116大米 +184 收起 理由
lmmxmm + 1 赞一个
3bay + 1 赞一个
youling_tong + 1 很有用的信息!
AmadusOnline + 1 很有用的信息!
不凉 + 10

查看全部评分


上一篇:新手请问大家是如何准备和现场做OA的?
下一篇:Common Electrical engineers (EE) Interview Mistakes

本帖被以下淘专辑推荐:

全局:
非常同意楼主观点 另外一个自己觉得有用的小tip是找一个小本本总结不同topic的思路和知识点(用自己的语言和理解)过几个月或几年再看可以帮助迅速refresh memory快速进入面试状态

评分

参与人数 2大米 +2 收起 理由
SiriusLDOX + 1 赞一个
斧声烛音 + 1 赞一个

查看全部评分

回复

使用道具 举报

推荐
fuqing04 2021-1-29 01:48:13 | 只看该作者
全局:
加米,lz能不能给后来人讲讲面试技巧方面会有什么坑?我目前就是那种就算踩坑了自己也不知道的状态。

评分

参与人数 2大米 +3 收起 理由
Houdini + 2 同问!
SiriusLDOX + 1 赞一个

查看全部评分

回复

使用道具 举报

推荐
 楼主| jackben 2021-1-31 07:17:47 | 只看该作者
全局:
vanquishz 发表于 2021-1-29 01:49
楼主不做binary search?

谢谢提醒,我给遗漏了,  确实是非常重要的一个topic

评分

参与人数 1大米 +1 收起 理由
vanquishz + 1 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分

回复

使用道具 举报

🔗
sup3r 2021-1-28 12:18:53 | 只看该作者
全局:
谢谢楼主分享
回复

使用道具 举报

🔗
asterid 2021-1-28 12:39:47 | 只看该作者
全局:
3. 刷DFS。 DFS非常重要,因为大部分 brute force 基本都可以用dfs来求解。


非常赞同。几年前跳槽,十个电面有 8 个都是 DFS。Google onsite 五场里面有两场 DFS,真的醉了……
回复

使用道具 举报

全局:
收藏了,谢谢楼主分享
回复

使用道具 举报

全局:
说的真的好
回复

使用道具 举报

🔗
nickey0809 2021-1-28 22:34:31 | 只看该作者
全局:
Mark下,学习!
回复

使用道具 举报

全局:
(⊙o⊙)哇 跟队友培训我一周突击刷题的思路一模一样!夸一波楼主(和队友)哈哈
回复

使用道具 举报

🔗
simonliao666 2021-1-29 00:34:03 | 只看该作者
全局:
正准备从0开始刷题,谢谢楼主分享经验!
回复

使用道具 举报

🔗
地中有山 2021-1-29 00:52:40 | 只看该作者
全局:
同意总结和面试技巧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表