Play-with-Algorithm-Interview
Play-with-Algorithm-Interview
慕课网上的liuyubobo老师主讲课程《玩儿转算法面试》学习实现代码(Java版)
第三章 数组常见算法
LeetCode/模板 | 简要说明 | 解题代码 | 时间 | 难度 |
---|---|---|---|---|
二分搜索法 | 例题:二分搜索讲解 | 源码 | 2019/3/15 | 简单 |
283. 移动零 | 例题:暴力解法 | 源码 | 2019/3/15 | 简单 |
283. 移动零 | 优化:双指针法 之快慢指针 | 源码、源码2 | 2019/3/15 | 简单 |
27. 移除元素 | 作业:双指针法 之快慢指针 | 源码 | 2019/3/15 | 简单 |
26. 删除排序数组中的重复项 | 作业:双指针法 之快慢指针 | 源码 | 2019/3/15 | 简单 |
80. 删除排序数组中的重复项 II | 作业:双指针法 之快慢指针 | 源码 | 2019/3/15 | 中等 |
75. 颜色分类 | 例题:暴力解法 | 源码 | 2019/3/16 | 中等 |
75. 颜色分类 | 优化:三路插入排序 | 源码 | 2019/3/16 | 中等 |
88. 合并两个有序数组 | 作业:二路归并法 | 源码 | 2019/3/16 | 简单 |
215. 数组中的第K个最大元素 | 作业:冒泡法优化 | 源码 | 2019/3/19 | 中等 |
167. 两数之和 II - 输入有序数组 | 例题:暴力解法 | 源码 | 2019/3/19 | 简单 |
167. 两数之和 II - 输入有序数组 | 例题:二分查找法 | 源码 | 2019/3/19 | 简单 |
167. 两数之和 II - 输入有序数组 | 例题:双指针法 之对撞指针 | 源码 | 2019/3/19 | 简单 |
125. 验证回文串 | 作业:双指针法 之对撞指针 | 源码 | 2019/3/19 | 简单 |
125. 验证回文串 | 作业:过滤优化 | 源码 | 2019/3/19 | 简单 |
345. 反转字符串中的元音字母 | 作业:双指针法 之对撞指针 | 源码 | 2019/3/19 | 简单 |
11. 盛最多水的容器 | 作业:双指针法 之对撞指针 | 源码 | 2019/3/19 | 中等 |
344. 反转字符串 | 作业:双指针法 之对撞指针 | 源码 | 2019/3/19 | 简单 |
209. 长度最小的子数组 | 例题:暴力解法 | 源码 | 2019/3/19 | 中等 |
209. 长度最小的子数组 | 例题:双指针法 之滑动窗口 | 源码 | 2019/3/19 | 中等 |
3. 无重复字符的最长子串 | 例题:双指针法 之滑动窗口 | 源码 | 2019/3/19 | 中等 |
3. 无重复字符的最长子串 | 例题:字符串优化数组形式 | 源码 | 2019/3/19 | 中等 |
438. 找到字符串中所有字母异位词 | 作业:双指针法 之滑动窗口★ | 源码 | 2019/3/19 | 中等 |
第四章 查找表相关问题
LeetCode/模板 | 简要说明 | 解题代码 | 时间 | 难度 |
---|---|---|---|---|
349. 两个数组的交集 | 例题:set解答 | 源码 | 2020/3/25 | 简单 |
350. 两个数组的交集 II | 例题:map解答 | 源码 | 2020/3/25 | 简单 |
202. 快乐数 | 作业:暴力解答 | 源码 | 2020/3/25 | 简单 |
242. 有效的字母异位词 | 作业:List解答 | 源码 | 2020/3/25 | 简单 |
290. 单词规律 | 作业:map解答 | 源码 | 2020/3/25 | 简单 |
205. 同构字符串 | 作业:map解答 | 源码 | 2020/3/25 | 简单 |
451. 根字符出现频率排序 | 作业:map解答 | 源码 | 2020/3/25 | 中等 |
1. 两数之和 | 例题:map解答 | 源码 | 2020/3/27 | 简单 |
15. 三数之和 | 作业:套用二数之和 | 源码 | 2020/3/27 | 中等 |
18. 四数之和 | 作业:套用三数之和 | 源码 | 2020/3/27 | 中等 |
454. 四数相加 II | 例题:map解答 | 源码 | 2020/3/30 | 中等 |
49. 字母异位词分组 | 作业:map解答 | 源码 | 2020/3/30 | 中等 |
447. 回旋镖的数量 | 例题:map解答 | 源码 | 2020/3/30 | 简单 |
149. 直线上最多的点数 | 作业:map解答(精度问题) | 源码 | 2020/3/30 | 困难 |
219. 存在重复元素 II | 例题:set解答 | 源码 | 2020/3/30 | 简单 |
217. 存在重复元素 | 作业:set解答 | 源码 | 2020/3/30 | 简单 |
220. 存在重复元素 III | 例题:set解答 | 源码 | 2020/3/31 | 中等 |
第5章 在链表中穿针引线
LeetCode/模板 | 简要说明 | 解题代码 | 时间 | 难度 |
---|---|---|---|---|
206. 反转链表 | 例题:递归法 | 源码 | 2020/4/4 | 简单 |
206. 反转链表 | 例题:虚拟头节点 | 源码 | 2020/4/4 | 简单 |
206. 反转链表 | 例题:普通循环 | 源码 | 2020/4/4 | 简单 |
92. 反转链表 II | 作业:倒转…… | 源码 | 2020/4/4 | 中等 |
2. 两数相加 | 作业:虚拟头节点 | 源码 | 2020/4/14 | 中等 |
445. 两数相加 II | 作业:反转+虚拟头节点 | 源码 | 2020/4/14 | 中等 |
83. 删除排序链表中的重复元素 | 作业:普通循环 | 源码 | 2020/4/14 | 简单 |
83. 删除排序链表中的重复元素 | 作业:递归法 | 源码 | 2020/4/14 | 简单 |
86. 分隔链表 | 作业:循环 | 源码 | 2020/4/14 | 中等 |
328. 奇偶链表 | 作业:虚拟头节点 | 源码 | 2020/4/14 | 中等 |
203. 移除链表元素 | 例题:虚拟头节点 | 源码 | 2020/4/14 | 简单 |
21. 合并两个有序链表 | 作业:虚拟头节点 | 源码 | 2020/4/14 | 简单 |
82. 删除排序链表中的重复元素 II | 作业:虚拟头节点 | 源码 | 2020/4/14 | 中等 |
24. 两两交换链表中的节点 | 例题:虚拟头节点 | 源码 | 2020/5/5 | 中等 |
25. K 个一组翻转链表 | 作业:定位+虚拟头节点 | 源码 | 2020/5/5 | 困难 |
147. 对链表进行插入排序 | 作业:插入排序思想 | 源码 | 2020/5/6 | 中等 |
148. 排序链表 | 作业:归并排序思想 | 源码 | 2020/5/7 | 中等 |
237. 删除链表中的节点 | 例题:更换值的方式删节点 | 源码 | 2020/5/7 | 简单 |
19. 删除链表的倒数第N个节点 | 例题:递归+虚拟头节点 | 源码 | 2020/5/7 | 中等 |
19. 删除链表的倒数第N个节点 | 例题:双指针法 | 源码 | 2020/5/7 | 中等 |
61. 旋转链表 | 作业:虚拟头节点+ 定位 | 源码 | 2020/5/8 | 中等 |
143. 重排链表 | 作业:奇偶处理+分割+反转 | 源码 | 2020/5/8 | 中等 |
234. 回文链表 | 作业:奇偶处理+分割+反转 | 源码 | 2020/5/8 | 简单 |