Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yihonglei/thinking-in-algorithms
LeetCode Solutions
https://github.com/yihonglei/thinking-in-algorithms
algorithm algorithms algorithms-and-data-structures java leetcode leetcode-c leetcode-java leetcode-solutions
Last synced: about 6 hours ago
JSON representation
LeetCode Solutions
- Host: GitHub
- URL: https://github.com/yihonglei/thinking-in-algorithms
- Owner: yihonglei
- License: mit
- Created: 2021-12-09T10:01:50.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T08:58:36.000Z (23 days ago)
- Last Synced: 2024-10-25T09:05:00.755Z (22 days ago)
- Topics: algorithm, algorithms, algorithms-and-data-structures, java, leetcode, leetcode-c, leetcode-java, leetcode-solutions
- Language: Java
- Homepage:
- Size: 42.7 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 前言
1、[数据结构与算法理论和 leetcode 题目分类思维导图;](https://github.com/yihonglei/thinking-in-algorithms/tree/master/xmind)
2、Java 代码基于 JDK8 实现;
### 数据结构目录
- [数组](https://github.com/yihonglei/thinking-in-algorithms#%E6%95%B0%E7%BB%84)
- [链表](https://github.com/yihonglei/thinking-in-algorithms#%E9%93%BE%E8%A1%A8)
- [栈](https://github.com/yihonglei/thinking-in-algorithms#%E6%A0%88)
- [队列](https://github.com/yihonglei/thinking-in-algorithms#%E9%98%9F%E5%88%97)
- [字符串](https://github.com/yihonglei/thinking-in-algorithms#%E5%AD%97%E7%AC%A6%E4%B8%B2)
- [哈希表](https://github.com/yihonglei/thinking-in-algorithms#%E5%93%88%E5%B8%8C%E8%A1%A8)
- [图](https://github.com/yihonglei/thinking-in-algorithms#%E5%9B%BE)
- [跳表](https://github.com/yihonglei/thinking-in-algorithms#%E8%B7%B3%E8%A1%A8)
- [树](https://github.com/yihonglei/thinking-in-algorithms#%E6%A0%91)
- [堆](https://github.com/yihonglei/thinking-in-algorithms#%E5%A0%86)
- [并查集](https://github.com/yihonglei/thinking-in-algorithms#%E5%B9%B6%E6%9F%A5%E9%9B%86)
- [线段树](https://github.com/yihonglei/thinking-in-algorithms#%E7%BA%BF%E6%AE%B5%E6%A0%91)
- [树状数组](https://github.com/yihonglei/thinking-in-algorithms#%E6%A0%91%E7%8A%B6%E6%95%B0%E7%BB%84)
- [字典树](https://github.com/yihonglei/thinking-in-algorithms#%E5%AD%97%E5%85%B8%E6%A0%91)### 算法目录
- [排序](https://github.com/yihonglei/thinking-in-algorithms#%E6%8E%92%E5%BA%8F)
- [递归](https://github.com/yihonglei/thinking-in-algorithms#%E9%80%92%E5%BD%92)
- [尾递归](https://github.com/yihonglei/thinking-in-algorithms#%E5%B0%BE%E9%80%92%E5%BD%92)
- [二分查找](https://github.com/yihonglei/thinking-in-algorithms#%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE)
- [哈希算法](https://github.com/yihonglei/thinking-in-algorithms#%E5%93%88%E5%B8%8C%E7%AE%97%E6%B3%95)
- [字符串匹配](https://github.com/yihonglei/thinking-in-algorithms#%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8C%B9%E9%85%8D)
- [深度优先搜索](https://github.com/yihonglei/thinking-in-algorithms#%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88%E6%90%9C%E7%B4%A2)
- [广度优先搜索](https://github.com/yihonglei/thinking-in-algorithms#%E5%B9%BF%E5%BA%A6%E4%BC%98%E5%85%88%E6%90%9C%E7%B4%A2)
- [贪心算法](https://github.com/yihonglei/thinking-in-algorithms#%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95)
- [分治算法](https://github.com/yihonglei/thinking-in-algorithms#%E5%88%86%E6%B2%BB%E7%AE%97%E6%B3%95)
- [回溯算法](https://github.com/yihonglei/thinking-in-algorithms#%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95)
- [动态规划](https://github.com/yihonglei/thinking-in-algorithms#%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92)
- [设计](https://github.com/yihonglei/thinking-in-algorithms#%E8%AE%BE%E8%AE%A1)
- [数论](https://github.com/yihonglei/thinking-in-algorithms#%E6%95%B0%E8%AE%BA)
- [数学](https://github.com/yihonglei/thinking-in-algorithms#%E6%95%B0%E5%AD%A6)
- [概率与统计](https://github.com/yihonglei/thinking-in-algorithms#%E6%A6%82%E7%8E%87%E4%B8%8E%E7%BB%9F%E8%AE%A1)### 算法技巧目录
- [双指针](https://github.com/yihonglei/thinking-in-algorithms#%E5%8F%8C%E6%8C%87%E9%92%88)
- [模拟](https://github.com/yihonglei/thinking-in-algorithms#%E6%A8%A1%E6%8B%9F)
- [滑动窗口](https://github.com/yihonglei/thinking-in-algorithms#%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3)
- [位运算](https://github.com/yihonglei/thinking-in-algorithms#%E4%BD%8D%E8%BF%90%E7%AE%97)
- [前缀和](https://github.com/yihonglei/thinking-in-algorithms#%E5%89%8D%E7%BC%80%E5%92%8C)
- [计数](https://github.com/yihonglei/thinking-in-algorithms#%E8%AE%A1%E6%95%B0)
- [状态压缩](https://github.com/yihonglei/thinking-in-algorithms#%E7%8A%B6%E6%80%81%E5%8E%8B%E7%BC%A9)
- [哈希函数](https://github.com/yihonglei/thinking-in-algorithms#%E5%93%88%E5%B8%8C%E5%87%BD%E6%95%B0)
- [滚动哈希](https://github.com/yihonglei/thinking-in-algorithms#%E6%BB%9A%E5%8A%A8%E5%93%88%E5%B8%8C)
- [扫描线](https://github.com/yihonglei/thinking-in-algorithms#%E6%89%AB%E6%8F%8F%E7%BA%BF)
- [单调栈](https://github.com/yihonglei/thinking-in-algorithms#%E5%8D%95%E8%B0%83%E6%A0%88)
- [哨兵结点](https://github.com/yihonglei/thinking-in-algorithms#%E5%93%A8%E5%85%B5%E8%8A%82%E7%82%B9)### 算法模板目录
- [算法模板](https://github.com/yihonglei/thinking-in-algorithms#%E5%9B%9B%E7%AE%97%E6%B3%95%E6%A8%A1%E6%9D%BF)
# 一、数据结构
## 数组
1、数组理论
2、经典题目(leetcode)
- [1.两数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0001)
- [8.字符串转换整数 (atoi](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0008)
- [11.盛最多水的容器](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0011)
- [15.三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0015)
- [16.最接近的三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0016)
- [18.四数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0018)
- [26.删除有序数组中的重复项](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0026)
- [27.移除元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0027)
- [34.在排序数组中查找元素的第一个和最后一个位置](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0034)
- [42.接雨水](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0042)
- [59. 螺旋矩阵 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0059)
- [78.子集](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0078)
- [79.单词搜索](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0079)
- [209.长度最小的子数组](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0209)
- [977.有序数组的平方](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0977)## 链表
1、链表理论
2、经典题目(leetcode)
- [2.两数相加](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0002)
- [19.删除链表的倒数第 N 个结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0019)
- [21.合并两个有序链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0021)
- [23.合并K个升序链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0023)
- [24.两两交换链表中的结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0024)
- [83.删除排序链表中的重复元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0083)
- [141.环形链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0141)
- [142.环形链表 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0142)
- [148.排序链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0148)
- [203.移除链表元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0203)
- [206.反转链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0206)
- [234.回文链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0234)
- [707.设计链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0707)
- [876.链表的中间结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0876)## 栈
1、栈理论
2、经典题目(leetcode)
- [20.有效的括号](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0020)
- [150.逆波兰表达式求值](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0150)
- [225.用队列实现栈](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0225)
- [232.用栈实现队列](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0232)
- [1047.删除字符串中的所有相邻重复项](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode2/n1047)## 队列
1、队列理论
2、经典题目(leetcode)
- [225.用队列实现栈](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0225)
- [232.用栈实现队列](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0232)
- [239.滑动窗口最大值](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0239)
- [347.前 K 个高频元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0347)## 字符串
1、字符串理论
2、经典题目(leetcode)
- [3.无重复字符的最长子串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0003)
- [14.最长公共前缀](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0014)
- [28.实现 strStr()](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0028)
- [30.串联所有单词的子串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0030)
- [76.最小覆盖子串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0076)
- [151.翻转字符串里的单词](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0151)
- [126.单词接龙 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0126)
- [344.反转字符串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0344)
- [389.找不同](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0389)
- [459.重复的子字符串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0459)
- [468.验证IP地址](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0468)
- [541.反转字符串 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0541)## 哈希表
1、哈希表理论
2、经典题目(leetcode)
- [1.两数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0001)
- [9.回文数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0009)
- [15.三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0015)
- [18.四数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0018)
- [202.快乐数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0202)
- [242.有效的字母异位词](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0242)
- [349.两个数组的交集](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0349)
- [383.赎金信](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0383)
- [454. 四数相加 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0454)## 图
1、图理论
2、经典题目(leetcode)
## 跳表
1、跳表理论
2、经典题目(leetcode)
## 树
1、树理论
2、经典题目(leetcode)
- [94.二叉树的中序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0094)
- [101.对称二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0101)
- [102.二叉树的层序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0102)
- [104.二叉树的最大深度](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0104)
- [106.从中序与后序遍历序列构造二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0106)
- [111.二叉树的最小深度](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0111)
- [112.路径总和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0112)
- [144.二叉树的前序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0144)
- [145.二叉树的后序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0145)
- [257.二叉树的所有路径](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0257)
- [404.左叶子之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0404)
- [450.删除二叉搜索树中的结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0450)
- [513.找树左下角的值](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0513)
- [530.二叉搜索树的最小绝对差](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0530)
- [617.合并二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0617)
- [654.最大二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0654)## 堆
1、堆理论
2、经典题目(leetcode)
## 并查集
1、并查集理论
2、经典题目(leetcode)
## 线段树
1、线段树理论
2、经典题目(leetcode)
## 树状数组
1、树状数组理论
2、经典题目(leetcode)
## 字典树
1、字典树理论
2、经典题目(leetcode)
# 二、算法
## 排序
1、排序理论
2、经典题目(leetcode)
## 递归
1、递归理论
2、经典题目(leetcode)
- [7.整数反转](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0007)
- [9.回文数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0009)## 尾递归
1、尾递归理论
2、经典题目(leetcode)
## 二分查找
1、二分查找理论
2、经典题目(leetcode)
- [34.在排序数组中查找元素的第一个和最后一个位置](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0034)
- [69.x 的平方根](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0069)
- [162.寻找峰值](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0162)
- [165.比较版本号](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0165)
- [209.长度最小的子数组](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0209)
- [287.寻找重复数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0287)
- [349.两个数组的交集](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0349)
- [704.二分查找](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0704)
- [852.山脉数组的峰顶索引](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode2/n852)
- [1351.统计有序矩阵中的负数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode2/n1351)## 哈希算法
1、哈希算法理论
2、经典题目(leetcode)
## 字符串匹配
1、字符串匹配理论
2、经典题目(leetcode)
- [28.实现 strStr()](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0028)
## 深度优先搜索
1、深度优先搜索理论
2、经典题目(leetcode)
- [94.二叉树的中序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0094)
- [101.对称二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0101)
- [102.二叉树的层序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0102)
- [104.二叉树的最大深度](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0104)
- [106.从中序与后序遍历序列构造二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0106)
- [111.二叉树的最小深度](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0111)
- [112.路径总和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0112)
- [144.二叉树的前序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0144)
- [145.二叉树的后序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0145)
- [257.二叉树的所有路径](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0257)## 广度优先搜索
1、广度优先搜索理论
2、经典题目(leetcode)
## 贪心算法
1、贪心理论
2、经典题目(leetcode)
## 分治算法
1、分治算法理论
2、经典题目(leetcode)
## 回溯算法
1、回溯算法理论
2、经典题目(leetcode)
## 动态规划
1、动态规划理论
2、经典题目(leetcode)
## 设计
1、设计理论
2、经典题目(leetcode)
## 数论
1、数论理论
2、经典题目(leetcode)
## 数学
1、数学理论
2、经典题目(leetcode)
## 概率与统计
1、概率与统计理论
2、经典题目(leetcode)
# 三、算法技巧
## 双指针
1、双指针理论
2、经典题目(leetcode)
- [11.盛最多水的容器](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0011)
- [15.三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0015)
- [16.最接近的三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0016)
- [18.四数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0018)
- [19.删除链表的倒数第 N 个结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0019)
- [26.删除有序数组中的重复项](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0026)
- [27.移除元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0027)
- [141.环形链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0141)
- [142.环形链表 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0142)
- [151.翻转字符串里的单词](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0151)
- [206.反转链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0206)
- [209.长度最小的子数组](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0209)
- [344.反转字符串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0344)## 模拟
1、模拟理论
2、经典题目(leetcode)
## 滑动窗口
1、滑动窗口理论
2、经典题目(leetcode)
## 位运算
1、位运算理论
2、经典题目(leetcode)
## 前缀和
1、前缀和理论
2、经典题目(leetcode)
## 计数
1、计数理论
2、经典题目(leetcode)
## 状态压缩
1、状态压缩理论
2、经典题目(leetcode)
## 哈希函数
1、哈希函数理论
2、经典题目(leetcode)
## 滚动哈希
1、滚动哈希理论
2、经典题目(leetcode)
## 扫描线
1、扫描线理论
2、经典题目(leetcode)
## 单调栈
1、单调栈理论
2、经典题目(leetcode)
## 哨兵结点
1、单调栈理论
2、经典题目(leetcode)
# 四、算法模板
经典题目(leetcode)
- [回溯算法模板](https://github.com/yihonglei/thinking-in-algorithms/blob/master/java/src/main/java/com/jpeony/leetcodecn/ReplaceSpace.java)