一、刷了忘的原因是:没有真正理解解题思路

解题不应该要求做过的问题都能记住答案。忘了说明以前做的时候就没有真正理解,试图回忆解题步骤是不正确的,应该尝试回忆解题思路。但更有效的做法是 在刷题的时候就深刻理解解题思路。

检验一道问题是不是真正掌握,正是须要在我们完全忘记了解题思路以后,如何一点一点通过题目的条件分析出解题的思路、用到的算法和数据结构。

二、多想想为什么,而不要记住是什么

刷题就是一遍一遍做题,巩固知识点的过程。平常做题的时候没有思路,看题解是非常正常的。但是我们在看题解的时候,不要只看解法,记住算法,而应该去思考算法为什么这样设计。多问一问自己:

为什么想到「二分查找」、为什么想到「滑动窗口」、为什么想到「双指针」?
为什么想到用哈希表记录已经遍历到元素;
为什么求最短路径用「动态规划」和「广度优先遍历」、为什么有一些最优化问题可以用「贪心算法」,直觉来自哪里,如何证明?

三、零基础刷题的正确方法

1.按知识点刷题

2. 刷题和理论知识学习结合

面试考察的算法和高考数学题一样,都有固定考察的知识点。因此我们在准备面试(笔试)的时候,可以按照知识点各个击破。「力扣」的 学习 板块就有很多已经分好类的免费的教程。也可以在「力扣」中按照标签筛选同类问题,逐个掌握每个知识点的思考路径。

遇到不会的问题可以看题解,题解中如果遇到不会的知识点就须要查资料进行学习,知识点的学习找任何一本介绍算法的书籍或是网络教程都可以。学习完以后还要不断做题以巩固知识点。

四、抓大放小,提高刷题效率

题目很多,没有必要要求自己全部都掌握、全部都会做。在准备算法面试的时候,在时间有限的前提下,应该注重基础算法、数据结构、常见(高频)问题的准备,不应该只满足于做对这个问题,而应该以 能够在面试的时候清晰地向面试官表达解题思路 为目标,因为面试是和面试官的对话,仅仅把代码写对是不够的。

程序员刷 leetcode 经常陷入刷了忘忘了刷的尴尬局面怎么办?相关推荐

  1. 禅道程序员的10条原则--转载--为了不忘

    禅道程序员的10条原则 作者: Christian  来源: 伯乐在线  发布时间: 2012-04-23 22:52  阅读: 2802 次  原文链接   全屏阅读  [收藏]   英文原文:Th ...

  2. 程序员之间的搞笑对话!测试妹子弄得大家好尴尬!

    1.一日,和一个程序员见面 程序员:你好,我是"马龙". 我:你好,我是XXX. 闲聊了几句,互加了微信,然后一直称呼他马哥.他也没说什么. 过了两天,认识他的另一个同事才告诉我, ...

  3. 程序员光环大降:求职门槛抬高靠刷题入职却被当小工,38岁遭嫌弃

    程序员的a'w'da'w'da'w'da'w世界也是一座a'w'd围城,站在城外的人想冲进去,围在城里的一部分人想逃出来,而最终绝大部分人不管情不情愿都得出来. 作为a'w'da'w'da'w常规职业 ...

  4. 算法小白如何高效、快速刷 LeetCode ?

    算法很重要,但算法也是学起来最难,最令人生畏的. 特别是刷 LeetCode 的时候!!! 很多初学者在刷题的时候,思路飞来飞去,有时候以为是 动态规划 的知识点,结果写了半天代码越写越乱,最后一看 ...

  5. GitHub超4.4k星:程序员求职,一个算法模板就够了

    来源:新智元 本文约1800字,建议阅读5分钟 本文为你介绍程序员求职中科学的.高效的刷题方式. [ 导读 ] 近日,GitHub上一个名为"算法模板"的项目引发热议,获得了超4. ...

  6. Android程序员的十大转型之路

    IT行业是一个瞬息万变的行业,程序员是一个不进则退的职业.我作为一个Android程序员,多年来一直保持随时可以转型其他技术领域的状态,保持对新技术敏感的嗅觉. 我先说说Android程序员不可能转型 ...

  7. 挨踢部落故事汇(20):Android程序员的十大转型之路

    玖哥是一个来自东北的Android攻城狮,现在定居被誉为"大湖名城,创(chuan)新(xiao)高地"的合肥.知识面极广,不仅广泛涉猎IT相关知识,还热爱文学,性格幽默,被誉为& ...

  8. 有哪些初学者程序员不知道的小技巧?

    提到新手程序员,大家想到的第一个词可能就是--刷题.尤其是通过LeetCode刷题,想必新手程序员们都经历过这一步,甚至不少人认为只要在LeetCode上刷的题目够多,就一定能够进阶为大神. 但是,不 ...

  9. 有哪些适合程序员看的网站?

    程序员网站大汇总,除了技术提升.算法刷题.课程学习.电子书籍的网站,还有兼职副业平台! 一.技术提升 GitHub 程序员托管代码的平台,很多开发者都会在上面找各种各样的开源项目来学习.阿里.腾讯.字 ...

最新文章

  1. HDU 2149 Public Sale
  2. 开发路上踩过的坑要一个个填起来————持续更新······(7月30日)
  3. ecmall开发记录(三)
  4. 【学习笔记】 Python - Pandas
  5. java多线程必杀技_Java技术大牛必备25个必杀技你都知道吗
  6. 一天学完spark的Scala基础语法教程十三、文件IO操作(idea版本)
  7. WinForm登录模块设计开发
  8. 基于java的机房收费系统_基于Java Socket的高校机房计费管理系统
  9. 程序员,别再无脑刷题了,这样学 Python,编程能力暴增!
  10. 在windows中用 netsh 命令修改ip地址网关和DNS等
  11. 关于Android Gradle你需要知道这些(2)
  12. 计算机考研804是什么意思,北邮通信考研专业课801和804的选择
  13. 嵌入式C语言面试题剖析100,嵌入式c语言面试题汇总超.docx
  14. RDMA 、InfiniBand、IB卡、IB驱动 之间的关系!
  15. 搭建基于 Docker 的 CI/CD
  16. C语言/461.(汉明距离)Hamming Distance
  17. DQ坐标轴锁相环(pll)
  18. mysql 8.0优化配置_mysql 8.0.18 安装配置优化教程
  19. PMP中工具与技术归类
  20. Windows server 2012 服务器挂载NAS盘

热门文章

  1. 【基于python实现UI自动化】3.4 JS 处理日历控件(删除 readonly 属性)
  2. JavaSE基础加强、集合案例 斗地主
  3. misc-流量分析女神的告白捉迷藏
  4. 金阳光测试:单元测试第九讲ppt+源代码+视频
  5. C++值传递和引用传递的区别
  6. win7未连接windows无线服务器,Win7系统网络未连接、连接不可用如何解决?
  7. HTML简单网页制作,好玩又有趣
  8. ORA 00942 table or view does not exist
  9. delphi 自定义popupmenu_自定义popupmenu菜单背景色
  10. 郑州海关销毁近2万张“问题地图” 重约5.3吨