diff --git a/README.md b/README.md index ec3433d..3d9741d 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## [数组(及其相关结构)](Array/) -* [可容纳最多水的一组容器.py](Array/ContainerWithMostWater.py) +* - [可容纳最多水的一组容器.py](Array/ContainerWithMostWater.py) * - [糖果公平交换.py](Array/FairCandySwap.py) * - [已排序的数组中找到第一和最后一个元素.py](Array/FindFirstAndLastPositionOfElementInSortedArray.py) * - [旋转过的排序数组中找到最小的元素.py](Array/FindMinimumInRotatedSortedArray.py) @@ -53,6 +53,47 @@ * - [最频繁的K个元素.py](Array/TopKFrequentElements.py) * - [两数相加II数组已排序.py](Array/TwoSumIIAlreadySorted.py) * - [两数相加.py](Array/two_sum.py) +* - [多重三数相加.py](Array/3SumWithMultiplicity.py) +* - [最佳买卖时机I_II.py](Array/BestTimeToBuyAndSellStockI_II.py) +* - [二进制子数组和.py](Array/BinarySubarraysWithSum.py) +* - [统计小于自身且在自身之后的数.py](Array/CountOfSmallerNumbersAfterSelf.py) +* - [寻找极值.py](Array/FindPeakElement.py) +* - [FizzBuzz.py](Array/FizzBuzz.py) +* - [加油站.py](Array/GasStation.py) +* - [本地和全局的倒置.py](Array/GlobalAndLocalInversions.py) +* - [组团的变位词.py](Array/GroupAnagrams.py) +* - [两数组的重叠部分.py](Array/IntersectionOfTwoArrays.py) +* - [两数组重叠部分II.py](Array/IntersectionOfTwoArraysII.py) +* - [跳跃游戏.py](Array/JumpGame.py) +* - [跳跃游戏II.py](Array/JumpGameII.py) +* - [距离最近的人的可走过的最远距离.py](Array/MaximizeDistanceToClosestPerson.py) +* - [循环子数组的最大和.py](Array/MaximumSumCircularSubarray.py) +* - [最小下落路径和.py](Array/MinimumFallingPathSum.py) +* - [最小路径和.py](Array/MinimumPathSum.py) +* - [单双链表.py](Array/OddEvenLinkedList.py) +* - [解体大数组.py](Array/PartitionArrayIntoDisjointIntervals.py) +* - [解体列表.py](Array/PartitionList.py) +* - [Pascal 三角I_II.py](Array/Pascal's TriangleI_II.py) +* - [+1.py](Array/PlusOne.py) +* - [从已排序的数组中删除重复数据.py](Array/RemoveDuplicatesFromSortedArray.py) +* - [从已排序的数组中删除重复数据II.py](Array/RemoveDuplicatesFromSortedArrayII.py) +* - [从已排序的列表中删除重复数据.py](Array/RemoveDuplicatesFromSortedList.py) +* - [从已排序的列表中删除重复数据II.py](Array/RemoveDuplicatesFromSortedListII.py) +* - [删除链表中的元素.py](Array/RemoveLinkedListElements.py) +* - [旋转列表.py](Array/RotateList.py) +* - [在矩阵中捣蛋.py](Array/SetMatrixZeroes.py) +* - [洗牌.py](Array/ShuffleAnArray.py) +* - [最大的滑动窗口.py](Array/SlidingWindowMaximum.py) +* - [根据"对er"排序数组II.py](Array/SortArrayByParityII.py) +* - [颜色颜色.py](Array/SortColors.py) +* - [螺旋矩阵II.py](Array/SpiralMatrixII.py) +* - [等于K的子数组.py](Array/SubarraySumEqualsK.py) +* - [三角.py](Array/Triangle.py) +* - [单词子集.py](Array/WordSubsets.py) + +## [回溯](Backtracking/) +* - [生成括号.py](Backtracking/GenerateParentheses.py) +* - [子集.py](Backtracking/subsets.py) ## [广度优先搜索](BFS/) * - [树中最靠近左下的节点的值.py](BFS/FindBottomLeftTreeValue.py) @@ -60,14 +101,17 @@ * - [二叉树层级遍历II.py](BFS/BinaryTreeLevelOrderTraversalII.py) * - [二叉树层级 Zigzag 遍历.py](BFS/BinaryTreeZigzagLevelOrderTraversal.py) * - [二叉树的最大深度.py](BFS/MaximumDepthOfBinaryTree.py) +* - [单词阶梯.py](BFS/WordLadder.py) ## [设计类](Design/) * - [LRU 缓存设计.py](Design/LRUCache.py) * - [RLE 迭代器.py](Design/RLEIterator.py) +* - [O(1)复杂度的插入删除和取随机容器.py](Design/InsertDeleteGetRandomO(1).py) ## [深度优先搜索](DFS/) * - [路径和.py](DFS/PathSum.py) * - [词搜索.py](DFS/WordSearch.py) +* - [词搜索II.py](DFS/WordSearchII.py) ## [动态规划](DP/) * - [交错的字符串.py](DP/InterleavingString.py) @@ -83,21 +127,33 @@ * - [挑卡片.py](DP/PickCards.py) * - [唯一路径.py](DP/UniquePath.py) * - [唯一路径II.py](DP/UniquePathII.py) +* - [爬楼.py](DP/ClimbingStairs.py) +* - [解码方式.py](DP/DecodeWays.py) +* - [在某字符串中找到所有的变位词.py](DP/FindAllAnagramsInAString.py) +* - [转换字符串到单调递增.py](DP/FlipStringToMonotoneIncreasing.py) +* - [小于K的子数组积.py](DP/SubarrayProductLessThanK.py) +* - [单词中断处.py](DP/WordBreak.py) ## [堆](Heap/) * - [排序矩阵中第k小个元素.py](Heap/KthSmallestElementInASortedMatrix.py) * - [合并K个已排序过的链表.py](Heap/MergeKSortedLists.py) +* - [从数据流中找中位数.py](Heap/FindMedianFromDataStream.py) ## [排序](Sorted/) * - [选择,插入,快排,归并](Sorted/sotred.py) +* - [排序列表.py](Sorted/SortList.py) +* - [奇怪的排序II.py](Sorted/WiggleSortII.py) ## [纯数字问题](Number/) * - [两数相除.py](Number/DivideTwoIntegers.py) +* - [Sqrt(x).py](Number/Sqrt(x).py) ## [栈](Stack/) * - [可取最小值的栈.py](Stack/GetMinStack.py) * - [使用栈模拟队列.py](Stack/ImplementQueueUsingStack.py) * - [使用递归翻转栈.py](Stack/ReverseAStackByRecursive.py) +* - [直方图中最大的矩形.py](Stack/LargestRectangleInHistogram.py) +* - [收集雨水.py](Stack/TrappingRainWater.py) ## [字符串](String/) * - [找到可被模板替换的字符串.py](String/FindAndReplacePattern.py) @@ -121,6 +177,16 @@ * - [翻转字符串.py](String/ReverseString.py) * - [转换至小写.py](String/ToLowerCase.py) * - [词模板.py](String/WordPattern.py) +* - [字符串中最先出现的唯一字符.py](String/FirstUniqueCharacterInAString.py) +* - [长印刷名字.py](String/LongPressedName.py) +* - [使括号有效的最小添加数.py](String/MinimumAddToMakeParenthesesValid.py) +* - [字符串中的全排列.py](String/PermutationInString.py) +* - [转换单词.py](String/ShiftingLetters.py) +* - [简化路径.py](String/SimplifyPath.py) +* - [根据频率排序字符.py](String/SortCharactersByFrequency.py) +* - [独一无二的邮箱地址.py](String/UniqueEmailAddresses.py) +* - [有效变位词.py](String/ValidAnagram.py) +* - [有效回文字符串.py](String/ValidPalindrome.py) ## [树](Tree/) * - [根据前序和后序的结果生成二叉树.py](Tree/ConstructBinaryTreeFromPreorderAndPostorderTraversal.py) @@ -134,4 +200,14 @@ * - [“结”构与解构.py](Tree/serializeAndDeserialize.py) * - [根到叶的和.py](Tree/SumRootToLeafNumbers.py) * - [字典树.py](Tree/Trie.py) - +* - [所有可能的满二叉树.py](Tree/AllPossibleFullBinaryTree.py) +* - [右边视角的二叉树.py](Tree/BinaryTreeRightSideView.py) +* - [完整二叉树插入.py](Tree/CompleteBinaryTreeInserter.py) +* - [根据中序和后序遍历结果中构建二叉树.py](Tree/ConstructBinaryTreeFromInorderAndPostorderTraversal.py) +* - [根据前序和中序遍历结果中构建二叉树.py](Tree/ConstructBinaryTreeFromPreorderAndInorderTraversal.py) +* - [一只二叉搜索树中第k小个数.py](Tree/KthSmallestElementInABST.py) +* - [二叉搜索树中最小公共祖先.py](Tree/LowestCommonAncestorOfABinarySearchTree.py) +* - [二叉树中最小公共祖先.py](Tree/LowestCommonAncestorOfABinaryTree.py) +* - [为每个节点指定下一个右边指向.py](Tree/PopulatingNextRightPointersInEachNode.py) +* - [为每个节点指定下一个右边指向II.py](Tree/PopulatingNextRightPointersInEachNodeII.py) +* - [“结”构与解构二叉树.py](Tree/SerializeAndDeserializeBinaryTree.py)