LeetCode【力扣】每天刷题计划/进度

文章目录

  • 刷题顺序
    • 应该掌握三点
      • 数据结构
      • 算法
      • 其他知识
  • 刷题技巧
    • 第一遍
    • 第二遍
    • 第三遍
    • 第四遍
  • 建议
    • 腾出固定时间
    • 在线编写
  • 总结
  • 博主后话

  1. 首先刷题贵在坚持,每天训练 保持头脑 + 回顾多想——即刻畅通.
  2. 不能为了刷题而刷题,要结合实际的理论\面试[应用] 知识去刷题.
  3. 并且时常总结、时常回顾.

刷题顺序

leetcode上刷刷题(多刷easy和middle难度的)

  1. Array
  2. String
  3. Math
  4. Tree
  5. Backtracking
  6. Dynamic Programming
  7. LinkedList
  8. Binary Search
  9. Matrix
  10. DFS & BFS
  11. Stack & PriorityQueue
  12. Bit Manipulation
  13. Topological Sort
  14. Random
  15. Graph
  16. Union Find
  17. Trie
  18. Design

参考->Leetcode分类顺序表

应该掌握三点

数据结构

  • 数据结构(低级的):数组,链表,栈,队列,树,图,堆,HashTable等

  • 数据结构(高级的,本科基本学不到):线段树,树状数组,并查集,字典树等

算法

  • 算法(低级的):排序算法(八种),DFS,BFS,二分查找,回溯,分治,递归,动态规划,拓扑排序,贪心等
  • 算法(学校学不到的):Sliding window,扫描线算法(图形学),蓄水池算法,flood fill(图形学)等
  • 更难的其实也涉及到很多:KMP,马拉车等

其他知识

这还仅仅是算法和数据结构,那么还有别的知识:位运算(Bit),基础数据结构实现(LinkedList Deque等实现),一些设计思想(Design),数学知识(Math),通配符,转义字符,记忆化搜索等。

如果用的是Java,其实别的语言也一样,Java 还有一些常用的数据结构:TreeMap,TreeSet,PriorityQueue,Deque 等

以上说的所有东西,全部都是Leetcode题目出现过的。那么多说一点,如果是针对面试,有很多都是北美的,Google Facebook这种公司,会的还要更多:Dijkstra,二分图,红黑树知识等;Java的基础:Heap实现,HashMap,HashSet具体区别等,equals hashcode重写等这些东西一样,都是曾经在面试中大量出现的,就是我们要会的基础。

所以 我们要在扎实学习这些基础之上。进行面经的不断精进!直至找到理想的工作!
The connect dots will lead you to the Bright Future.

balloon

刷题技巧

另外不建议刷lc 800,主刷前400,就够用了,毕竟,前400能刷完的,理解的了的,10中2-3个人而已。

第一遍

可以看看答案,学习人家的最优解,建立思维体系,补数据结构,补算法知识。

第二遍

有了刷题的知识体系和思维导图。开始培养自己 运用这种体系、算法,去分析问题、解决问题了。

第三遍

再过一下,熟悉下所有套路。这时候应该牢牢记住了 所有套路或者形成了自己的算法模板

第四遍

脱离lc,开始做 面经,看看公司面试时怎么出题的!

建议

腾出固定时间

每天早晨或者中午早来一会——【刷题】
每周六下午 【总结】 + 【回顾】

在线编写

尽量在线编写,避免使用相应的IDE.一方面锻炼代码能力;另一方面 养成良好的代码风格。

总结

引用知乎博主 Edward Shi 关于 刷 leetcode 需要哪些基础? 的回答

另外不建议刷800,主刷前400,就够用了,毕竟,前400能刷完的,理解的了的,10中2-3个人而已。

其实这些东西说起来容易,做起来很难。 每一遍其实都挺痛苦的,需要一个循序渐进的过程。我不是什么天才,我到现在的水平,基本上全职刷题,上课只是副业,8-9个月的时间。以数量来看,留学两年多,刷题过3000。不重复的题,就做过过千了。后来我把lc前400题所有题解法录成视频,录了近半年。所以不是看到一个人刷题厉害怎么聪明,而是踏踏实实的努力。毕竟最快的捷径,就是没有捷径。

博主后话

  • 实际做算法应聘,或者算法醒目落地。数据远比模型重要,工程稳定流畅的难度远大于某几个指标几个点的提升(除非提升很多,当我没说)所以俗话说,算法工程师 先是工程师,再试算法工程师。
  • 想做算法,coding能力一定要跟上
  • 但是“诸神黄昏”到来,算法岗位越来越饱和,反而 研发岗位挺多、而且工资有逐渐提升靠近 算法岗位的趋势,所以有想法的小伙伴 要慎重。

你可能感兴趣的:(刷题)