|
8 | 8 | </div>
|
9 | 9 |
|
10 | 10 | ## [数组(及其相关结构)](Array/)
|
11 | | -* [可容纳最多水的一组容器.py](Array/ContainerWithMostWater.py) |
| 11 | +* -[可容纳最多水的一组容器.py](Array/ContainerWithMostWater.py) |
12 | 12 | * - [糖果公平交换.py](Array/FairCandySwap.py)
|
13 | 13 | * - [已排序的数组中找到第一和最后一个元素.py](Array/FindFirstAndLastPositionOfElementInSortedArray.py)
|
14 | 14 | * - [旋转过的排序数组中找到最小的元素.py](Array/FindMinimumInRotatedSortedArray.py)
|
|
53 | 53 | * - [最频繁的K个元素.py](Array/TopKFrequentElements.py)
|
54 | 54 | * - [两数相加II数组已排序.py](Array/TwoSumIIAlreadySorted.py)
|
55 | 55 | * - [两数相加.py](Array/two_sum.py)
|
| 56 | +* - [多重三数相加.py](Array/3SumWithMultiplicity.py) |
| 57 | +* - [最佳买卖时机I_II.py](Array/BestTimeToBuyAndSellStockI_II.py) |
| 58 | +* - [二进制子数组和.py](Array/BinarySubarraysWithSum.py) |
| 59 | +* - [统计小于自身且在自身之后的数.py](Array/CountOfSmallerNumbersAfterSelf.py) |
| 60 | +* - [寻找极值.py](Array/FindPeakElement.py) |
| 61 | +* - [FizzBuzz.py](Array/FizzBuzz.py) |
| 62 | +* - [加油站.py](Array/GasStation.py) |
| 63 | +* - [本地和全局的倒置.py](Array/GlobalAndLocalInversions.py) |
| 64 | +* - [组团的变位词.py](Array/GroupAnagrams.py) |
| 65 | +* - [两数组的重叠部分.py](Array/IntersectionOfTwoArrays.py) |
| 66 | +* - [两数组重叠部分II.py](Array/IntersectionOfTwoArraysII.py) |
| 67 | +* - [跳跃游戏.py](Array/JumpGame.py) |
| 68 | +* - [跳跃游戏II.py](Array/JumpGameII.py) |
| 69 | +* - [距离最近的人的可走过的最远距离.py](Array/MaximizeDistanceToClosestPerson.py) |
| 70 | +* - [循环子数组的最大和.py](Array/MaximumSumCircularSubarray.py) |
| 71 | +* - [最小下落路径和.py](Array/MinimumFallingPathSum.py) |
| 72 | +* - [最小路径和.py](Array/MinimumPathSum.py) |
| 73 | +* - [单双链表.py](Array/OddEvenLinkedList.py) |
| 74 | +* - [解体大数组.py](Array/PartitionArrayIntoDisjointIntervals.py) |
| 75 | +* - [解体列表.py](Array/PartitionList.py) |
| 76 | +* - [Pascal 三角I_II.py](Array/Pascal's TriangleI_II.py) |
| 77 | +* - [+1.py](Array/PlusOne.py) |
| 78 | +* - [从已排序的数组中删除重复数据.py](Array/RemoveDuplicatesFromSortedArray.py) |
| 79 | +* - [从已排序的数组中删除重复数据II.py](Array/RemoveDuplicatesFromSortedArrayII.py) |
| 80 | +* - [从已排序的列表中删除重复数据.py](Array/RemoveDuplicatesFromSortedList.py) |
| 81 | +* - [从已排序的列表中删除重复数据II.py](Array/RemoveDuplicatesFromSortedListII.py) |
| 82 | +* - [删除链表中的元素.py](Array/RemoveLinkedListElements.py) |
| 83 | +* - [旋转列表.py](Array/RotateList.py) |
| 84 | +* - [在矩阵中捣蛋.py](Array/SetMatrixZeroes.py) |
| 85 | +* - [洗牌.py](Array/ShuffleAnArray.py) |
| 86 | +* - [最大的滑动窗口.py](Array/SlidingWindowMaximum.py) |
| 87 | +* - [根据"对er"排序数组II.py](Array/SortArrayByParityII.py) |
| 88 | +* - [颜色颜色.py](Array/SortColors.py) |
| 89 | +* - [螺旋矩阵II.py](Array/SpiralMatrixII.py) |
| 90 | +* - [等于K的子数组.py](Array/SubarraySumEqualsK.py) |
| 91 | +* - [三角.py](Array/Triangle.py) |
| 92 | +* - [单词子集.py](Array/WordSubsets.py) |
| 93 | + |
| 94 | +## [回溯](Backtracking/) |
| 95 | +* - [生成括号.py](Backtracking/GenerateParentheses.py) |
| 96 | +* - [子集.py](Backtracking/subsets.py) |
56 | 97 |
|
57 | 98 | ## [广度优先搜索](BFS/)
|
58 | 99 | * - [树中最靠近左下的节点的值.py](BFS/FindBottomLeftTreeValue.py)
|
59 | 100 | * - [二叉树层级遍历.py](BFS/BinaryTreeLevelOrderTraversal.py)
|
60 | 101 | * - [二叉树层级遍历II.py](BFS/BinaryTreeLevelOrderTraversalII.py)
|
61 | 102 | * - [二叉树层级 Zigzag 遍历.py](BFS/BinaryTreeZigzagLevelOrderTraversal.py)
|
62 | 103 | * - [二叉树的最大深度.py](BFS/MaximumDepthOfBinaryTree.py)
|
| 104 | +* - [单词阶梯.py](BFS/WordLadder.py) |
63 | 105 |
|
64 | 106 | ## [设计类](Design/)
|
65 | 107 | * - [LRU 缓存设计.py](Design/LRUCache.py)
|
66 | 108 | * - [RLE 迭代器.py](Design/RLEIterator.py)
|
| 109 | +* - [O(1)复杂度的插入删除和取随机容器.py](Design/InsertDeleteGetRandomO(1).py) |
67 | 110 |
|
68 | 111 | ## [深度优先搜索](DFS/)
|
69 | 112 | * - [路径和.py](DFS/PathSum.py)
|
70 | 113 | * - [词搜索.py](DFS/WordSearch.py)
|
| 114 | +* - [词搜索II.py](DFS/WordSearchII.py) |
71 | 115 |
|
72 | 116 | ## [动态规划](DP/)
|
73 | 117 | * - [交错的字符串.py](DP/InterleavingString.py)
|
|
83 | 127 | * - [挑卡片.py](DP/PickCards.py)
|
84 | 128 | * - [唯一路径.py](DP/UniquePath.py)
|
85 | 129 | * - [唯一路径II.py](DP/UniquePathII.py)
|
| 130 | +* - [爬楼.py](DP/ClimbingStairs.py) |
| 131 | +* - [解码方式.py](DP/DecodeWays.py) |
| 132 | +* - [在某字符串中找到所有的变位词.py](DP/FindAllAnagramsInAString.py) |
| 133 | +* - [转换字符串到单调递增.py](DP/FlipStringToMonotoneIncreasing.py) |
| 134 | +* - [小于K的子数组积.py](DP/SubarrayProductLessThanK.py) |
| 135 | +* - [单词中断处.py](DP/WordBreak.py) |
86 | 136 |
|
87 | 137 | ## [堆](Heap/)
|
88 | 138 | * - [排序矩阵中第k小个元素.py](Heap/KthSmallestElementInASortedMatrix.py)
|
89 | 139 | * - [合并K个已排序过的链表.py](Heap/MergeKSortedLists.py)
|
| 140 | +* - [从数据流中找中位数.py](Heap/FindMedianFromDataStream.py) |
90 | 141 |
|
91 | 142 | ## [排序](Sorted/)
|
92 | 143 | * - [选择,插入,快排,归并](Sorted/sotred.py)
|
| 144 | +* - [排序列表.py](Sorted/SortList.py) |
| 145 | +* - [奇怪的排序II.py](Sorted/WiggleSortII.py) |
93 | 146 |
|
94 | 147 | ## [纯数字问题](Number/)
|
95 | 148 | * - [两数相除.py](Number/DivideTwoIntegers.py)
|
| 149 | +* - [Sqrt(x).py](Number/Sqrt(x).py) |
96 | 150 |
|
97 | 151 | ## [栈](Stack/)
|
98 | 152 | * - [可取最小值的栈.py](Stack/GetMinStack.py)
|
99 | 153 | * - [使用栈模拟队列.py](Stack/ImplementQueueUsingStack.py)
|
100 | 154 | * - [使用递归翻转栈.py](Stack/ReverseAStackByRecursive.py)
|
| 155 | +* - [直方图中最大的矩形.py](Stack/LargestRectangleInHistogram.py) |
| 156 | +* - [收集雨水.py](Stack/TrappingRainWater.py) |
101 | 157 |
|
102 | 158 | ## [字符串](String/)
|
103 | 159 | * - [找到可被模板替换的字符串.py](String/FindAndReplacePattern.py)
|
|
121 | 177 | * - [翻转字符串.py](String/ReverseString.py)
|
122 | 178 | * - [转换至小写.py](String/ToLowerCase.py)
|
123 | 179 | * - [词模板.py](String/WordPattern.py)
|
| 180 | +* - [字符串中最先出现的唯一字符.py](String/FirstUniqueCharacterInAString.py) |
| 181 | +* - [长印刷名字.py](String/LongPressedName.py) |
| 182 | +* - [使括号有效的最小添加数.py](String/MinimumAddToMakeParenthesesValid.py) |
| 183 | +* - [字符串中的全排列.py](String/PermutationInString.py) |
| 184 | +* - [转换单词.py](String/ShiftingLetters.py) |
| 185 | +* - [简化路径.py](String/SimplifyPath.py) |
| 186 | +* - [根据频率排序字符.py](String/SortCharactersByFrequency.py) |
| 187 | +* - [独一无二的邮箱地址.py](String/UniqueEmailAddresses.py) |
| 188 | +* - [有效变位词.py](String/ValidAnagram.py) |
| 189 | +* - [有效回文字符串.py](String/ValidPalindrome.py) |
124 | 190 |
|
125 | 191 | ## [树](Tree/)
|
126 | 192 | * - [根据前序和后序的结果生成二叉树.py](Tree/ConstructBinaryTreeFromPreorderAndPostorderTraversal.py)
|
|
134 | 200 | * - ["结"构与解构.py](Tree/serializeAndDeserialize.py)
|
135 | 201 | * - [根到叶的和.py](Tree/SumRootToLeafNumbers.py)
|
136 | 202 | * - [字典树.py](Tree/Trie.py)
|
137 | | - |
| 203 | +* - [所有可能的满二叉树.py](Tree/AllPossibleFullBinaryTree.py) |
| 204 | +* - [右边视角的二叉树.py](Tree/BinaryTreeRightSideView.py) |
| 205 | +* - [完整二叉树插入.py](Tree/CompleteBinaryTreeInserter.py) |
| 206 | +* - [根据中序和后序遍历结果中构建二叉树.py](Tree/ConstructBinaryTreeFromInorderAndPostorderTraversal.py) |
| 207 | +* - [根据前序和中序遍历结果中构建二叉树.py](Tree/ConstructBinaryTreeFromPreorderAndInorderTraversal.py) |
| 208 | +* - [一只二叉搜索树中第k小个数.py](Tree/KthSmallestElementInABST.py) |
| 209 | +* - [二叉搜索树中最小公共祖先.py](Tree/LowestCommonAncestorOfABinarySearchTree.py) |
| 210 | +* - [二叉树中最小公共祖先.py](Tree/LowestCommonAncestorOfABinaryTree.py) |
| 211 | +* - [为每个节点指定下一个右边指向.py](Tree/PopulatingNextRightPointersInEachNode.py) |
| 212 | +* - [为每个节点指定下一个右边指向II.py](Tree/PopulatingNextRightPointersInEachNodeII.py) |
| 213 | +* - ["结"构与解构二叉树.py](Tree/SerializeAndDeserializeBinaryTree.py) |
0 commit comments