Skip to content

mayuanucas/CodingInterview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodingInterview

此项目建议搭配Code tree for GitHub效果更佳。

环境说明: Java8

LeetCode

1.按题目顺序

题号 相关话题 题目 难度
001 数组、哈希表 两数之和 简单
002 链表、数学 两数相加 中等
003 字符串、哈希表、双指针 无重复字符的最长子串 中等
005 字符串、动态规划 最长回文子串 中等
011 数组、双指针 盛最多水的容器 中等
015 数组、双指针 三数之和 中等
016 数组、双指针 最接近的三数之和 中等
017 字符串、回溯算法 电话号码的字母组合 中等
018 数组、哈希表、双指针 四数之和 中等
019 链表、双指针 删除链表的倒数第N个节点 中等
022 字符串、回溯算法 括号生成 中等
026 数组、双指针 删除排序数组中的重复项 简单
027 数组、双指针 移除元素 简单
028 字符串、双指针 实现strStr() 简单
039 数组、回溯算法 组合总和 中等
040 数组、回溯算法 组合总和 II 中等
046 回溯算法 全排列 中等
047 回溯算法 全排列II 中等
051 回溯算法 N皇后 困难
052 回溯算法 N皇后 II 困难
053 数组、分治算法、动态规划 最大子序和 中等
055 贪心算法、数组 跳跃游戏 中等
056 排序、数组 合并区间 中等
057 排序、数组 插入区间 困难
060 数学、回溯算法 第k个排列 中等
061 链表、双指针 旋转链表 中等
062 数组、动态规划 不同路径 中等
063 数组、动态规划 不同路径 II 中等
064 数组、动态规划 最小路径和 中等
070 动态规划 爬楼梯 简单
072 字符串、动态规划 编辑距离 困难
075 排序、数组、双指针 颜色分类 中等
077 回溯算法 组合 中等
078 位运算、数组、回溯算法 子集 中等
079 数组、回溯算法 单词搜索 中等
080 数组、双指针 删除排序数组中的重复项 II 中等
086 链表、双指针 分隔链表 中等
088 数组、双指针 合并两个有序数组 简单
089 回溯算法 格雷编码 中等
090 数组、回溯算法 子集II 中等
091 字符串、动态规划 解码方法 中等
093 字符串、回溯算法 复原IP地址 中等
094 栈、树、哈希表 二叉树的中序遍历 中等
095 树、动态规划 不同的二叉搜索树 II 中等
096 树、动态规划 不同的二叉搜索树 中等
098 树、深度优先搜索 验证二叉搜索树 中等
100 树、深度优先搜索 相同的树 简单
101 树、深度优先搜索、广度优先搜索 对称二叉树 简单
102 树、广度优先搜索 二叉树的层次遍历 中等
103 栈、树、广度优先搜索 二叉树的锯齿形层次遍历 中等
104 树、深度优先搜索 二叉树的深度 简单
105 树、深度优先搜索 从前序与中序遍历序列构造二叉树 中等
106 树、深度优先搜索 从中序与后序遍历序列构造二叉树 中等
107 树、广度优先搜索 二叉树的层次遍历 II 简单
108 树、深度优先搜索 将有序数组转换为二叉搜索树 简单
110 树、深度优先搜索 平衡二叉树 简单
111 树、广度优先搜索、深度优先搜索 二叉树的最小深度 简单
112 树、深度优先搜索 路径总和 简单
113 树、深度优先搜索 路径总和 II 中等
114 树、深度优先搜索 二叉树展开为链表 中等
120 数组、动态规划 三角形最小路径和 中等
121 数组、动态规划 买卖股票的最佳时机 简单
122 贪心算法、数组 买卖股票的最佳时机 II 简单
123 动态规划、数组 买卖股票的最佳时机 III 困难
125 字符串、双指针 验证回文串 简单
129 树、深度优先搜索 求根到叶子节点数字之和 中等
130 深度优先搜索、广度优先搜索、并查集 被围绕的区域 中等
131 回溯算法 分割回文串 中等
134 贪心算法 加油站 中等
136 位运算、哈希表 只出现一次的数字 简单
137 位运算 只出现一次的数字 II 中等
139 动态规划 单词拆分 中等
141 链表、双指针 环形链表 简单
142 链表、双指针 环形链表 II 中等
144 栈、树 二叉树的前序遍历 中等
145 栈、树 二叉树的后序遍历 困难
147 排序、链表 对链表进行插入排序 中等
148 排序、链表 排序链表 中等
152 数组、动态规划 乘积最大子序列 中等
167 数组、双指针、二分查找 两数之和 II - 输入有序数组 简单
179 排序 最大数 中等
198 动态规划 打家劫舍 简单
199 树、深度优先搜索、广度优先搜索 二叉树的右视图 中等
200 深度优先搜索、广度优先搜索、并查集 岛屿的个数 中等
206 链表 反转链表 简单
207 深度优先搜索、广度优先搜索、图、拓扑排序 课程表 中等
209 数组、双指针、二分查找 长度最小的子数组 中等
210 深度优先搜索、广度优先搜索、图、拓扑排序 课程表 II 中等
211 设计、字典数、回溯算法 添加与搜索单词 - 数据结构设计 中等
212 字典数、回溯算法 单词搜索 II 困难
213 动态规划 打家劫舍 II 中等
216 数组、回溯算法 组合总和 III 中等
220 二叉搜索树 存在重复元素 III 中等
221 动态规划 最大正方形 中等
226 翻转二叉树 简单
234 链表、双指针 回文链表 简单
235 二叉搜索树的最近公共祖先 简单
236 二叉树的最近公共祖先 中等
242 排序、哈希表 有效的字母异位词 简单
260 位运算 只出现一次的数字 III 中等
264 堆、数学、动态规划 丑数 II 中等
274 排序、哈希表 H指数 中等
279 广度优先搜索、数学、动态规划 完全平方数 中等
283 数组、双指针 移动零 简单
287 数组、双指针、二分查找 寻找重复数 中等
300 二分查找、动态规划 最长上升子序列 中等
303 动态规划 区域和检索 - 数组不可变 简单
304 动态规划 二维区域和检索 - 矩阵不可变 中等
306 回溯算法 累加数 中等
309 回溯算法 最佳买卖股票时机含冷冻期 中等
322 动态规划 零钱兑换 中等
324 排序 摆动排序 II 中等
337 树、深度优先搜索 打家劫舍 III 中等
338 位运算、动态规划 比特位计数 中等
343 数学、动态规划 整数拆分 中等
344 字符串、双指针 反转字符串 简单
345 字符串、双指针 反转字符串中的元音字母 简单
349 排序、哈希表、双指针、二分查找 两个数组的交集 简单
350 排序、哈希表、双指针、二分查找 两个数组的交集 II 简单
357 数学、动态规划、回溯算法 计算各个位数不同的数字个数 中等
368 数学、动态规划 最大整除子集 中等
375 极小化极大、动态规划 猜数字大小 II 中等
376 动态规划、贪心算法 摆动序列 中等
377 动态规划 组合总和 Ⅳ 中等
392 动态规划、贪心算法、二分查找 判断子序列 中等
394 栈、深度优先搜索 字符串解码 中等
402 栈、贪心算法 移掉K位数字 中等
404 左叶子之和 简单
406 贪心算法 根据身高重建队列 中等
413 数学、动态规划 等差数列划分 中等
416 动态规划 分割等和子集 中等
417 深度优先搜索、广度优先搜索 太平洋大西洋水流问题 中等
435 贪心算法 无重叠区间 中等
452 贪心算法 用最少数量的箭引爆气球 中等
455 贪心算法 分发饼干 简单
467 动态规划 环绕字符串中唯一的子字符串 中等
491 深度优先搜索 递增子序列 中等
513 树、深度优先搜索、广度优先搜索 找树左下角的值 中等
516 动态规划 最长回文子序列 中等
524 排序、双指针 通过删除字母匹配到字典里最长单词 中等
526 回溯算法 优美的排列 中等
530 二叉搜索树 二叉搜索树的最小绝对差 简单
532 排序、双指针 数组中的K-diff数对 简单
547 深度优先搜索、并查集 朋友圈 中等
559 树、深度优先搜索、广度优先搜索 N叉树的最大深度 简单
567 双指针 字符串的排列 中等
621 贪心算法、队列、数组 任务调度器 中等
649 贪心算法 Dota2 参议院 中等
659 堆、贪心算法 分割数组为连续子序列 中等
690 深度优先搜索、广度优先搜索、哈希表 员工的重要性 简单
695 深度优先搜索、数组 岛屿的最大面积 中等
713 数组、双指针 乘积小于K的子数组 中等
714 数组、数组、动态规划 买卖股票的最佳时机含手续费 中等
738 贪心算法 单调递增的数字 中等
763 贪心算法、双指针 划分字母区间 中等
767 堆、贪心算法、排序、字符串 重构字符串 中等
784 位运算、回溯算法 字母大小写全排列 简单
783 二叉搜索树 二叉搜索树结点最小距离 简单
826 双指针 安排工作以达到最大收益 中等
838 双指针 推多米诺 中等
841 双指针 字符的最短距离 简单
842 贪心算法、字符串、回溯算法 将数组拆分成斐波那契序列 中等
844 双指针 比较含退格的字符串 简单
845 双指针 数组中的最长山脉 中等
859 字符串 亲密字符串 中等
860 贪心算法 柠檬水找零 简单
861 贪心算法 翻转矩阵后的得分 中等
874 贪心算法 模拟行走机器人 简单
870 贪心算法、数组 优势洗牌 中等
881 双指针 救生艇 中等
904 双指针 水果成篮 中等
908 数学 最小差值 I 简单
910 数学 最小差值 II 中等
921 栈、贪心算法 使括号有效的最少添加 中等
922 排序、数组 按奇偶排序数组 II 简单
923 双指针 三数之和的多种可能 中等
925 双指针、字符串 长按键入 简单
930 双指针、哈希表 和相同的二元子数组 中等
938 二叉搜索树 二叉搜索树的范围和 中等
944 贪心算法 删列造序 简单
948 贪心算法 令牌放置 中等
955 贪心算法 删列造序 II 中等
969 排序、数组 煎饼排序 中等
973 排序、数学、分治算法 最接近原点的 K 个点 简单
984 贪心算法 不含 AAA 或 BBB 的字符串 简单

2.分类专题

二分搜索

题号 题目 难度
034 在排序数组中查找元素的第一个和最后一个位置 中等
069 x 的平方根 简单
153 寻找旋转排序数组中的最小值 中等
278 第一个错误的版本 简单
540 有序数组中的单一元素 中等
744 寻找比目标字母大的最小字母 简单

分治

题号 题目 难度
241 在排序数组中查找元素的第一个和最后一个位置 中等

广度优先搜索

题号 题目 难度
127 单词接龙 中等
279 完全平方数 中等

深度优先搜索

题号 题目 难度
130 被围绕的区域 中等
200 岛屿的个数 中等
417 太平洋大西洋水流问题 中等
547 朋友圈 中等
695 岛屿的最大面积 简单

回溯算法

题号 题目 难度
017 电话号码的字母组合 中等
022 括号生成 中等
037 解数独 中等
039 组合总和 中等
040 组合总和2 中等
046 全排列 中等
047 全排列2 中等
051 N皇后问题 中等
052 N皇后问题2 中等
060 第k个排列 中等
077 组合 中等
078 子集 中等
079 单词搜索 中等
089 格雷编码 中等
090 子集2 中等
093 复原IP地址 中等
131 分割回文串 中等
212 单词搜索2 困难
216 组合总和3 困难
257 二叉树的所有路径 困难
306 累加数 困难

贪心算法

题号 题目 难度
122 买卖股票的最佳时机 II 简单
392 判断子序列 简单
406 据身高重建队列 简单
435 无重叠区间 简单
452 用最少数量的箭引爆气球 简单
455 分配饼干 简单
605 种花问题 简单
665 非递减数列 简单
763 划分字母区间 简单

动态规划

斐波那契数列
题号 题目 难度
053 最大子序和 简单
070 爬楼梯 简单
198 打家劫舍 简单
213 打家劫舍2 中等
矩阵路径
题号 题目 难度
062 不同路径 中等
064 最小路径和 中等
数组区间
题号 题目 难度
053 子数组最大的和 简单
303 数组区间和 简单
413 等差数列划分 中等
分割整数
题号 题目 难度
091 解码方法 中等
279 完全平方数 中等
343 整数拆分 中等
最长递增子序列
题号 题目 难度
300 最长递增子序列 中等
376 最长摆动子序列 中等
646 一组整数对能够构成的最长链 中等
0-1背包问题
题号 题目 难度
139 单词拆分 中等
322 零钱兑换 中等
377 组合总和 Ⅳ 中等
416 分割等和子集 中等
474 一和零 中等
494 目标和 中等
字符串编辑
题号 题目 难度
072 编辑距离 中等
583 两个字符串的删除操作 中等
650 只有两个键的键盘 中等

数组

题号 题目 难度
048 旋转图像 中等

题号 题目 难度
235 二叉搜索树的最近公共祖先 简单
236 二叉树的最近公共祖先 中等

字典树

题号 题目 难度
208 实现 Trie (前缀树) 中等

链表

题号 题目 难度
206 反转链表 简单
234 回文链表 中等

算法笔记

类型 题目
双栈算术表达式求值
字符串 将字符串转换为数字
字符串 kmp算法实现
LRU算法 LRU算法
排序 常见排序算法
TOP-K问题 TOP-K问题
背包问题 01背包
背包问题 完全背包
背包问题 多重背包
背包问题 背包模板
二叉树 二叉树的递归与非递归遍历
红黑树 红黑树
动态规划 最长公共子序列

读书笔记

类型 链接 推荐指数
编程之法 编程之法 ⭐️⭐️
算法(第四版) 算法(第四版) ⭐️⭐️⭐️⭐️
剑指offer(第二版) 剑指offer(第二版) ⭐️⭐️⭐️⭐️⭐️