高效刷LeetCode的四大秘诀

相信很多朋友在刚开始接触leetcode时都会不知道怎么上手,经常上午刚刷完下午就忘了,就算是刷过的题再做一遍也会写出很多bug……

这其实是个正常现象,很多人都会经历这个“小白”的过程,慢慢都会摸索出自己的一套做题方法。本文分享一下我在刷leetcode时认为几个比较高效的秘诀。

一、写出最优解法

我们在最开始做算法题的时候,都会认为只要把题目AC了就行了,不管时间复杂度和空间复杂度。这如果在实际开发的时候,也许能够胜任一些小型的开发项目,但是在一些需要优化的项目中,就需要找到一个最优的算法来解决。

同样在面试的时候,一道算法题通常有很多解法,面试官往往是不会满足只让你写出一个最简单最基本的解答,而是会要求你写出最优的解法。所以在刷题的时候,不能只满足于把题目AC掉就行了,我们需要写出最优、复杂度最低的代码。

最优的代码通常可以在leetcode题目后面的讨论区找到,可以按点赞排名从高到低,找到点赞数第一的解答,然后看懂他的算法思路,自己再敲一遍代码。

二、训练自己写出Bug Free的代码

虽然没有人能说自己写的代码一定是bug free的,但是我们平时在刷leetcode的时候,可以有意识的往bug free这个方向去思考。就是我们要么不敲代码,一旦开始敲代码就要一遍跑通,不能写完了再来debug。

原因就是我们在面试的时候,如果能一气呵成的写出bug free的代码,会让面试官对你大大加分,面试官会让认为你写代码很熟练,技术很成熟。试想一下,如果面试的时候写出的代码各种Bug,写完了之后一直在debug,那场面是极度尴尬的……


三、写代码一定要流畅

写代码流畅的意思是一定要快,也就是打字要极快,这个技巧也是我在面试的过程中总结出来的。试想一下,如果在面试的时候,面试官给你一道算法题,你在那思考了20分钟都不开始写,或者你开始写了,但是打字速度很慢,敲一个字母看一下键盘,那你这轮面试应该没了……

同样,面试官给你一道算法题,如果你在给出算法思路之后,能在写代码的时候打字很快,那么面试官会觉得你是一个对写代码很熟悉的人,一看就是那种经常写代码的人,也会大大加分。

四、系统的刷题

这一点我觉得是最重要的一点,所谓系统的刷题也就是正确的刷题顺序。在刷题的时候不能东刷一道,西刷一道,今天刷一道链表,明天刷一道二叉树。一个科学的刷题顺序非常重要,能让你事半功倍。关于刷题顺序大家可以参考我以前写的文章:LeetCode刷题的正确打开方式

这四个刷题秘诀都是我在实战中总结出来的,我认为非常有用,希望能对大家有所帮助。

听说转发、点赞的人都能收获满意的offer,你的点赞,转发是小哇创作最大的动力,我们下期再见。

(你好,我是小哇同学,是一名算法工程师,学历背景为双985,曾获国家奖学金。在2020年秋招中收获了一些互联网大厂的offer,包括:BAT,字节跳动,拼多多等,多数为ssp。我曾参加过一些知名公司举办的全国人工智能算法大赛,多次取得top1%的成绩。我会在gzh:【小哇同学】,分享计算机领域学习干货,互联网内推名额,大学、读研规划)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容