# bigsai-algorithm **Repository Path**: err0r404/bigsai-algorithm ## Basic Information - **Project Name**: bigsai-algorithm - **Description**: bigsai的数据结构与算法、LeetCode图解、剑指offer图解文章专栏,致力于最好懂的数据结构与算法专栏 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-11-21 - **Last Updated**: 2023-11-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 前言 本仓库主要是个人数据结构与算法文章(慢慢优化同步)和力扣剑指offer等题解。内容绝对丰富,欢迎star哦! 本仓库后面还会接纳其他优秀数据结构与算法的文章、题解。如果有问题请联系笔者vx:bigsai66 资源会会整理成pdf送给大家!欢迎大家扫码关注公众号:**bigsai** ## 数据结构与算法 **基础线性** | 标题 | tips | 重要性 | |-------------------------------------------------------| ------------------------------------------------------------ | ------ | | [绪论基础知识](数据结构与算法/数据结构/数据结构与算法—绪论.md) | 搞懂数据结构相关概念,认清时间复杂度、空间复杂度 | ❤️❤️ | | [写给小白硬核递归](数据结构与算法/数据结构与算法—递归算法(从阶乘、斐波那契到汉诺塔的递归图解).md) | 从阶乘、斐波那契、汉诺塔搞懂递归,妙用记忆化递归 | ❤️❤️❤️❤️ | | [图解线性表(顺序表、链表)](数据结构与算法/数据结构于算法—线性表.md) | **手写顺序表、链表**,搞懂带头结点、不太头结点链表实现区别。 | ❤️❤️❤️ | | [图解双链表](数据结构与算法/数据结构/数据结构与算法—双链表.md)) | 手写双链表,考虑好节点直接联系(基础,考研重点) | ❤️❤️ | | [栈,不就后进先出](数据结构与算法/数据结构/数据结构与算法—栈详解.md) | 首先掌握后进先出规则,实现上分别用顺序表和链表考虑区别 | ❤️❤️❤️ | | [队列,不就先进先出](数据结构与算法/数据结构/数据结构与算法—队列详解.md) | 队列先进先出(FIFO),用**循环数组**和**链表**分别实现 | ❤️❤️❤️ | | [跳表,会跳的链表](数据结构与算法/数据结构与算法—跳表.md) | 能够了解跳表的增删改查原理和流程 | ❤️❤️ | | [约瑟夫环问题](数据结构与算法/约瑟夫环问题.md) | 约瑟夫环步步进阶,链表法、List模拟、公式法 | ❤️❤️❤️ | | | | | **树** | 标题 | tips | 重要性 | |---------------------------------------------------------| -------------------------------------------------------- | ------ | | [二叉树层序遍历](数据结构与算法/数据结构/数据结构与算法—二叉树的层序遍历.md) | 学会使用队列进行层序遍历,高效解决二叉树之字形(锯齿)遍历 | ❤️❤️❤️ | | [二叉树前中后遍历](数据结构与算法/数据结构/数据结构与算法—二叉树前序中序后序(递归、非递归)遍历.md) | 学会中序和后序非递归方式遍历 | ❤️❤️❤️❤️ | | [二叉搜索(查找)树](数据结构与算法/数据结构/数据结构与算法—二叉排序树.md) | 学会二叉查找树查找方式、删除节点逻辑 | ❤️❤️ | | [二叉平衡(AVL)树](数据结构与算法/数据结构与算法——二叉平衡树(AVL树)详解.md) | 了解AVL树左旋、右旋方式,以及RR,RL,LL,LR的平衡方式 | ❤️❤️ | | [哈夫曼树](数据结构与算法/数据结构与算法—哈夫曼树详解与构造.md) | 了解哈夫曼树weight计算方式、了解哈夫曼编码 | ❤️❤️❤️ | | [字典(Trie)树](数据结构与算法/数据结构与算法—字典树.md) | 能够手写字典树,熟悉字典树的应用场景和优势, | ❤️❤️ | | [优先队列](数据结构与算法/硬核!手写一个优先队列.md) | 了解优先队列借助堆运行原理 | ❤️❤️ | | [并查集(不想交集合)](数据结构与算法/数据结构与算法——并查集(不相交集合).md) | 能够手写并查集,理解压缩路径的优势 | ❤️❤️ | | [并查集写走迷宫游戏](数据结构与算法/我花了一夜用数据结构给女朋友写个H5走迷宫游戏.md) | **全网爆火**:我花了一夜给女朋友写了个走迷宫游戏 | ❤️❤️❤️❤️ | | | | | **其他** | 标题 | tips | 重要性 | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------ | | [回溯算法(八皇后)](数据结构与算法/回溯算法-追忆那些年曾难倒我们的八皇后问题.md) | 回溯是一个不断尝试还原的过程,借助递归,经典八皇后问题 | ❤️❤️❤️ | | [分治算法](数据结构与算法/「五大常用算法」一文搞懂分治算法.md) | 先分后合并,经典二分搜索、快排、归并排序、最近点对等问题 | ❤️❤️❤️ | | [dfs,bfs搜索](数据结构与算法/数据结构与算法—图论之dfs、bfs(深度优先搜索、宽度优先搜索).md) | 深度优先搜索、广度优先搜索,蓝桥杯想拿奖得靠他 | ❤️❤️❤️❤️ | | [拓扑排序](数据结构与算法/数据结构与算法—拓扑排序.md) | 图论算法,得到一个前后的顺序序列(不唯一) | ❤️❤️ | | [Dijkstra](数据结构与算法/数据结构与算法—单源最短路径dijkstra算法.md) | 图论单源最短路径,队列+贪心实现 | ❤️❤️ | | [Floyd](数据结构与算法/短小精悍的多源最短路径算法—Floyd算法.md) | 图论多源最短路径,短小精悍,代码简短但是需要理解 | ❤️❤️ | | [Prim,Kruskal](数据结构与算法/数据结构与算法—最小生成树(Prim算法和Kruskal算法算法详解).md) | 图论最小生成树,不同贪心策略,Prim基于Dijkstra,Kruskal基于并查集 | ❤️❤️ | | [全排列系列](数据结构与算法/数据结构与算法—全排列系列.md) | 回溯算法,涉及全排序、排列、子集的重复/不重复情况 | ❤️❤️❤️ | | [原码反码补码](数据结构与算法/二进制—原码、反码、补码.md) | 二进制基础,原码是给人看的,补码是给计算机看的,反码中间过渡 | ❤️❤️❤️ | | [经典位运算](数据结构与算法/二进制—位运算.md) | 二进制提高,介绍几种位运算,讲解覆盖大部分经典位运算问题 | ❤️❤️❤️ | | [求素数(素数筛)](数据结构与算法/数论—素数筛.md) | 数论算法,掌握普通优化、埃氏筛,了解欧拉筛 | ❤️❤️ | | [快速幂](数据结构与算法/数据结构与算法—这可能是最易懂的快速幂讲解了.md) | 数论算法,掌握非递归、递归写法,了解矩阵快速幂 | ❤️❤️ | | [大数加减乘除](数据结构与算法/大数算法—加减乘除.md) | 能够手写大数加法、减法、乘法,了解大数除法思想 | ❤️❤️❤️ | | | | | **十大排序** | 标题 | tips | 重要性 | | ------------------------------------------------------------ | ---------------------- | ------ | | [冒泡排序、快速排序](数据结构与算法/【排序】交换类排序—冒泡排序、快速排序手撕图解.md) | 交换类排序 | ❤️❤️❤️❤️ | | [插入排序、希尔排序](数据结构与算法/【排序】插入类排序—(折半)插入排序、希尔排序.md) | 插入类排序 | ❤️❤️ | | [归并排序](数据结构与算法/【排序】归并类排序—归并排序(逆序数问题).md) | 归并类排序 | ❤️❤️❤️❤️ | | 简单选择排序、[堆排序](数据结构与算法/【排序算法】手写堆排序.md) | 选择类排序 | ❤️❤️❤️ | | [桶排序](数据结构与算法/【排序算法】图解桶排序.md) | 桶类排序 | ❤️❤️ | | [计数排序](数据结构与算法/【排序算法】计数排序引发的围观风波——一种O(n)的排序.md) | 桶类排序 | ❤️❤️❤️ | | [基数排序](数据结构与算法/【排序算法】基数排序.md) | 桶类排序 | ❤️❤️ | | | | | | [十大排序汇总](数据结构与算法/「干货总结」程序员必知必会的十大排序算法.md) | 搞清各种排序之间的区别 | ❤️❤️❤️❤️ | | 双轴快排 | 快排的优化 | ❤️❤️ | | | | | ## 力扣题解 下面有分类 - [LeetCode 01两数相加](leetcode/problems/LeetCode%2001两数之和.md) 数组 哈希 - [LeetCode 02两数之加](leetcode/problems/LeetCode%2002两数之加.md) 链表 数学 - [LeetCode 03无重复字符的最长子串](leetcode/problems/LeetCode%2003无重复字符的最长子串(滑动窗口).md) 哈希 双指针 滑动窗口 字符串 - [LeetCode 04寻找两个正序数组的中位数(困难)二分法](leetcode/problems/LeetCode%2004寻找两个正序数组的中位数(困难)二分法.md)数组 二分 分治 - [LeetCode 05最长回文子串](leetcode/problems/LeetCode%2005最长回文子串.md)字符串(中心扩散) 马拉车(待补充) - [LeetCode 06Z字形变换](leetcode/problems/LeetCode%2006Z字形变换.md) 字符串 - [LeetCode 07整数反转](leetcode/problems/LeetCode%2007整数反转.md) 数学 - [LeetCode 08字符串转整数](leetcode/problems/LeetCode%2007整数反转.md) 数学 字符串 - [LeetCode 09回文数](leetcode/problems/LeetCode%2009回文数.md) 数学 - [LeetCode 10正则表达式匹配](leetcode/problems/LeetCode%2010正则表达式匹配(动态规划).md) dp 字符串 - [LeetCode 11盛水最多的容器](leetcode/problems/LeetCode%2011盛水最多的容器.md) 数组 双指针 - [LeetCode 12整数转罗马数字.md](leetcode/problems/LeetCode%2012整数转罗马数字.md) 数学 字符串 - [LeetCode 13罗马数字转整数.md](leetcode/problems/LeetCode%2013罗马数字转整数.md) 数学 字符串 - [LeetCode 14最长公共前缀.md](leetcode/problems/LeetCode%2014最长公共前缀.md) 字符串 - [LeetCode 15三数之和(双指针).md](leetcode/problems/LeetCode%2015三数之和(双指针).md) 数组 双指针 - [LeetCode 16最接近的三数之和.md](leetcode/problems/LeetCode%2016最接近的三数之和.md) 数组 双指针 - [LeetCode 17电话号码的字母组合.md](leetcode/problems/LeetCode%2017电话号码的字母组合.md) 字符串 回溯 - [LeetCode 18四数之和.md](leetcode/problems/LeetCode%2018四数之和.md) 数组 哈希 双指针 - [LeetCode 19删除链表的倒数第N个节点.md](leetcode/problems/LeetCode%2019删除链表的倒数第N个节点.md) 链表 双指针 - [LeetCode 20有效的括号.md](leetcode/problems/LeetCode%2020有效的括号.md) 栈 字符串 - [LeetCode 21合并两个有序列表.md](leetcode/problems/LeetCode%2021合并两个有序列表.md) 链表 - [LeetCode 22括号生成.md](leetcode/problems/LeetCode%2022括号生成.md) 字符串 回溯算法 - [LeetCode 23合并K个升序链表.md](leetcode/problems/LeetCode%2023合并K个升序链表.md) 排序 链表 - [LeetCode 24两两交换链表中的节点.md](leetcode/problems/LeetCode%2024两两交换链表中的节点.md) 链表 - [LeetCode 25K个一组翻转链表.md](leetcode/problems/LeetCode%2025K个一组翻转链表.md) 链表 - [LeetCode 26删除排序数组中的重复项.md](leetcode/problems/LeetCode%2026删除排序数组中的重复项.md) 数组 双指针 - [LeetCode 27移除元素.md](leetcode/problems/LeetCode%2027移除元素.md) 数组 双指针 - [LeetCode 28实现strStr().md](leetcode/problems/LeetCode%2028实现strStr().md) 字符串(kmp sunday) - [LeetCode 29两数相除.md](leetcode/problems/LeetCode%2029两数相除.md) 数组 二分 - [LeetCode 30串联所有单词得字串.md](leetcode/problems/LeetCode%2030串联所有单词得字串.md) 哈希 双指针 字符串 - [LeetCode 31下一个排列.md](leetcode/problems/LeetCode%2031下一个排列.md) 数组 数学(全排列) - [LeetCode 32最长有效括号(困难).md](leetcode/problems/LeetCode%2032最长有效括号(困难).md) 字符串 数组(栈) - [LeetCode 33搜索旋转排序数组.md](leetcode/problems/LeetCode%2033搜索旋转排序数组.md) 数组 二分查找 - [LeetCode 34在排序数组中查找元素的第一个和最后一个位置.md](leetcode/problems/LeetCode%2034在排序数组中查找元素的第一个和最后一个位置.md) 数组 二分查找 - [LeetCode 35搜索插入位置.md](leetcode/problems/LeetCode%2035搜索插入位置.md) 数组 二分查找 - [LeetCode 36有效的数独.md](leetcode/problems/LeetCode%2036有效的数独.md) 哈希 - [LeetCode 37解数独.md](leetcode/problems/LeetCode%2037解数独.md) 哈希 回溯 - [LeetCode 38外观数列.md](leetcode/problems/LeetCode%2038外观数列.md) 字符串(模拟过程) - [LeetCode 39组合总和.md](leetcode/problems/LeetCode%2039组合总和.md) 数组 回溯 - [LeetCode 40组合总数(回溯).md](leetcode/problems/LeetCode%2040组合总数(回溯).md) 数组 回溯 - [LeetCode 41缺失的第一个正数.md](leetcode/problems/LeetCode%2041缺失的第一个正数.md) 数组(妙用) - [LeetCode 42接雨水.md](leetcode/problems/LeetCode%2042接雨水.md) 栈 数组 双指针 - [LeetCode 43字符串相乘.md](leetcode/problems/LeetCode%2043字符串相乘.md) 数组 字符串(模拟) - [LeetCode 44通配符匹配.md](leetcode/problems/LeetCode%2044通配符匹配.md) 贪心 字符串 dp - [LeetCode 45跳跃游戏.md](leetcode/problems/LeetCode%2045跳跃游戏.md) 贪心 数组 - [LeetCode 46全排列.md](leetcode/problems/LeetCode%2046全排列.md) 回溯 递归 - [LeetCode 47全排列Ⅱ.md](leetcode/problems/LeetCode%2047全排列Ⅱ.md) 回溯 递归 - [LeetCode 48旋转图像.md](leetcode/problems/LeetCode%2048旋转图像.md) 数组 (模拟) - [LeetCode 49字母异位词分组.md](leetcode/problems/LeetCode%2049字母异位词分组.md) 哈希 字符串 - [LeetCode 50Pow(x,n).md](leetcode/problems/LeetCode%2050Pow(x,n).md) 数学(快速幂) 二分 - [LeetCode 51N皇后.md](leetcode/problems/LeetCode%2051N皇后.md) 回溯 - [LeetCode 52n皇后Ⅱ.md](leetcode/problems/LeetCode%2052n皇后Ⅱ.md) 回溯 - [LeetCode 53最大子序列和.md](leetcode/problems/LeetCode%2053最大子序列和.md) 数组 分治 dp - [LeetCode 54螺旋矩阵.md](leetcode/problems/LeetCode%2054螺旋矩阵.md) 数组(模拟) - [LeetCode 55跳跃游戏.md](leetcode/problems/LeetCode%2055跳跃游戏.md) 贪心 数组 - [LeetCode 56合并区间.md](leetcode/problems/LeetCode%2056合并区间.md) 排序 数组 - [LeetCode 57插入区间.md](leetcode/problems/LeetCode%2057插入区间.md) 排序 数组 - [LeetCode 58最后一个单词长度.md](leetcode/problems/LeetCode%2058最后一个单词长度.md) 字符串 - [LeetCode 59螺旋矩阵Ⅱ.md](leetcode/problems/LeetCode%2059螺旋矩阵Ⅱ.md) 数组(模拟) - [LeetCode 60排列序列.md](leetcode/problems/LeetCode%2060排列序列.md) 数学(全排列) - [LeetCode 61旋转链表.md](leetcode/problems/LeetCode%2061旋转链表.md) 链表 双指针 - [LeetCode 62不同路径.md](leetcode/problems/LeetCode%2062不同路径.md) 数组 dp - [LeetCode 63不同路径Ⅱ.md](leetcode/problems/LeetCode%2063不同路径Ⅱ.md) 数组 dp 搜索 - [LeetCode 64最小路径和.md](leetcode/problems/LeetCode%2064最小路径和.md) 数组 dp - [LeetCode 65有效数字.md](leetcode/problems/LeetCode%2065有效数字.md) 数组 字符串 (状态机) - [LeetCode 66加一.md](leetcode/problems/LeetCode%2066加一.md) 数组 - [LeetCode 67二进制求和.md](leetcode/problems/LeetCode%2067二进制求和.md) 数学 字符串 - [LeetCode 68文本左右对齐.md](leetcode/problems/LeetCode%2068文本左右对齐.md) 字符串 - [LeetCode 69x的平方根实现.md](leetcode/problems/LeetCode%2069x的平方根实现.md) 二分查找 - [LeetCode 70爬楼梯.md](leetcode/problems/LeetCode%2070爬楼梯.md) 动态规划 - [LeetCode 71简化路径.md](leetcode/problems/LeetCode%2071简化路径.md) 栈 字符串 - [LeetCode 72编辑距离(dp).md](leetcode/problems/LeetCode%2072编辑距离(dp).md) 动态规划 - [LeetCode 73矩阵置零.md](leetcode/problems/LeetCode%2073矩阵置零.md) 数组 原地算法 - [LeetCode 74搜素二维矩阵.md](leetcode/problems/LeetCode%2074搜素二维矩阵.md) - [LeetCode 75颜色分类.md](leetcode/problems/LeetCode%2075颜色分类.md) - [LeetCode 76最小覆盖子串.md](leetcode/problems/LeetCode%2076最小覆盖子串.md) - [LeetCode 77组合.md](leetcode/problems/LeetCode%2077组合.md) - [LeetCode 78子集.md](leetcode/problems/LeetCode%2078子集.md) - [LeetCode 79单词搜索.md](leetcode/problems/LeetCode%2079单词搜索.md) - [LeetCode 80删除排序数组中的重复项2.md](leetcode/problems/LeetCode%2080删除排序数组中的重复项2.md) - [LeetCode 81搜索旋转排序数组2.md](leetcode/problems/LeetCode%2081搜索旋转排序数组2.md) ## 算法分类 #### 搜索 - [LeetCode 29两数相除](leetcode/problems/LeetCode%2029两数相除.md) - [LeetCode 51N皇后](leetcode/problems/LeetCode%2051N皇后.md) - [LeetCode 22括号生成](leetcode/problems/LeetCode%2022括号生成.md) - [LeetCode 10正则表达式匹配(动态规划)](leetcode/problems/LeetCode%2010正则表达式匹配(动态规划).md) - [LeetCode 60排列序列](leetcode/problems/LeetCode%2060排列序列.md) - [LeetCode 46全排列](leetcode/problems/LeetCode%2046全排列.md) - [LeetCode 34在排序数组中查找元素的第一个和最后一个位置](leetcode/problems/LeetCode%2034在排序数组中查找元素的第一个和最后一个位置.md) - [LeetCode 30串联所有单词得字串](leetcode/problems/LeetCode%2030串联所有单词得字串.md) - [LeetCode 37解数独](leetcode/problems/LeetCode%2037解数独.md) - [LeetCode 47全排列Ⅱ](leetcode/problems/LeetCode%2047全排列Ⅱ.md) - [LeetCode 17电话号码的字母组合](leetcode/problems/LeetCode%2017电话号码的字母组合.md) - [LeetCode 39组合总和](leetcode/problems/LeetCode%2039组合总和.md) - [LeetCode 52n皇后Ⅱ](leetcode/problems/LeetCode%2052n皇后Ⅱ.md) - [LeetCode 33搜索旋转排序数组](leetcode/problems/LeetCode%2033搜索旋转排序数组.md) - [LeetCode 44通配符匹配](leetcode/problems/LeetCode%2044通配符匹配.md) #### 数学 - [LeetCode 29两数相除](leetcode/problems/LeetCode%2029两数相除.md) - [LeetCode 31下一个排列](leetcode/problems/LeetCode%2031下一个排列.md) - [LeetCode 06Z字形变换](leetcode/problems/LeetCode%2006Z字形变换.md) - [LeetCode 07整数反转](leetcode/problems/LeetCode%2007整数反转.md) - [LeetCode 13罗马数字转整数](leetcode/problems/LeetCode%2013罗马数字转整数.md) - [LeetCode 02两数之加](leetcode/problems/LeetCode%2002两数之加.md) - [LeetCode 50Pow(x,n)](leetcode/problems/LeetCode%2050Pow(x,n).md) - [LeetCode 60排列序列](leetcode/problems/LeetCode%2060排列序列.md) - [LeetCode 09回文数](leetcode/problems/LeetCode%2009回文数.md) - [LeetCode 43字符串相乘](leetcode/problems/LeetCode%2043字符串相乘.md) - [LeetCode 08字符串转整数](leetcode/problems/LeetCode%2008字符串转整数.md) - [LeetCode 12整数转罗马数字](leetcode/problems/LeetCode%2012整数转罗马数字.md) - [LeetCode 67二进制求和.md](leetcode/problems/LeetCode%2067二进制求和.md) #### 双指针 - [LeetCode 27移除元素](leetcode/problems/LeetCode%2027移除元素.md) - [LeetCode 28实现strStr()](leetcode/problems/LeetCode%2028实现strStr().md) - [LeetCode 03无重复字符的最长子串(滑动窗口)](leetcode/problems/LeetCode%2003无重复字符的最长子串(滑动窗口).md) - [LeetCode 16最接近的三数之和](leetcode/problems/LeetCode%2016最接近的三数之和.md) - [LeetCode 15三数之和(双指针)](leetcode/problems/LeetCode%2015三数之和(双指针).md) - [LeetCode 19删除链表的倒数第N个节点](leetcode/problems/LeetCode%2019删除链表的倒数第N个节点.md) - [LeetCode 42接雨水](leetcode/problems/LeetCode%2042接雨水.md) - [LeetCode 18四数之和](leetcode/problems/LeetCode%2018四数之和.md) - [LeetCode 30串联所有单词得字串](leetcode/problems/LeetCode%2030串联所有单词得字串.md) - [LeetCode 61旋转链表](leetcode/problems/LeetCode%2061旋转链表.md) - [LeetCode 11盛水最多的容器](leetcode/problems/LeetCode%2011盛水最多的容器.md) - [LeetCode 26删除排序数组中的重复项](leetcode/problems/LeetCode%2026删除排序数组中的重复项.md) #### 二分 - [LeetCode 29两数相除](leetcode/problems/LeetCode%2029两数相除.md) - [LeetCode 04寻找两个正序数组的中位数(困难)二分法](leetcode/problems/LeetCode%2004寻找两个正序数组的中位数(困难)二分法.md) - [LeetCode 35搜索插入位置](leetcode/problems/LeetCode%2035搜索插入位置.md) - [LeetCode 50Pow(x,n)](leetcode/problems/LeetCode%2050Pow(x,n).md) - [LeetCode 34在排序数组中查找元素的第一个和最后一个位置](leetcode/problems/LeetCode%2034在排序数组中查找元素的第一个和最后一个位置.md) - [LeetCode 33搜索旋转排序数组](leetcode/problems/LeetCode%2033搜索旋转排序数组.md) - [LeetCode 44通配符匹配](leetcode/problems/LeetCode%2044通配符匹配.md) - [LeetCode 69x的平方根实现.md](leetcode/problems/LeetCode%2069x的平方根实现.md) #### 分治 - [LeetCode 04寻找两个正序数组的中位数(困难)二分法](leetcode/problems/LeetCode%2004寻找两个正序数组的中位数(困难)二分法.md) - [LeetCode 53最大子序列和](leetcode/problems/LeetCode%2053最大子序列和.md) #### 动态规划 - [LeetCode 64最小路径和](leetcode/problems/LeetCode%2064最小路径和.md) - [LeetCode 10正则表达式匹配(动态规划)](leetcode/problems/LeetCode%2010正则表达式匹配(动态规划).md) - [LeetCode 53最大子序列和](leetcode/problems/LeetCode%2053最大子序列和.md) - [LeetCode 44通配符匹配](leetcode/problems/LeetCode%2044通配符匹配.md) - [LeetCode 70爬楼梯.md](leetcode/problems/LeetCode%2070爬楼梯.md) - [LeetCode 72编辑距离(dp).md](leetcode/problems/LeetCode%2072编辑距离(dp).md) #### 排序 - [LeetCode 56合并区间](leetcode/problems/LeetCode%2056合并区间.md) - [LeetCode 57插入区间](leetcode/problems/LeetCode%2057插入区间.md) - [LeetCode 23合并K个升序链表](leetcode/problems/LeetCode%2023合并K个升序链表.md) #### 贪心 - [LeetCode 55跳跃游戏](leetcode/problems/LeetCode%2055跳跃游戏.md) - [LeetCode 45跳跃游戏](leetcode/problems/LeetCode%2045跳跃游戏.md) ## 数据结构分类 #### 树 #### 链表 - [LeetCode 25K个一组翻转链表](leetcode/problems/LeetCode%2025K个一组翻转链表.md) - [LeetCode 21合并两个有序列表](leetcode/problems/LeetCode%2021合并两个有序列表.md) - [LeetCode 19删除链表的倒数第N个节点](leetcode/problems/LeetCode%2019删除链表的倒数第N个节点.md) - [LeetCode 02两数之加](leetcode/problems/LeetCode%2002两数之加.md) - [LeetCode 61旋转链表](leetcode/problems/LeetCode%2061旋转链表.md) - [LeetCode 24两两交换链表中的节点](leetcode/problems/LeetCode%2024两两交换链表中的节点.md) - [LeetCode 23合并K个升序链表](leetcode/problems/LeetCode%2023合并K个升序链表.md) #### 哈希 - [LeetCode 03无重复字符的最长子串(滑动窗口)](leetcode/problems/LeetCode%2003无重复字符的最长子串(滑动窗口).md) - [LeetCode 01两数之和](leetcode/problems/LeetCode%2001两数之和.md) - [LeetCode 49字母异位词分组](leetcode/problems/LeetCode%2049字母异位词分组.md) - [LeetCode 36有效的数独](leetcode/problems/LeetCode%2036有效的数独.md) - [LeetCode 18四数之和](leetcode/problems/LeetCode%2018四数之和.md) - [LeetCode 30串联所有单词得字串](leetcode/problems/LeetCode%2030串联所有单词得字串.md) - [LeetCode 37解数独](leetcode/problems/LeetCode%2037解数独.md) #### 字符串 - [LeetCode 58最后一个单词长度](leetcode/problems/LeetCode%2058最后一个单词长度.md) - [LeetCode 14最长公共前缀](leetcode/problems/LeetCode%2014最长公共前缀.md) - [LeetCode 20有效的括号](leetcode/problems/LeetCode%2020有效的括号.md) - [LeetCode 03无重复字符的最长子串(滑动窗口)](leetcode/problems/LeetCode%2003无重复字符的最长子串(滑动窗口).md) - [LeetCode 06Z字形变换](leetcode/problems/LeetCode%2006Z字形变换.md) - [LeetCode 65有效数字](leetcode/problems/LeetCode%2065有效数字.md) - [LeetCode 22括号生成](leetcode/problems/LeetCode%2022括号生成.md) - [LeetCode 10正则表达式匹配(动态规划)](leetcode/problems/LeetCode%2010正则表达式匹配(动态规划).md) - [LeetCode 49字母异位词分组](leetcode/problems/LeetCode%2049字母异位词分组.md) - [LeetCode 05最长回文子串](leetcode/problems/LeetCode%2005最长回文子串.md) - [LeetCode 13罗马数字转整数](leetcode/problems/LeetCode%2013罗马数字转整数.md) - [LeetCode 38外观数列](leetcode/problems/LeetCode%2038外观数列.md) - [LeetCode 30串联所有单词得字串](leetcode/problems/LeetCode%2030串联所有单词得字串.md) - [LeetCode 43字符串相乘](leetcode/problems/LeetCode%2043字符串相乘.md) - [LeetCode 08字符串转整数](leetcode/problems/LeetCode%2008字符串转整数.md) - [LeetCode 12整数转罗马数字](leetcode/problems/LeetCode%2012整数转罗马数字.md) - [LeetCode 32最长有效括号(困难)](leetcode/problems/LeetCode%2032最长有效括号(困难).md) - [LeetCode 17电话号码的字母组合](leetcode/problems/LeetCode%2017电话号码的字母组合.md) - [LeetCode 44通配符匹配](leetcode/problems/LeetCode%2044通配符匹配.md) - [LeetCode 28实现 strStr()](leetcode/problems/LeetCode%2028实现%20strStr().md) - [LeetCode 67二进制求和.md](leetcode/problems/LeetCode%2067二进制求和.md) - [LeetCode 68文本左右对齐.md](leetcode/problems/LeetCode%2068文本左右对齐.md) - [LeetCode 71简化路径.md](leetcode/problems/LeetCode%2071简化路径.md) #### 数组 - [LeetCode 27移除元素](leetcode/problems/LeetCode%2027移除元素.md) - [LeetCode 31下一个排列](leetcode/problems/LeetCode%2031下一个排列.md) - [LeetCode 04寻找两个正序数组的中位数(困难)二分法](leetcode/problems/LeetCode%2004寻找两个正序数组的中位数(困难)二分法.md) - [LeetCode 40组合总数(回溯)](leetcode/problems/LeetCode%2040组合总数(回溯).md) - [LeetCode 64最小路径和](leetcode/problems/LeetCode%2064最小路径和.md) - [LeetCode 35搜索插入位置](leetcode/problems/LeetCode%2035搜索插入位置.md) - [LeetCode 01两数之和](leetcode/problems/LeetCode%2001两数之和.md) - [LeetCode 16最接近的三数之和](leetcode/problems/LeetCode%2016最接近的三数之和.md) - [LeetCode 15三数之和(双指针)](leetcode/problems/LeetCode%2015三数之和(双指针).md) - [LeetCode 63不同路径Ⅱ](leetcode/problems/LeetCode%2063不同路径Ⅱ.md) - [LeetCode 65有效数字](leetcode/problems/LeetCode%2065有效数字.md) - [LeetCode 42接雨水](leetcode/problems/LeetCode%2042接雨水.md) - [LeetCode 66加一](leetcode/problems/LeetCode%2066加一.md) - [LeetCode 56合并区间](leetcode/problems/LeetCode%2056合并区间.md) - [LeetCode 53最大子序列和](leetcode/problems/LeetCode%2053最大子序列和.md) - [LeetCode 18四数之和](leetcode/problems/LeetCode%2018四数之和.md) - [LeetCode 34在排序数组中查找元素的第一个和最后一个位置](leetcode/problems/LeetCode%2034在排序数组中查找元素的第一个和最后一个位置.md) - [LeetCode 59螺旋矩阵Ⅱ](leetcode/problems/LeetCode%2059螺旋矩阵Ⅱ.md) - [LeetCode 11盛水最多的容器](leetcode/problems/LeetCode%2011盛水最多的容器.md) - [LeetCode 55跳跃游戏](leetcode/problems/LeetCode%2055跳跃游戏.md) - [LeetCode 54螺旋矩阵](leetcode/problems/LeetCode%2054螺旋矩阵.md) - [LeetCode 57插入区间](leetcode/problems/LeetCode%2057插入区间.md) - [LeetCode 41缺失的第一个正数](leetcode/problems/LeetCode%2041缺失的第一个正数.md) - [LeetCode 45跳跃游戏](leetcode/problems/LeetCode%2045跳跃游戏.md) - [LeetCode 39组合总和](leetcode/problems/LeetCode%2039组合总和.md) - [LeetCode 26删除排序数组中的重复项](leetcode/problems/LeetCode%2026删除排序数组中的重复项.md) - [LeetCode 48旋转图像](leetcode/problems/LeetCode%2048旋转图像.md) - [LeetCode 62不同路径](leetcode/problems/LeetCode%2062不同路径.md) - [LeetCode 33搜索旋转排序数组](leetcode/problems/LeetCode%2033搜索旋转排序数组.md) - [LeetCode 73矩阵置零.md](leetcode/problems/LeetCode%2073矩阵置零.md) #### 栈 - [LeetCode 20有效的括号](leetcode/problems/LeetCode%2020有效的括号.md) - [LeetCode 42接雨水](leetcode/problems/LeetCode%2042接雨水.md) - [LeetCode 32最长有效括号(困难)](leetcode/problems/LeetCode%2032最长有效括号(困难).md) - [LeetCode 71简化路径.md](leetcode/problems/LeetCode%2071简化路径.md) #### 图论 ### 刷题tips - LeetCode 167两数之和② 双指针 - LeetCode 152 乘积最大子数组 动态规划 - LeetCode 198 打家劫舍 动态规划 - LeetCode 213 打家劫舍② 动态规划 - LeetCode 377 打家劫舍③ 动态规划 (树形DP) 资源会优先在公众号发布,本文档后期也会整理成pdf送给大家!欢迎大家扫码关注公众号:**bigsai** ![欢迎关注](https://bigsai.oss-cn-shanghai.aliyuncs.com/img/image-20201122214904687.png)