查看: 35680| 回复: 55
收起左侧

[Leetcode] 写一点非CS本科打到Leetcode contest前1%的经验

   
shade2023 | 显示全部楼层
本楼:   👍  109
99%
1%
1   👎
全局:   179
99%
1%
1

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

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

x
背景:非CS本科,0 ACM/OI经验,正在读mscs。

来地里好多东西看不到好急,发个经验贴看看能不能蹭点大米😁。

先贴一下Rating,以前高强度打LC周赛的时候可能有个top 0.5%,希望这个帖子可以给大家分享点自己的经验。



1. 刷题量


我刚开始的时候抱着数据结构的书边看边根据知识点刷,题量从0刷到了大概300+题(我猜),这个时候刷题量其实也不是很多,但是一般周赛的两道medium大概率都能做出来了。后期就是碰到不会的题目,看讨论区,如果是算法没学过就查OI wki, wikipedia, CSDN,知乎, etc. 把知识点补齐,慢慢的见的Hard多了比较水的Hard题就也能写出来了。个人观点单纯为了追求数量刷题没什么必要,但是对每个知识点保证一个基础的题量(我会给自己建议初期每个知识点刷2~5题)非常重要。

2. 思路提升
提升思路我的心得是:
1.多写不同的题目,LC很多题都太接近了比如各种暴力搜索套不同的题面,那种题我觉得写个5、6题和写一题区别也不大。
2.多进行长考,在我能写出hard之后我开始偶尔参加codeforces的contest,我的体会是对自己的脑力有很显著的提升。codeforces竞赛的BCD我映像里是对知识点要求并不会比LC高多少,但是对思路的要求更高,写codeforces(对我来说)会有更多有意义的长考。后来再回去写LC,压力瞬间小了很多。

3. 小技巧
最后是一些可以有效提升排名的小技巧,比如:
1. 猜算法复杂度
打contest 如果不能一眼看出最优解,一个基本的操作就是看数据范围猜复杂度,比如O(n^2)解决n<1e4的问题,O(nlogn)解决n<1e6的问题,O(n)解决 n <1e8 的问题,O(logn)解决 n>1e8的问题。
比如biweekly 95的q4,n<=1e5,那么这题很大概率是nlogn的complexity。如果能想到线性套二分,就不难想到对于一个possible solution,可以在linear time里验证其是否是valid solution, 接着用二分缩小search space,这题hard基本就解决了。
2. 看榜
如果一道题(一般是LC contest第四题)有点摸不准难度,可以打开实时榜单看看大佬们的完成情况,根据完成的人数,可以有效判断自己是想复杂了还是想简单了。
3. 别急着提交
先静态看一遍代码,检查一遍逻辑以及typo(我现在已经很少有因为typo出错,但是还是常常在逻辑上有疏漏)再提交降低很多WA。
LC周赛WA一次就是5分钟,在手速场如果因为心急WA了两三次,那基本就和高排名无缘了

最近刚开始恢复打周赛,暂时先想到了这些。希望以后可以在地里和大家学习更多知识。

补充内容 (2023-02-20 06:57 +8:00):
看到不少人问,补充一下,楼主是数学本科

评分

参与人数 44大米 +108 收起 理由
laoyst09 + 1 赞一个
aodeyyoyo + 1 赞一个
shujie03 + 1 赞一个
14417335 + 10 给你点个赞!
微信用户_362b5a9 + 1 赞一个

查看全部评分


上一篇:分享下自己对dijkstra 算法 的理解
下一篇:chatGPT快速刷题

本帖被以下淘专辑推荐:

本楼:   👍  77
97%
3%
2   👎
全局:   17819
99%
1%
250
咋感觉lz是典型的本科选错了专业然后忽然发现自己有天赋的那种……
漫画/小说里的人物

评分

参与人数 1大米 +1 收起 理由
14417335 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

zarali308 2023-1-11 23:57:02 来自APP | 显示全部楼层
本楼:   👍  34
100%
0%
0   👎
全局:   1370
94%
6%
82
本帖最后由 zarali308 于 2023-1-11 08:05 编辑

我也来晒一个~
非CS背景,已经在2021转行上岸,目前就靠每周的周赛的四题保持手感,维持住可以出去面试的状态。
转行完之后,感觉打周赛已经成为了一种习惯,有事没事都尽量在周六晚上打一打。
话说今年周赛刚好和圣诞前夜、新年以及除夕重合,也真是挺夸张的……
周赛.jpg


补充内容 (2023-01-14 06:31 +08:00):
感谢大米!

评分

参与人数 6大米 +15 收起 理由
14417335 + 1 给你点个赞!
AireenXLZI + 1 赞一个
kex7 + 1 赞一个
fyfyzzk + 1 赞一个
Whale1222 + 1 赞一个

查看全部评分

回复

使用道具 举报

donnice 2023-1-11 14:32:53 | 显示全部楼层
本楼:   👍  25
100%
0%
0   👎
全局:   24837
92%
8%
2198
能好奇下为啥会有人喜欢打周赛么😂感觉面试没必要刷到这个程度?

评分

参与人数 1大米 +1 收起 理由
akdhfikbk + 1 赞一个

查看全部评分

回复

使用道具 举报

本楼:   👍  6
100%
0%
0   👎
全局:   4899
95%
5%
282
哈哈原来不止我一人会看榜…
我一般看第一名做了10分钟才做出来最后一题,我就会放弃…
其实提高排名最简单的办法就是用python…手速快

评分

参与人数 1大米 +1 收起 理由
14417335 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

onewithnoname 2023-1-11 14:18:32 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   324
99%
1%
4
楼主本科什么专业?
回复

使用道具 举报

无效楼层,该帖已经被删除
337845818 2023-1-11 15:02:44 | 显示全部楼层
本楼:   👍  8
100%
0%
0   👎
全局:   3057
91%
9%
318
Leetcode的题库就算了吧,也就cf1900的水平。
回复

使用道具 举报

debuger 2023-1-11 15:12:18 | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   1510
94%
6%
102
donnice 发表于 2023-1-10 22:32
能好奇下为啥会有人喜欢打周赛么😂感觉面试没必要刷到这个程度?

纯粹 爱好 ?
回复

使用道具 举报

 楼主| shade2023 2023-1-11 15:28:25 来自APP | 显示全部楼层
本楼:   👍  5
100%
0%
0   👎
全局:   179
99%
1%
1
donnice 发表于 2023-01-10 22:32:53
能好奇下为啥会有人喜欢打周赛么感觉面试没必要刷到这个程度?
每周只用花一点点时间就行。可以保持手感,学习大佬的代码/思路,在国区还有奖品拿😂 如果我不打周赛,可能我就几乎不写算法题了
回复

使用道具 举报

AlbertZhong 2023-1-11 16:09:30 | 显示全部楼层
本楼:   👍  9
100%
0%
0   👎
全局:   293
97%
3%
10
donnice 发表于 2023-1-11 15:32
能好奇下为啥会有人喜欢打周赛么😂感觉面试没必要刷到这个程度?

根据我的经验,有比赛的压力,能更好培养自己面试时抗压能力。
回复

使用道具 举报

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

本版积分规则

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