Leetcode (pending…)
Leetcode (pending…)

Leetcode (pending…)

 

Resource

  • Leetcode Cookbook
序 # 关于 LeetCode 说到 LeetCode,作为一个程序员来说,应该不陌生,近几年参加面试都会提到它。国内外的程序员用它刷题主要是为了面试。据历史记载,这个网站 2011 年就成立了,马上就要到自己 10 周年的生日了。每周举行周赛,双周赛,月赛,在有限时间内编码,确实非常能考验人的算法能力。一些大公司赞助冠名的比赛获得前几名除了有奖品,还能直接拿到内推的机会。 什么是 Cookbook 直译的话就是烹饪书,教你做各种食谱美食的书。经常看 O’Reilly 技术书的同学对这个名词会很熟悉。一般动手操作,实践类的书都会有这个名字。 为什么会写这个开源书 # 笔者刷题刷了一年了,想和大家分享分享一些做题心得,解题方法。想和有相同爱好的人交个朋友,一起交流学习。对于自己来说,写题解也是一种提高。把一道深奥的题目讲给一点都没有头绪的人,并能让他完全听懂,很能锻炼人的表达能力。在讲解中很可能还会遇到听者的一些提问,这些问题可能是自己的知识漏洞,强迫自己去弥补。笔者在公司做过相关的分享,感受很深,双方受益都还不错。 另外,在大学期间,笔者做题的时候最讨厌写题解,感觉是浪费时间,用更多的时间去做更多的题。现在不知道算不算是“出来混的,总是要还的”。 关于书的封面 # 常看 O’Reilly 动物书的同学一看这个封面就知道是向他们致敬。确实是这个目的。O’Reilly 的封面动物都是稀缺动物,并且画风都是黑白素描风。这些动物都有版权了,所以只能在网上找没有版权的黑白素描风的图片。常见的能找到 40 张这种风格的图片。不过用的人太多了,笔者费劲的找了其他几张这种图片,这张孔雀开屏是其中一张。孔雀开屏的意义是希望大家刷完 LeetCode 以后,提高了自身的算法能力,在人生的舞台上开出自己的“屏”。全书配色也都是绿色,因为这是 AC 的颜色。 关于作者 # 笔者是一个刚刚入行一年半的 gopher 新人,还请各位大佬多多指点小弟我。大学参加了 3 年 ACM-ICPC,但是由于资质不高,没有拿到一块金牌。所以在算法方面,我对自己的评价算是新手吧。参加 ACM-ICPC 最大的收获是训练了思维能力,这种能力也会运用到生活中。其次是认识了很多国内很聪明的选手,看到了自己和他们的差距。最后,就是那 200 多页,有些自己都没有完全理解的,打印的密密麻麻的 算法模板。知识学会了,终身都是自己的,没有学会,那些知识都是身外之物。 笔者从 2019 年 3 月 25 号开始刷题,到 2020 年 3 月 25 号,整整一年的时间。原计划是每天一题。实际上每天有时候不止一题,最终完成了 600+: 一个温馨提示:笔者本以为每天做一题,会让这个 submissions 图全绿,但是我发现我错了。如果你也想坚持,让这个图全绿,一定要注意以下的问题:LeetCode 服务器是在 +0 时区的,这个图也是按照这个时区计算的。也就是说,中国每天早上 8 点之前,是算前一天的!也是因为时区的问题,导致我空白了这 22 个格子。比如有一道 Hard 题很难,当天工作也很多,晚上下班回家想出来了就到第二天凌晨了。于是再做一题当做第二天的量。结果会发现这 2 题都算前一天的。有时候笔者早上 6 点起床刷题,提交以后也都是前一天的。
 
  • 代码随想录
 
 
Problems
Name
Difficulty
Status
Category
Easy
Done
Arrays
Binary Search
Easy
Done
Arrays
Binary Search
Easy
Done
Arrays
Math
Easy
Done
Arrays
Math
Easy
Done
Arrays
Two Pointers
Easy
Done
Arrays
Two Pointers
Easy
Done
Arrays
Two Pointers
Easy
Done
Arrays
Two Pointers
String
Stack
Easy
Done
Arrays
Two Pointers
Sorting
Medium
Done
Arrays
Binary Search
Sliding Window
Medium
Done
Arrays
HashMap
Sliding Window
Hard
Done
Arrays
HashMap
String
Sliding Window
Medium
Done
Arrays
Matrix
Simulation
Medium
Done
Arrays
Matrix
Simulation
Easy
Done
LinkedList
Recursion
Medium
Done
LinkedList
Design
Easy
Done
LinkedList
Recursion
Medium
Done
LinkedList
Recursion
Medium
Done
LinkedList
Two Pointers
Easy
Done
LinkedList
HashMap
Two Pointers
Medium
Done
LinkedList
HashMap
Two Pointers
Easy
Done
HashMap
String
Sorting
Easy
Done
HashMap
String
Counting
Sliding Window
Medium
Done
HashMap
Arrays
String
Medium
Done
HashMap
String
Sliding Window
Easy
Done
HashMap
Arrays
Two Pointers
Binary Search
Sorting
Easy
Done
HashMap
Arrays
Two Pointers
Binary Search
Sorting
Easy
Done
HashMap
Math
Two Pointers
Easy
Done
HashMap
Arrays
Medium
Done
HashMap
Arrays
Medium
Done
HashMap
Two Pointers
Sorting
Medium
Done
HashMap
Easy
Done
String
Two Pointers
Easy
Done
String
Two Pointers
Not Classified
Done
String
Medium
Done
String
Two Pointers
Easy
Done
String
Two Pointers
String Matching
Easy
Done
String
String Matching
Easy
Done
Stack
Design
Queue
Easy
Done
Stack
Design
Queue
Easy
Done
Stack
String
Hard
Done
Stack
Arrays
Queue
Heap
Monotonic Queue
Easy
Done
Tree
DFS
Easy
Done
Tree
Recursion
Easy
Done
Tree
BackTracking
DFS
Easy
Done
Tree
DFS
BFS
Easy
Done
Tree
Medium
Done
Tree
Divide and Conquer
Stack
Easy
Done
Tree
DFS
BFS
Medium
In progress
BackTracking
Medium
Done
BackTracking
HashMap
String
Medium
Done
BackTracking
Arrays
Medium
Done
BackTracking
Arrays
Medium
In progress
BackTracking
Arrays
Medium
Done
BackTracking
DP
String
Medium
Done
BackTracking
String
Medium
Done
BackTracking
Arrays
Bit Mantipulation
Medium
Done
BackTracking
Arrays
Medium
Done
BackTracking
Arrays
HashMap
Medium
Done
BackTracking
Arrays
Medium
Done
BackTracking
Arrays
Hard
Done
DFS
Graph
Eulerian Circuit
Hard
In progress
BackTracking
Arrays
Hard
In progress
BackTracking
HashMap
Matrix
Easy
Done
Greedy
Arrays
Two Pointers
Sorting
Medium
Done
Arrays
DP
Greedy
Medium
In progress
Arrays
Divide and Conquer
DP
Medium
Done
Arrays
DP
Greedy
Medium
In progress
Arrays
DP
Greedy
Medium
Done
HashMap
Math
String
Easy
Done
Arrays
Greedy
Medium
Done
HashMap
String
Sorting
Medium
Done
Math
DP
Medium
Done
Arrays
DP
Matrix
Medium
In progress
DP
Math
Medium
Done
Math
DP
Tree
Medium
In progress
DP
Arrays
Medium
In progress
DP
BackTracking
 
 

Techniques & Summary

 
Arrays