# leetCode
**Repository Path**: smcpy/leetCode
## Basic Information
- **Project Name**: leetCode
- **Description**: :pencil2: 算法相关知识储备 LeetCode with Python :books:
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-04-16
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
算法知识储备 Leetcode with Python
## [数组(及其相关结构)](Array/)
* - [可容纳最多水的一组容器.py](Array/ContainerWithMostWater.py)
* - [糖果公平交换.py](Array/FairCandySwap.py)
* - [已排序的数组中找到第一和最后一个元素.py](Array/FindFirstAndLastPositionOfElementInSortedArray.py)
* - [旋转过的排序数组中找到最小的元素.py](Array/FindMinimumInRotatedSortedArray.py)
* - [旋转过的排序数组中找到最小的元素II.py](Array/FindMinimumInRotatedSortedArrayII.py)
* - [足球粉儿~.py](Array/FootballFans.py)
* - [水果分到篮子里.py](Array/FruitIntoBaskets.py)
* - [三连递增的子序列.py](Array/IncreasingTripletSubsequence.py)
* - [插入间隔.py](Array/InsertInterval.py)
* - [能组合成的最大的数.py](Array/LargestNumber.py)
* - [最长的连续子序列.py](Array/LongestConsecutiveSequence.py)
* - [岛屿的最大区域.py](Array/MaxAreaOfIsland.py)
* - [相乘最大的子数组.py](Array/MaximumProductSubarray.py)
* - [最大的子数组.py](Array/MaximumSubarray.py)
* - [合并数组.py](Array/MergeArray.py)
* - [丢失的数字.py](Array/MissingNumber.py)
* - [岛屿的数量.py](Array/NumberOfIslands.py)
* - [数组中除自己外的相乘.py](Array/ProductOfArrayExceptSelf.py)
* - [从链表尾中删除第N个节点.py](Array/RemoveNthNodeFromEndOfList.py)
* - [从旋转过的排序数组中搜索某数.py](Array/SearchInRotatedSortedArray.py)
* - [从旋转过的排序数组中搜索某数II.py](Array/SearchInRotatedSortedArrayII.py)
* - [落单的数.py](Array/SingleNumber.py)
* - [以数对为基准排序.py](Array/SortArrayByParity.py)
* - [螺旋矩阵.py](Array/SpiralMatrix.py)
* - [子数组合中最小的一个.py](Array/SumOfSubarrayMinimums.py)
* - [3D图形的表面区域.py](Array/SurfaceAreaOf3DShapes.py)
* - [被包围的区域.py](Array/SurroundedRegions.py)
* - [两个链表相加II.py](Array/AddTowNumbersII.py)
* - [两个链表相加.py](Array/AddTwoNumbers.py)
* - [两个链表相交点.py](Array/IntersectionOfTwoLinkedLists.py)
* - [数组中第k大个元素.py](Array/KthLargestElementInAnArray.py)
* - [链表中的环.py](Array/LinkedListCycle.py)
* - [保持当前城市天际线的最大可增加能容量.py](Array/max_increase_to_keep_city_skyline.py)
* - [两个排序后的列表的中位数.py](Array/MedianOfTwoSorted.py)
* - [合并两个排序过的列表.py](Array/MergerTwoSortedList.py)
* - [合并排序的数组.py](Array/MergeSortedArray.py)
* - [两个列表的(相同部分)最小索引和.py](Array/MinimumIndexSumOfTwoLists.py)
* - [翻转对.py](Array/ReversePairs.py)
* - [2D矩阵搜索.py](Array/Search2DMatrix.py)
* - [2D矩阵搜索II.py](Array/Search2DMatrixII.py)
* - [第三大的数.py](Array/ThirdMaximumNumbers.py)
* - [3数相加.py](Array/ThreeSum.py)
* - [最频繁的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'sTriangleI_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)
* - [二叉树层级遍历.py](BFS/BinaryTreeLevelOrderTraversal.py)
* - [二叉树层级遍历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)
* - [最长的子序列.py](DP/longesSubsequence.py)
* - [子数组的或运算.py](DP/BitwiseORsOfSubarray.py)
* - [交换硬币.py](DP/CoinChange.py)
* - [江洋大盗.py](DP/HouseRobber.py)
* - [江洋大盗II.py](DP/HouseRobberII.py)
* - [最长的连续递增子序列.py](DP/LongestContinuousIncreasingSubsequence.py)
* - [A子数组中的最大比B子数组中最小要小的子数组.py](DP/MaxASubarrayLessThanMinBSubarray.py)
* - [最大长度的数对链.py](DP/MaximumLengthOfPairChain.py)
* - [最长增长子序列的个数.py](DP/NumberofLongestIncreasingSubsequence.py)
* - [挑卡片.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)
* - [电话号码排列组合.py](String/LetterCombinationsOfAPhoneNumber.py)
* - [最长的公共前缀.py](String/LongestCommonPrefix.py)
* - [最小窗口子字符串.py](String/MinimumWindowSubstring.py)
* - [翻转整数.py](String/ReverseInteger.py)
* - [字符串->整数.py](String/StringToInteger.py)
* - [有效的数字.py](String/ValidNumber.py)
* - [有效的括号.py](String/ValidParentheses.py)
* - [大写侦查.py](String/DetectCapital.py)
* - [汉明距离.py](String/HammingDistance.py)
* - [实现StrStr().py](String/ImplementStrStr().py)
* - [同结构字符串.py](String/IsomorphicStrings.py)
* - [Jewels和Stones.py](String/JewelsAndStones.py)
* - [最末单词的长度.py](String/LengthOfLastWord.py)
* - [最长的子字符串.py](String/LongesSubstrings.py)
* - [最长的回文子字符串.py](String/LongestPalindromicSubstrings.py)
* - [字符串中的分段数量.py](String/NumberOfSegmentsInString.py)
* - [替换词.py](String/ReplaceWords.py)
* - [翻转字符串.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)
* - [转换已排序的数组到二叉搜索树.py](Tree/ConvertSortedArrayToBinarySearchTree.py)
* - [转换已排序的链表到二叉搜索树.py](Tree/ConvertSortedListToBinarySearchTree.py)
* - [镜像树.py](Tree/SymmetricTree.py)
* - [有效的二叉搜索树.py](Tree/ValidateBinarySearchTree.py)
* - [二叉搜索树.py](Tree/BinarySearchTree.py)
* - [二叉树的最大路径和.py](Tree/BinaryTreeMaximumPathSum.py)
* - [路径和II.py](Tree/PathSumII.py)
* - [“结”构与解构.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)