讨论/技术交流/如何在 LeetCode 竞赛中 Rank 达到 2000 分/
如何在 LeetCode 竞赛中 Rank 达到 2000 分

首先自我介绍一下,本科非计算机专业,非 985/211。从 2018 年 8 月份开始正式接触算法,从 LeetCode 入的门。当时的 LeetCode 还是只有美服版本,记得国服是在 2018 年底才开始运营起来的。

当时的算法水平可谓小白,基本上是零基础。当时,就硬性地按频率顺序刷。频率只有会员才能看到,所以当时花了 800 左右的 RMB 买了美服的会员。磕磕绊绊刷到 2020 年初,也刷了 500 道题目吧。当时的竞赛水平很差,只有在极少数的情况下能够在规定的 1 个半小时内 AC 四道题目。

2020 年我开始讲究了一些方法和策略,开始系统性地学习算法。同时,在刷题之后,进行深入的思考。在经过不断地可以练习之后,LeetCode 的竞赛题目可以在不是很难的情况下 AC 四道题目,而且还能剩下一些时间提前完成。

胡小旭 LeetCode Rank

下面是我 LeetCode 的 rank,那么我就来谈谈,我是如何完成这一步的。

输入(Input)

首先,我觉得需要系统性地学习。如果,基础比较差甚至零基础,那么最好不要直接上手 LeetCode。所以,我觉得我在起初刷的 500 道题目的效率是非常糟糕的。因为,在 LeetCode 尽管按照分类刷,也是需要自己有很强地独立思考的能力,需要自己梳理并建立完整的体系,并思考背后的技巧。而这些事情,是一本较好的书籍直接可以提供给我们的。所以,一本好的书籍,进行系统地学习是比较高效且合理的方式。

同时,刷 LeetCode 的题目作为平时练习,其难度是和其竞赛题目同等的。所以,在参与竞赛时还是显得吃力。如果,通过书籍做一些拔高练习,那么效果会好一些。

对于,书籍的推荐有**《算法竞赛入门经典2》《信息学奥赛一本通》**。这两本书籍也是我目前正在集中学习与刷题的必备法宝。希望能够在 2021 年完成大部分的题目,并做一些总结性的思考。

输出(Output)

其次,配合 LeetCode 进行练习。此时,在系统性的练习与学习之后,在刷 LeetCode 的题目时就显得格外轻松。偶尔,还会有一种融会贯通的感觉。会发现,有些问题居然可以以这种角度进行思考,有些知识点居然可以解决这些问题。

当然,只是刷 LeetCode 固然非常的枯燥。所以,我也建议同时刷不同的 OJ。一个可以提高学习新鲜感,保持兴趣,二个可以让自己熟悉不同的 OJ,拓展视野,提高自己的适应能力。有时,刷久了一个 OJ,突然刷另一个真的会有一种“不知所措”的感觉。

那么,对于 OJ 我有这些推荐如下推荐:

最后

希望在 2021 年的系统性练习中,能够达到 LeetCode 竞赛的前 2.5%(排名) AtCoder 竞赛的 10%。大家一起加油吧~

7
共 14 个回复

把面试知识点都搞熟了差不多 2200,再往上要么学竞赛降维打击,要么玩金山打字通提高手速,要么换个脑子。

20

差不多常见的数据结构、知识点会了(比如Python也需要补上TreeMap之类的),不出意外前三道题基本上是稳的,十场左右就能2000。
然后如果了解树状数组、并查集、状态压缩这些可能是偏向竞赛的数据结构以及算法思路,每周在三题到四题之间左右横跳,二十场以内可以到2200-2300;之后我感觉如果稳重一点(比如别玩嗨了明明可以动态规划的,去死怼贪心之类的),应该还可以再高一点。
后面怎么提高正在探索中...

5

秘诀就是每次按时参赛别迟到,周日别睡懒觉就可以了啦.

3

2000就是个态度分,每次周赛后把前三道题的题解吃透就够了。

2

基本同意零神说的,虽然现在离2000还差几十分。把知识点搞熟,经常参加比赛慢慢来就可以。再往上其实就不是leetcode设计目的了,可能需要去其他更针对竞赛的平台。周赛第四题有的题目没有竞赛基础感觉基本不大可能想到,不过找工作的话应该也用不上:)

2

两千不是有手就行?【狗头保命】

2

膜拜大佬!

1

快了,快了。。。

1

明显感觉现在大家水平越来越高了 以前慢慢悠悠做都可 现在真得拼拼手速