Skip to content

YuanWind/myLeetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leetcode 刷题指南

参考leetcode-master中的刷题顺序链接到 leetcode 官网中,方便直接跳转到刷题页面。(本人刷到哪里leetcode链接到哪里)

数组

  1. 数组过于简单,但你该了解这些!
  2. 数组:每次遇到二分法,都是一看就会,一写就废: https://leetcode-cn.com/problems/search-insert-position/
  3. 数组:就移除个元素很难么?: https://leetcode-cn.com/problems/remove-element/
  4. 数组:有序数组的平方,还有序么? : https://leetcode.cn/problems/minimum-size-subarray-sum/submissions/
  5. 数组:滑动窗口拯救了你 : https://leetcode.cn/problems/minimum-size-subarray-sum/
  6. 数组:这个循环可以转懵很多人! : https://leetcode.cn/problems/spiral-matrix-ii/
  7. 数组:总结篇

链表

  1. 关于链表,你该了解这些!
  2. 链表:听说用虚拟头节点会方便很多?https://leetcode.cn/problems/remove-linked-list-elements/solution/
  3. 链表:一道题目考察了常见的五个操作!https://leetcode.cn/problems/design-linked-list/
  4. 链表:听说过两天反转链表又写不出来了?https://leetcode-cn.com/problems/reverse-linked-list/
  5. 链表:两两交换链表中的节点https://leetcode.cn/problems/swap-nodes-in-pairs/
  6. 链表:删除链表的倒数第 N 个结点 :https://leetcode.cn/problems/remove-nth-node-from-end-of-list/
  7. 链表:链表相交 : https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/
  8. 链表:环找到了,那入口呢? : https://leetcode.cn/problems/linked-list-cycle-ii/
  9. 链表:总结篇!

哈希表

  1. 关于哈希表,你该了解这些!
  2. 哈希表:可以拿数组当哈希表来用,但哈希值不要太大 :https://leetcode.cn/problems/valid-anagram/
  3. 哈希表:查找常用字符 : https://leetcode.cn/problems/find-common-characters/
  4. 哈希表:哈希值太大了,还是得用set: https://leetcode.cn/problems/intersection-of-two-arrays/
  5. 哈希表:用set来判断快乐数https://leetcode.cn/problems/happy-number/
  6. 哈希表:map等候多时了 : https://leetcode.cn/problems/two-sum/
  7. 哈希表:其实需要哈希的地方都能找到map的身影 :https://leetcode.cn/problems/4sum-ii/
  8. 哈希表:这道题目我做过? : https://leetcode.cn/problems/ransom-note/
  9. 哈希表:解决了两数之和,那么能解决三数之和么?https://leetcode.cn/problems/3sum/
  10. 双指针法:一样的道理,能解决四数之和https://leetcode.cn/problems/4sum/submissions/
  11. 哈希表:总结篇!(每逢总结必经典)

字符串

  1. 字符串:这道题目,使用库函数一行代码搞定: https://leetcode.cn/problems/reverse-string/submissions/
  2. 字符串:简单的反转还不够!https://leetcode.cn/problems/reverse-string-ii/
  3. 字符串:替换空格:https://leetcode.cn/problems/ti-huan-kong-ge-lcof/
  4. 字符串:花式反转还不够! :https://leetcode.cn/problems/reverse-words-in-a-string/submissions/
  5. 字符串:反转个字符串还有这个用处?https://leetcode.cn/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/submissions/
  6. 帮你把KMP算法学个通透https://leetcode.cn/problems/implement-strstr/submissions/
  7. 字符串:KMP算法还能干这个!
  8. 字符串:总结篇!

双指针法

双指针法基本都是应用在数组,字符串与链表的题目上

  1. 数组:就移除个元素很难么? : https://leetcode-cn.com/problems/remove-element/
  2. 字符串:这道题目,使用库函数一行代码搞定 :https://leetcode-cn.com/problems/reverse-string/
  3. 字符串:替换空格 :https://leetcode.cn/problems/ti-huan-kong-ge-lcof/submissions/
  4. 字符串:花式反转还不够! https://leetcode-cn.com/problems/reverse-words-in-a-string/
  5. 链表:听说过两天反转链表又写不出来了?
  6. 链表:删除链表的倒数第 N 个结点
  7. 链表:链表相交
  8. 链表:环找到了,那入口呢?
  9. 哈希表:解决了两数之和,那么能解决三数之和么?
  10. 双指针法:一样的道理,能解决四数之和
  11. 双指针法:总结篇!

栈与队列

  1. 栈与队列:来看看栈和队列不为人知的一面
  2. 栈与队列:我用栈来实现队列怎么样? :https://leetcode.cn/problems/implement-queue-using-stacks/submissions/
  3. 栈与队列:用队列实现栈还有点别扭https://leetcode.cn/problems/implement-stack-using-queues/submissions/
  4. 栈与队列:系统中处处都是栈的应用https://leetcode.cn/problems/valid-parentheses/submissions/
  5. 栈与队列:匹配问题都是栈的强项: https://leetcode.cn/problems/remove-all-adjacent-duplicates-in-string/submissions/
  6. 栈与队列:有没有想过计算机是如何处理表达式的?https://leetcode.cn/problems/evaluate-reverse-polish-notation/submissions/
  7. 栈与队列:滑动窗口里求最大值引出一个重要数据结构https://leetcode.cn/problems/sliding-window-maximum/submissions/
  8. 栈与队列:求前 K 个高频元素和队列有啥关系?: https://leetcode.cn/problems/top-k-frequent-elements/
  9. 栈与队列:总结篇!

二叉树

题目分类大纲如下:
二叉树大纲

  1. 关于二叉树,你该了解这些!
  2. 二叉树:一入递归深似海,从此offer是路人
  3. 二叉树:听说递归能做的,栈也能做! : 栈的版本需要好好想想。
  4. 二叉树:前中后序迭代方式的写法就不能统一一下么? : 重点
  5. 二叉树:层序遍历登场!https://leetcode.cn/problems/binary-tree-level-order-traversal/submissions/
  6. 二叉树:你真的会翻转二叉树么?https://leetcode.cn/problems/invert-binary-tree/submissions/
  7. 本周小结!(二叉树)
  8. 二叉树:我对称么?:https://leetcode.cn/problems/symmetric-tree/submissions/
  9. 二叉树:看看这些树的最大深度https://leetcode.cn/problems/maximum-depth-of-binary-tree/submissions/
  10. 二叉树:看看这些树的最小深度:https://leetcode.cn/problems/minimum-depth-of-binary-tree/submissions/
  11. 二叉树:我有多少个节点?:https://leetcode.cn/problems/count-complete-tree-nodes/submissions/
  12. 二叉树:我平衡么?:https://leetcode.cn/problems/balanced-binary-tree/submissions/
  13. 二叉树:找我的所有路径?:https://leetcode.cn/problems/binary-tree-paths/submissions/
  14. 本周总结!二叉树系列二:https://leetcode.cn/problems/sum-of-left-leaves/submissions/
  15. 二叉树:以为使用了递归,其实还隐藏着回溯
  16. 二叉树:做了这么多题目了,我的左叶子之和是多少?:https://leetcode.cn/problems/sum-of-left-leaves/
  17. 二叉树:我的左下角的值是多少?: https://leetcode.cn/problems/find-bottom-left-tree-value/submissions/
  18. 二叉树:路径总和:https://leetcode-cn.com/problems/path-sum/
  19. 二叉树:构造二叉树登场!
  20. 二叉树:构造一棵最大的二叉树
  21. 本周小结!(二叉树系列三)
  22. 二叉树:合并两个二叉树
  23. 二叉树:二叉搜索树登场!
  24. 二叉树:我是不是一棵二叉搜索树
  25. 二叉树:搜索树的最小绝对差
  26. 二叉树:我的众数是多少?
  27. 二叉树:公共祖先问题
  28. 本周小结!(二叉树系列四)
  29. 二叉树:搜索树的公共祖先问题
  30. 二叉树:搜索树中的插入操作
  31. 二叉树:搜索树中的删除操作
  32. 二叉树:修剪一棵搜索树
  33. 二叉树:构造一棵搜索树
  34. 二叉树:搜索树转成累加树
  35. 二叉树:总结篇!(需要掌握的二叉树技能都在这里了)

回溯算法

题目分类大纲如下:

回溯算法大纲

  1. 关于回溯算法,你该了解这些!
  2. 回溯算法:组合问题
  3. 回溯算法:组合问题再剪剪枝
  4. 回溯算法:求组合总和!
  5. 回溯算法:电话号码的字母组合
  6. 本周小结!(回溯算法系列一)
  7. 回溯算法:求组合总和(二)
  8. 回溯算法:求组合总和(三)
  9. 回溯算法:分割回文串
  10. 回溯算法:复原IP地址
  11. 回溯算法:求子集问题!
  12. 本周小结!(回溯算法系列二)
  13. 回溯算法:求子集问题(二)
  14. 回溯算法:递增子序列
  15. 回溯算法:排列问题!
  16. 回溯算法:排列问题(二)
  17. 本周小结!(回溯算法系列三)
  18. 回溯算法去重问题的另一种写法
  19. 回溯算法:重新安排行程
  20. 回溯算法:N皇后问题
  21. 回溯算法:解数独
  22. 一篇总结带你彻底搞透回溯算法!

贪心算法

题目分类大纲如下:

贪心算法大纲

  1. 关于贪心算法,你该了解这些!
  2. 贪心算法:分发饼干
  3. 贪心算法:摆动序列
  4. 贪心算法:最大子序和
  5. 本周小结!(贪心算法系列一)
  6. 贪心算法:买卖股票的最佳时机II
  7. 贪心算法:跳跃游戏
  8. 贪心算法:跳跃游戏II
  9. 贪心算法:K次取反后最大化的数组和
  10. 本周小结!(贪心算法系列二)
  11. 贪心算法:加油站
  12. 贪心算法:分发糖果
  13. 贪心算法:柠檬水找零
  14. 贪心算法:根据身高重建队列
  15. 本周小结!(贪心算法系列三)
  16. 贪心算法:根据身高重建队列(续集)
  17. 贪心算法:用最少数量的箭引爆气球
  18. 贪心算法:无重叠区间
  19. 贪心算法:划分字母区间
  20. 贪心算法:合并区间
  21. 本周小结!(贪心算法系列四)
  22. 贪心算法:单调递增的数字
  23. 贪心算法:买卖股票的最佳时机含手续费
  24. 贪心算法:我要监控二叉树!
  25. 贪心算法:总结篇!(每逢总结必经典)

动态规划

动态规划专题已经开始啦,来不及解释了,小伙伴们上车别掉队!

  1. 关于动态规划,你该了解这些!
  2. 动态规划:斐波那契数
  3. 动态规划:爬楼梯
  4. 动态规划:使用最小花费爬楼梯
  5. 本周小结!(动态规划系列一)
  6. 动态规划:不同路径
  7. 动态规划:不同路径还不够,要有障碍!
  8. 动态规划:整数拆分,你要怎么拆?
  9. 动态规划:不同的二叉搜索树
  10. 本周小结!(动态规划系列二)

背包问题系列:

背包问题大纲

  1. 动态规划:关于01背包问题,你该了解这些!
  2. 动态规划:关于01背包问题,你该了解这些!(滚动数组)
  3. 动态规划:分割等和子集可以用01背包!
  4. 动态规划:最后一块石头的重量 II
  5. 本周小结!(动态规划系列三)
  6. 动态规划:目标和!
  7. 动态规划:一和零!
  8. 动态规划:关于完全背包,你该了解这些!
  9. 动态规划:给你一些零钱,你要怎么凑?
  10. 本周小结!(动态规划系列四)
  11. 动态规划:Carl称它为排列总和!
  12. 动态规划:以前我没得选,现在我选择再爬一次!
  13. 动态规划: 给我个机会,我再兑换一次零钱
  14. 动态规划:一样的套路,再求一次完全平方数
  15. 本周小结!(动态规划系列五)
  16. 动态规划:单词拆分
  17. 动态规划:关于多重背包,你该了解这些!
  18. 听说背包问题很难? 这篇总结篇来拯救你了

打家劫舍系列:

  1. 动态规划:开始打家劫舍!
  2. 动态规划:继续打家劫舍!
  3. 动态规划:还要打家劫舍!

股票系列:

股票问题总结

  1. 动态规划:买卖股票的最佳时机
  2. 动态规划:本周我们都讲了这些(系列六)
  3. 动态规划:买卖股票的最佳时机II
  4. 动态规划:买卖股票的最佳时机III
  5. 动态规划:买卖股票的最佳时机IV
  6. 动态规划:最佳买卖股票时机含冷冻期
  7. 动态规划:本周我们都讲了这些(系列七)
  8. 动态规划:买卖股票的最佳时机含手续费
  9. 动态规划:股票系列总结篇

子序列系列:

  1. 动态规划:最长递增子序列
  2. 动态规划:最长连续递增序列
  3. 动态规划:最长重复子数组
  4. 动态规划:最长公共子序列
  5. 动态规划:不相交的线
  6. 动态规划:最大子序和
  7. 动态规划:判断子序列
  8. 动态规划:不同的子序列
  9. 动态规划:两个字符串的删除操作
  10. 动态规划:编辑距离
  11. 为了绝杀编辑距离,Carl做了三步铺垫,你都知道么?
  12. 动态规划:回文子串
  13. 动态规划:最长回文子序列
  14. 动态规划总结篇

单调栈

  1. 单调栈:每日温度
  2. 单调栈:下一个更大元素I
  3. 单调栈:下一个更大元素II
  4. 单调栈:接雨水
  5. 单调栈:柱状图中最大的矩形

(持续更新中....)

图论

十大排序

数论

高级数据结构经典题目

  • 并查集
  • 最小生成树
  • 线段树
  • 树状数组
  • 字典树

海量数据处理

补充题目

以上题目是重中之重,大家至少要刷两遍以上才能彻底理解,如果熟练以上题目之后还在找其他题目练手,可以再刷以下题目:

这些题目很不错,但有的题目是和刷题攻略类似的,有的题解后面还会适当补充,所以我还没有将其纳入到刷题攻略。一些题解等日后我完善一下,再纳入到刷题攻略。

数组

链表

哈希表

字符串

二叉树

回溯算法

贪心

动态规划

图论

并查集

模拟

位运算

算法模板

各类基础算法模板

About

start to program!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published