LeetCode Solutions
算法 - Algorithms
- 排序算法:快速排序、归并排序、计数排序
- 搜索算法:回溯、递归、剪枝技巧
- 图论:最短路、最小生成树、网络流建模
- 动态规划:背包问题、最长子序列、计数问题
- 基础技巧:分治、倍增、二分、贪心
数据结构 - Data Structures
- 数组与链表:单 / 双向链表、跳舞链
- 栈与队列
- 树与图:最近公共祖先、并查集
- 哈希表
- 堆:大 / 小根堆、可并堆
- 字符串:字典树、后缀树
- 二叉树
动力
之前有一个爬虫机会,Airbnb。这可以算是一个超好的公司了,待遇福利都很好,但是我在他们的一面上就挂了,就是算法。给我做的题目是leetcode简单级别的,如果现场面是medium到hard级别的。 所以我越发意识到,想要去好点的公司,算法是我必须过的关。项目对我来说,应该不算难事,我缺的就是算法,加油。坚持用JAVA和Go刷下来,两年后,去头条!!
语言我会使用 JAVA && Python && Go。Python是我的入门语言,JAVA是我来带拼多多这边开始学习的,让我感受到了静态语言的魅力,Go是头条那边主力开发的语言,现在先用来刷题。
Contact Me: zhangslob&gmail
秘诀
- 链表有环有快慢指针
- 求子数组和(数组和运算)用前缀和
- 动态规划能否优化空间
题目列表
NUM | Solution | Difficulty | Time | Tag |
---|---|---|---|---|
0001 | 两数之和 | Easy | 2020-03-31 | 数组、哈希表 |
0002 | 两数相加 | Medium | 2020-03-31 | 链表、数学 |
0004 | 两个排序数组的中位数 | Hard | 2020-05-26 | 数组、二分查找、分治算法 |
0005 | 最长回文子串 | Medium | 2020-05-22 | 字符串、动态规划 |
0009 | 回文数 | Easy | 2020-06-10 | 数学 |
0014 | 最长公共前缀 | Easy | 2020-06-15 | 字符串 |
0022 | 括号生成 | Medium | 2020-04-09 | 字符串、回溯算法 |
0033 | 搜索旋转排序数组 | Medium | 2020-04-27 | 数组、二分查找 |
0045 | 跳跃游戏 II | Hard | 2020-05-04 | 数组、贪心算法 |
0046II | 螺旋矩阵 | Medium | 2020-06-09 | 数组 |
0050 | Pow(x, n) | Medium | 2020-05-11 | 数学、二分查找 |
0054 | 螺旋矩阵 | Medium | 2020-06-06 | 数组 |
0056-1 | 数组中数字出现的次数 | Medium | 2020-04-28 | 数学、位运算 |
0064 | 求1+2+…+n | Medium | 2020-06-02 | 奇淫技巧 |
0070 | 爬楼梯 | Easy | 2020-06-13 | 动态规划 |
0098 | 验证二叉搜索树 | Medium | 2020-05-05 | 树、深度优先搜索 |
0101 | 对称二叉树 | Easy | 2020-05-31 | 树、深度优先搜索、广度优先搜索 |
0102 | 二叉树的层序遍历 | Medium | 2020-05-13 | 树、广度优先搜索 |
0107 | 旋转矩阵 | Medium | 2020-04-07 | 数组 |
0136 | 只出现一次的数字 | Easy | 2020-05-14 | 位运算、哈希表 |
0146 | LRU缓存机制 | Medium | 2020-05-26 | 设计 |
0152 | 乘积最大子数组 | Medium | 2020-05-18 | 数组、动态规划 |
0155 | 最小栈 | Easy | 2020-05-12 | 栈、设计 |
0198 | 打家劫舍 | Easy | 2020-05-29 | 动态规划 |
0199 | 二叉树的右视图 | Medium | 2020-04-22 | 数、深度优先搜索、广度优先搜索 |
0200 | 岛屿数量 | Medium | 2020-04-20 | 深度优先搜索、广度优先搜索、并查集 |
0202 | 快乐数 | Easy | 2020-04-30 | 哈希表、数学 |
0221 | 最大正方形 | Medium | 2020-05-08 | 动态规划 |
0238 | 除自身以外数组的乘积 | Medium | 2020-06-04 | 数组 |
0287 | 寻找重复数 | Medium | 2020-05-27 | 数组、双指针、二分查找 |
0322 | 零钱兑换 | Medium | 2020-08-16 | 动态规划 |
0445 | 两数相加 II | Medium | 2020-04-15 | 链表 |
0509 | 斐波那契数 | Easy | 2020-08-16 | 数组 |
0542 | 01 矩阵 | Medium | 2020-04-21 | 深度优先搜索、广度优先搜索 |
0560 | 和为K的子数组 | Medium | 2020-05-15 | 数组、哈希表 |
0572 | 另一个树的子树 | Easy | 2020-05-07 | 树 |
0680 | 验证回文字符串 Ⅱ | Easy | 2020-05-19 | 字符串 |
0724 | 寻找数组的中心索引 | Easy | 2020-08-11 | 数组 |
0837 | 新21点 | Medium | 2020-06-03 | 动态规划、数学 |
0974 | 和可被 K 整除的子数组 | Medium | 2020-05-27 | 数组、哈希表 |
1095 | 山脉数组中查找目标值 | Hard | 2020-04-29 | 二分查找 |
1111 | 有效括号的嵌套深度 | Medium | 2020-04-01 | 贪心算法、二分查找 |
1143 | 最长公共子序列 | Medium | 2020-04-09 | 动态规划 |
1248 | 统计「优美子数组」 | Medium | 2020-04-21 | 双指针 |
1371 | 每个元音包含偶数次的最长子字符串 | Medium | 2020-05-20 | 字符串 |
1431 | 拥有最多糖果的孩子 | Easy | 2020-06-01 | 数组 |