如何快速高效的刷Leetcode
前言
随着互联网寒潮的到来, 越来越多的互联网公司提高了面试的难度,其中之一就是加大了面试当中手撕算法题的比例。这里说的算法题不是深度学习,机器学习这类的算法,而是排序,广度优先,动态规划这类既考核数据结构也考核编程能力的题目。刷题的网址非常的多,其中以leetcode是最为出名的。
在刷编程题方面上,主要有这三个问题:
刷过的题老是忘,第二次刷的时候还是不会做
刷题的速度很慢,即使花一天时间,也常常只能刷五六道
坚持不下来,老是刷到一半就停滞下来了,当我第二次再来刷的时候,前面刷过的题都又忘的差不多
我总结了以下方法,或许可以帮助大家快速提高刷题的效率和速度。
一. 我们来谈谈为什么要刷题
面试需要。Google、阿里、百度、今日头条等公司面试的时候,非常看重基本的算法题目,leetcode 刷的不好第一面都过不了
刷题能够提高自信。实际工作当中的代码论算法复杂度远远低于刷题的难度,这么难的题我都刷过了,何况工作的代码, 当然工作当中一般也用不到这些我们刷题的方法
大部分同学刷题能力需要提高。在面试同学算法题的时候,三道算法题能够写出一道的也不是很多
二. 如何快速刷题
确立计划。
比如在准备找工作的时候,明确就要60天刷leetcode 前400题,平均一周就要刷75题,可以周末两天刷50题,周一到周五 每天刷5题,将问题分解下来,每天一定要完成任务才能睡觉分解计划。
由于需要一周刷75题,提前规划将本周需要刷的75题,整理成excel,刷完一题标记一下,一周完毕以后,可以看到满满标记的excel 非常的有成就感快速刷题。
初期一天刷五题其实也是很高的负担,一般来说刚刷题,一题都至少要半个小时,一天五道的话,可能至少也要两个半小时。所以我们在刷题的时候,为了节约时间,五分钟没有思路,就别浪费时间了,直接看答案. 另外一个原因,面试的时候,也不可能让你思考很久。要明确认知,这个和高考刷题没什么区别,理解不了,先背下来。组队刷题。
大家一起刷题,可以明显的督促自己坚持下来,刷题这个本来就是坚持的过程。
三. 如何避免遗忘
及时重复。由于我们刷完题以后,遗忘曲线会遵从一个先快后慢的过程,所以要及时重复刷过的题,这个需要提前规划刷的75题,我们会之后再讲如何规划每周的75题
与人分享。当我们刷完题以后,如果能讲给别人听的话,会大大加深我们的映像,在讲给别人听的时候,如果你能讲的很明白,说明你是彻底理解了,但是如果听的人始终没有听明白,那很有可能就是自己没有理解这个题目,需要自己再回去思考一下这个题目的解法。
四. 如何提高面试环节当中刷题的表现
养成bug free 的习惯。写完代码以后, 一定要仔细检查,保证没有思路问题,没有下标越界问题,考虑各种边界情况,没有变量命名不一致等问题
掌握多种解法。算法题面试,做出来是一方面, 如果能够在这个题目上掌握不同时间复杂度的解法,然后再呈现给面试官,面试官自然会更加满意的。假设一个同学在面试的时候,先写时间复杂度和空间复杂度最高的方法,面试官很有可能会问你这个题目有更优的解法吗,你再写时间复杂度和空间复杂度稍低一点的解法,如果面试官继续问你能不能更优化一点,你再写出时间复杂度和空间复杂度最优的方案,面试官会认为你的思考是有深度的,如果一开始就写出时间复杂度和空间复杂度最优的方法,面试官只是会觉得这个题目你以前做过而已。
五.结束语
刷题最重要的是速度和效率。短时间内高质量快速刷完才是最终目的,明确自己的认知,不要和题目死磕。
坚持下来。如果一个事情方向是正确的时候,即使一时遇到挫折了,也不要气馁,多总结方法,持续提高。刷题这件事情给我的挫败感是非常高的,中间是一度放弃了很久,但是当我想明白这道坎是一定要过的时候,就下定了决心一定要攻克这道难关,持续总结方法,持续进步。
如何快速高效的刷Leetcode相关推荐
- 算法小白如何高效、快速刷 LeetCode ?
算法很重要,但算法也是学起来最难,最令人生畏的. 特别是刷 LeetCode 的时候!!! 很多初学者在刷题的时候,思路飞来飞去,有时候以为是 动态规划 的知识点,结果写了半天代码越写越乱,最后一看 ...
- python刷题用leet_GitHub - Yolymaker/leetcode-python: 利用python分类刷leetcode题目
leetcode分类高效刷题 leetcode是一个很好的学习算法的一个online judge的网站,通过刷题能够快速提升自己的算法能力.但是令大家都头疼的就是,怎么能够高效的通过leetcode刷 ...
- 计算机er刷leetcode心态爆炸怎么办?
写在前面 对于计算机专业的同学来说,不论未来是读研还是工作,在本科阶段都需要重视提升编程能力,较强的程序设计能力或多或少能帮助到各位今后的职业发展,为大家带来更多的可能. 编程能力的提升不是一蹴而就的 ...
- 进入到Google之前,一定要学会刷LeetCode!!
点击上方的终端研发部,右上角选择"设为星标" 每日早9点半,技术文章准时送上 公众号后台回复"学习",获取作者独家秘制精品资料 往期文章 重磅!微软GitHub ...
- python刷leetcode_零基础python刷leetcode -- 3. Longest Substring Without Repeating Characters
算法很重要,但是每天也需要学学python,于是就想用python刷leetcode 的算法题,和我一起开始零基础python刷leetcode之旅吧.如有不对的地方,希望指正,万分感谢~~ 题目 最 ...
- GitHub 热点速览:刷 LeetCode 的正确姿势!
作者 | HelloGitHub-小鱼干 责编 | 郭芮 找对路子,事半功倍,正如本周 GitHub Trending #刷 LeetCode# 主题想表达的那般,正确的学习姿势方能让人走得更远,走进 ...
- 如何快速高效的进入新的知识领域
过去的一个学期读了很多关于思维方式和学习方法之类的书.感觉有很大的启发,以至于总觉得要写一点东西来总结一下.整篇文章在阐述一个问题:如何快速高效的进入一门新领域的思维方式和方法论.文章的结构体系分 ...
- GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势
作者:HelloGitHub-小鱼干 摘要:找对路子,事半功倍,正如本周 GitHub Trending #刷 LeetCode# 主题想表达的那般,正确的学习姿势方能让人走得更远,走进大厂 ???? ...
- leetcode怎么用时间刷_大家都是如何刷 LeetCode 的?
2020年4月更新: 跳槽告一段落,开启新的旅程.不用再爆肝刷题了,但还会做周赛保持手感. TL, DR 太长不看零基础先去学一点"数据结构","算法设计与分析" ...
最新文章
- 这三个普通程序员,几个月就成功转型AI,他们的经验是...
- 女朋友什么的都是浮云,代码才是真爱!
- 怎么写自己的CMakeLists.txt--二
- EtherCAT(扒自百度百科)
- wcdma系统随机接入过程的流程图_招聘电信协优初中级优化工程师、联通系统高级...
- 动态规划——0-1背包问题
- Java7并发编程指南——第八章:测试并发应用程序
- java最广泛的运行环境_Java运行环境下载|Java SE Runtime Environment(Java运行环境)8.0.131 官方多语言正式版_ - 极光下载站...
- 前端薪资竟最差?程序员跳槽时如何才能谈个好价钱
- 文本信息检索(维基百科)
- MVC部分视图的使用
- Linux 分区简介
- 百练:2408:Anagram Groups
- Primeng修改组件样式
- MySQL数据库安全
- Mac OS X下Adware/malware 的简单手动排除方法
- 怎样鉴赏一幅书法作品的好坏
- 基于数字温度传感器的数字温度计 华氏度和摄氏度
- FPGA开发基础——基于multisim以及Quartus实现的交通灯电路
- 第二十二届中国文旅全球论坛新闻发布会在穗召开