Skip to content

Qasak/Algorithm-with-JAVA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm-with-JAVA

about 1000 leetcode problems

├── Basic
│   ├── Sort
│   │   ├── Code_00_BubbleSort.java
│   │   ├── Code_01_InsertionSort.java
│   │   ├── Code_02_SelectionSort.java
│   │   ├── Code_03_HeapSort.java
│   │   ├── Code_04_QuickSort.java
│   │   ├── Code_05_MergeSort.java
│   │   ├── Code_06_BucketSort.java
│   │   ├── Code_07_RadixSort.java
│   │   ├── Q1122_RelativeSort.java
│   │   ├── Q215.java
│   │   ├── Q315_MergeSort.java
│   │   ├── Q327_CountRangeSum.java
│   │   ├── Q51_ReversePair.java
│   │   ├── Q912_Sort.java
│   │   ├── Q_快排简洁版.java
│   │   ├── QuickSort.java
│   │   ├── ReversPairs_51.java
│   │   └── ReversePairs_493.java
│   ├── template
│   │   ├── Array
│   │   │   ├── Q1232_PointLine.java
│   │   │   ├── Q15_ThressSum.java
│   │   │   ├── Q163_FindMissingRanges.java
│   │   │   ├── Q186_ReverseWords.java
│   │   │   ├── Q189_Rotate.java
│   │   │   ├── Q628_MaxProdThree.java
│   │   │   └── Q655_NonDecrease.java
│   │   ├── Axis
│   │   │   └── Q1584_MinConnCost.java
│   │   ├── BIT
│   │   │   ├── Q1649_CreateSortedArr.java
│   │   │   ├── Q307_BIT_API.java
│   │   │   ├── Q315_BIT.java
│   │   │   ├── Q315_CountSmaller.java
│   │   │   ├── Q327_CountRangeSum.java
│   │   │   └── Q493_ReversePairs.java
│   │   ├── BackTracking
│   │   │   ├── Q131_分割回文串.java
│   │   │   ├── Q139_WordBreak.java
│   │   │   ├── Q140_WordBreakII.java
│   │   │   ├── Q1718_.java
│   │   │   ├── Q212_单词搜索2.java
│   │   │   ├── Q267_PalindromePermute.java
│   │   │   ├── Q282_给表达式添加运算符.java
│   │   │   ├── Q31_NextPermute.java
│   │   │   ├── Q320_GenerateWord.java
│   │   │   ├── Q37_解数独.java
│   │   │   ├── Q39_CombinationSum.java
│   │   │   ├── Q40_CombinationSumII.java
│   │   │   ├── Q46_FullPermute.java
│   │   │   ├── Q46_全排列.java
│   │   │   ├── Q472_ConcatentedWords.java
│   │   │   ├── Q47_FullPermute.java
│   │   │   ├── Q51_EightQueens.java
│   │   │   ├── Q51_EightQueens1.java
│   │   │   ├── Q51_N皇后.java
│   │   │   ├── Q52_N皇后.java
│   │   │   ├── Q63_不同路径2.java
│   │   │   ├── Q78_SubSet.java
│   │   │   ├── Q89_GrayCode.java
│   │   │   ├── Q90_SubSet2.java
│   │   │   ├── Q93_复原IP地址.java
│   │   │   ├── Q980_不同路径3.java
│   │   │   ├── Q996_NumSquare.java
│   │   │   └── SplitIntoFibo_842.java
│   │   ├── BinCalc
│   │   │   ├── Q1018_PrefixDiv5.java
│   │   │   ├── Q190_颠倒二进制位.java
│   │   │   ├── Q338_bitCount.java
│   │   │   ├── Q461_汉明距离.java
│   │   │   ├── Q693_交替位二进制数.java
│   │   │   ├── Q751_IP到CIDR.java
│   │   │   ├── Q762_二进制中质数个计算置位.java
│   │   │   └── test.java
│   │   ├── BinSearch
│   │   │   ├── Q1060.java
│   │   │   ├── Q1539_KthPositive.java
│   │   │   ├── Q1552.java
│   │   │   ├── Q1739_MinBox.java
│   │   │   ├── Q174_MinimumHP.java
│   │   │   ├── Q209_MinSubArrayLen.java
│   │   │   ├── Q275.java
│   │   │   ├── Q278_firstBadVersion.java
│   │   │   ├── Q287_FindDuplicate.java
│   │   │   ├── Q315_CountSmaller.java
│   │   │   ├── Q33_Search.java
│   │   │   ├── Q352_SummaryRanges.java
│   │   │   ├── Q363_MaxSubMatrix.java
│   │   │   ├── Q436_FindRightInterval.java
│   │   │   ├── Q4_FindMedian.java
│   │   │   ├── Q50_Pow.java
│   │   │   ├── Q51O_ReversePair.java
│   │   │   ├── Q5643_WaysToSplit.java
│   │   │   ├── Q5678.java
│   │   │   ├── Q668.java
│   │   │   ├── Q69_Sqrt.java
│   │   │   ├── Q713_SubProd.java
│   │   │   ├── Q718_FindLength.java
│   │   │   ├── Q74_SearchMatrix.java
│   │   │   └── Q81_SearchII.java
│   │   ├── Brutal
│   │   │   ├── Q1307_口算难题.java
│   │   │   └── Q5690.java
│   │   ├── DP
│   │   │   ├── Array
│   │   │   │   ├── Q198_RobI.java
│   │   │   │   ├── Q309_StockWithFreeze.java
│   │   │   │   ├── Q376_WiggleArr.java
│   │   │   │   └── Q978_MaxTurbulenceArr.java
│   │   │   ├── Coins_08_11.java
│   │   │   ├── Dungeon
│   │   │   │   ├── Q174_Dungeon.java
│   │   │   │   ├── Q64_MinPathSum.java
│   │   │   │   └── Q714_CherryPick.java
│   │   │   ├── EggDrop_887.java
│   │   │   ├── Interval
│   │   │   │   ├── Stone_VII.java
│   │   │   │   └── _486.java
│   │   │   ├── Jump
│   │   │   │   ├── Q1306_JumpIII.java
│   │   │   │   ├── Q1340_maxJump.java
│   │   │   │   ├── Q45_JumpII.java
│   │   │   │   └── Q55_CanJump.java
│   │   │   ├── LCS
│   │   │   │   ├── CommonSubSequence.java
│   │   │   │   ├── CommonSubString.java
│   │   │   │   └── Q718_FindLength.java
│   │   │   ├── MaxSubArr
│   │   │   │   ├── Q152_MaxProduct.java
│   │   │   │   └── Q53_MaxSubArr.java
│   │   │   ├── MaximalSquare.java
│   │   │   ├── Pack
│   │   │   │   ├── Canpartition_416.java
│   │   │   │   ├── CoinChange_322.java
│   │   │   │   ├── PackComplete.java
│   │   │   │   ├── Pack_01.java
│   │   │   │   └── TargetSum_494.java
│   │   │   ├── Q10_正则表达式匹配.java
│   │   │   ├── Q1143_LCS.java
│   │   │   ├── Q115_不同的子序列.java
│   │   │   ├── Q131_分割回文串.java
│   │   │   ├── Q131_分割回文串_DP预处理.java
│   │   │   ├── Q132_分割回文串2.java
│   │   │   ├── Q152_乘积最大子数组.java
│   │   │   ├── Q17_16_按摩师.java
│   │   │   ├── Q233_数字1的个数.java
│   │   │   ├── Q300_LIS.java
│   │   │   ├── Q300_LongestIncreseSubsequence.java
│   │   │   ├── Q337_打家劫舍3_树上DP.java
│   │   │   ├── Q354_Envelops_LIS.java
│   │   │   ├── Q357_计算各位数不同的数字个数_数位DP.java
│   │   │   ├── Q44_通配符匹配.java
│   │   │   ├── Q494_目标和_背包问题.java
│   │   │   ├── Q53_最大子序和.java
│   │   │   ├── Q5687_执行乘法运算的最大分数.java
│   │   │   ├── Q583_LCS.java
│   │   │   ├── Q62_不同路径.java
│   │   │   ├── Q639_解码方法2.java
│   │   │   ├── Q63_不同路径2.java
│   │   │   ├── Q64_最小路径和.java
│   │   │   ├── Q70跳台阶.java
│   │   │   ├── Q712.java
│   │   │   ├── Q72_编辑距离.java
│   │   │   ├── Q91_解码方法.java
│   │   │   ├── Q_01背包问题.java
│   │   │   ├── Q_完全背包问题.java
│   │   │   ├── Rectangle
│   │   │   │   ├── Q1277_CountSquare.java
│   │   │   │   ├── Q1504_NumSubMat.java
│   │   │   │   ├── Q5655_SubMatrixSort.java
│   │   │   │   └── Q85_MaxRectangle.java
│   │   │   ├── Schedule
│   │   │   │   └── Q1235_.java
│   │   │   ├── Stage
│   │   │   │   ├── Q70_WaysToClimb.java
│   │   │   │   └── Q746_MinCostClimbing.java
│   │   │   ├── StateCompress
│   │   │   │   ├── Q1617_SubGraph.java
│   │   │   │   ├── Q1655_CanDistribute.java
│   │   │   │   ├── Q1681_MinIncompability.java
│   │   │   │   ├── Q1723_MinimumTimeRequired.java
│   │   │   │   └── Q943_ShortestSuperString.java
│   │   │   ├── Stone
│   │   │   │   └── Q1563_StoneGameV.java
│   │   │   ├── String
│   │   │   │   └── Q32_LongestValidParenthese.java
│   │   │   ├── UniquePaths_62.java
│   │   │   ├── WordBreak_139.java
│   │   │   ├── minimumIncompatibility_5619.java
│   │   │   ├── stock
│   │   │   │   ├── Q121_StockI.java
│   │   │   │   ├── Q122_StockII.java
│   │   │   │   ├── Q123_StockIII.java
│   │   │   │   ├── Q188_StockIV.java
│   │   │   │   ├── Q689_MaxSumOfThreeSubarrays.java
│   │   │   │   └── Q714_StockWithFee.java
│   │   │   └── 树型DP
│   │   │       └── LCP34_二叉树染色.java
│   │   ├── Design
│   │   │   ├── Q146_LRU.java
│   │   │   ├── Q460_LFU.java
│   │   │   ├── Q705_HashSet.java
│   │   │   ├── Q705_设计HashMap_红黑树.java
│   │   │   ├── Q705_设计哈希集合.java
│   │   │   └── Q706_设计HashMap.java
│   │   ├── Double
│   │   │   └── Q1232.java
│   │   ├── DoublePtr
│   │   │   ├── Q1099_TwoSumLesss.java
│   │   │   ├── Q15_ThreeSum.java
│   │   │   ├── Q16_ThreeSumCloest.java
│   │   │   ├── Q18_FourSum.java
│   │   │   └── Q524_通过删除字母匹配字典里最长单词.java
│   │   ├── Engineer
│   │   │   └── Q1152_MostVisitedPattern.java
│   │   ├── Enumerate
│   │   │   └── Q1733.java
│   │   ├── Expression
│   │   │   ├── Q0809_GenerateParenthesis.java
│   │   │   ├── Q1106_ParseBoolExpr.java
│   │   │   ├── Q1111_MaxDepthAfterSplit.java
│   │   │   ├── Q19_Regex.java
│   │   │   ├── Q439_ParseTernary.java
│   │   │   ├── Q736_LispEvaluate.java
│   │   │   ├── Q736_offcial.java
│   │   │   └── Q772_基本计算器3.java
│   │   ├── Graph
│   │   │   ├── BFS
│   │   │   │   ├── Q310.java
│   │   │   │   └── Q5665_RestoreArray.java
│   │   │   ├── Dijkstra
│   │   │   │   ├── Q1631_MinEffortPath.java
│   │   │   │   ├── Q5669_从第一个节点出发到最后一个节点的受限路径数.java
│   │   │   │   ├── Q743_.java
│   │   │   │   ├── Q778_swimInWater.java
│   │   │   │   └── Q787.java
│   │   │   ├── Floyd
│   │   │   │   └── Q743.java
│   │   │   ├── Q1202.java
│   │   │   ├── Q130.java
│   │   │   ├── Q1319.java
│   │   │   ├── Q1579.java
│   │   │   ├── Q1631.java
│   │   │   ├── Q399_Devide.java
│   │   │   ├── Q547_FindCircleNum.java
│   │   │   ├── Q684_.java
│   │   │   ├── Q721.java
│   │   │   ├── Q778.java
│   │   │   ├── Q803.java
│   │   │   ├── Q947.java
│   │   │   ├── Q959.java
│   │   │   ├── Q990_EquationsPossible.java
│   │   │   ├── SPFA
│   │   │   │   └── Q743_.java
│   │   │   ├── SpanningTree
│   │   │   │   └── Q1489_CriticalEdges.java
│   │   │   └── Topology
│   │   │       ├── Q1203_Topology.java
│   │   │       ├── Q207_ClassTableI.java
│   │   │       ├── Q210_ClassTableII.java
│   │   │       ├── Q269_AlienOrder.java
│   │   │       ├── Q329_LongestTopoPath.java
│   │   │       ├── Q444_ReconstructinoSeq.java
│   │   │       └── Q630_ClassTableIII.java
│   │   ├── Greedy
│   │   │   ├── CutToSubsequence_659.java
│   │   │   ├── Q135_Candy.java
│   │   │   ├── Q252_会议室.java
│   │   │   ├── Q253_会议室2.java
│   │   │   ├── Q45_JumpGame.java
│   │   │   ├── Q45_跳跃游戏2.java
│   │   │   ├── Q55_跳跃游戏.java
│   │   │   ├── Q5703_最大平均通过率.java
│   │   │   ├── Q57_插入区间.java
│   │   │   ├── Q58_区间合并.java
│   │   │   ├── ReverseRectangle_861.java
│   │   │   └── Task_621.java
│   │   ├── Grid
│   │   │   └── Q807_SkyLine.java
│   │   ├── Hash
│   │   │   ├── Q1044_LongestDupSubstring.java
│   │   │   ├── Q1178.java
│   │   │   ├── Q16_14_BestLine.java
│   │   │   ├── Q178_RepeatedDNA.java
│   │   │   ├── Q205_isIsomorphic.java
│   │   │   ├── Q290_WordPattern.java
│   │   │   ├── Q325_MaxSubArrLen.java
│   │   │   ├── Q325_MaxSubArrayLen.java
│   │   │   ├── Q356_IsReflected.java
│   │   │   ├── Q399_Divide.java
│   │   │   ├── Q442_FindDuplicate.java
│   │   │   ├── Q500_KeyBoard.java
│   │   │   ├── Q5243_Prod.java
│   │   │   ├── Q525_FindMaxLength.java
│   │   │   ├── Q5642_CountPairs.java
│   │   │   ├── Q632_SmallestRange.java
│   │   │   ├── Q697_ShortestArrLen.java
│   │   │   ├── Q734_SimilarSentence.java
│   │   │   ├── Q737_SimilarSentenceII.java
│   │   │   ├── Q781_Rabbit.java
│   │   │   └── Q819_最常见的单词.java
│   │   ├── Intervals
│   │   │   ├── Q435_EraseOverlapIntervals.java
│   │   │   └── Q452_Balloon.java
│   │   ├── LinkList
│   │   │   ├── Q142.java
│   │   │   ├── Q146.java
│   │   │   ├── Q146_LinkedHashMap.java
│   │   │   ├── Q160.java
│   │   │   ├── Q206.java
│   │   │   ├── Q24O_Reverse.java
│   │   │   ├── Q24_SwapPair.java
│   │   │   ├── Q25_K个一组反转链表.java
│   │   │   ├── Q25_ReverseKGroup.java
│   │   │   ├── Q328_OddEvenList.java
│   │   │   ├── Q35O_CopyRandomList.java
│   │   │   ├── Q430_Flatten.java
│   │   │   ├── Q61_ReverseList.java
│   │   │   ├── Q725_SplitList.java
│   │   │   ├── Q86_PartitionLinkedList.java
│   │   │   ├── Q92_反转链表2.java
│   │   │   └── Q_链表中的两数相加.java
│   │   ├── Math
│   │   │   ├── CountPrime_204.java
│   │   │   ├── Q1093_大样本统计.java
│   │   │   ├── Q166_FractionToDecimal.java
│   │   │   ├── Q1735.java
│   │   │   ├── Q360_有序转化数组.java
│   │   │   ├── Q62O_Joseph.java
│   │   │   ├── Q69_平方根.java
│   │   │   └── _16_05.java
│   │   ├── MonotonousStack
│   │   │   ├── MaxNumber_321.java
│   │   │   ├── MostCompetitive_1673.java
│   │   │   ├── RemoveKdigits_402.java
│   │   │   └── Temperature_739.java
│   │   ├── PrefixSum
│   │   │   ├── Calendar_731.java
│   │   │   ├── Complementary_1674.java
│   │   │   ├── GetModifiedArray_370.java
│   │   │   ├── Q1074_NumSubmatrixTarget.java
│   │   │   ├── Q1074_元素和为目标值的子矩阵数量.java
│   │   │   ├── Q1737_MinCharacters.java
│   │   │   ├── Q1738_KLargestXorRec.java
│   │   │   ├── Q1738_找出第k大的异或坐标值.java
│   │   │   ├── Q238_ProductExceptSelf.java
│   │   │   ├── Q304_NumMatrix.java
│   │   │   ├── Q304_renew.java
│   │   │   ├── Q363_最大子矩阵.java
│   │   │   ├── Q363_矩形区域不超过K的最大数值和.java
│   │   │   ├── Q560_SubArraySum.java
│   │   │   └── Q560_和为K的子数组.java
│   │   ├── Probability
│   │   │   ├── 公交车.java
│   │   │   ├── 切三角形.java
│   │   │   ├── 双色球.java
│   │   │   ├── 小球放回.java
│   │   │   ├── 小球标记.java
│   │   │   ├── 硬币_正正反.java
│   │   │   └── 连续整数.java
│   │   ├── Random
│   │   │   ├── Q470_rand7实现rand10_拒绝采样.java
│   │   │   ├── Q478_在圆内随机生成点_拒绝采样.java
│   │   │   ├── Q497_非重叠矩形中的随机点.java
│   │   │   └── Q528_按权重随机选择.java
│   │   ├── Range
│   │   │   ├── Q303_PreSum.java
│   │   │   └── Q715_RangeModule.java
│   │   ├── Recursion
│   │   │   ├── Q17_TelNum.java
│   │   │   └── Q22_GenerateParenthesis.java
│   │   ├── Simulation
│   │   │   ├── Q1128_NumEquivDomino.java
│   │   │   ├── Q1737_MinCharacters.java
│   │   │   ├── Q2_AddList.java
│   │   │   ├── Q369_PlusOneList.java
│   │   │   ├── Q415_StringAdd.java
│   │   │   ├── Q43_StringMultiply.java
│   │   │   ├── Q445_AddListII.java
│   │   │   ├── Q468_验证IP地址.java
│   │   │   ├── Q54_GenerateMatrixI.java
│   │   │   ├── Q54_螺旋矩阵.java
│   │   │   ├── Q57插入区间.java
│   │   │   ├── Q59_生成螺旋矩阵.java
│   │   │   ├── Q605_种花问题.java
│   │   │   ├── Q66_PlusOne.java
│   │   │   ├── Q674_LengthOfLCIS.java
│   │   │   ├── Q67_BinAdd.java
│   │   │   ├── Q717_OneBitCharacter.java
│   │   │   ├── Q73_矩阵置零.java
│   │   │   ├── Q888_CandySwap.java
│   │   │   └── Q989_AddArray.java
│   │   ├── Stack
│   │   │   ├── Q1047_删除字符串中所有相邻重复项.java
│   │   │   ├── Q150_逆波兰表达式_后缀表达式.java
│   │   │   ├── Q20_brackts.java
│   │   │   ├── Q224_基本计算器.java
│   │   │   ├── Q225_用两个队列实现栈.java
│   │   │   ├── Q227_基本计算器2.java
│   │   │   ├── Q22_GenerateParenthesis.java
│   │   │   ├── Q232_两个栈实现队列.java
│   │   │   ├── Q241_为运算表达式设计优先级.java
│   │   │   ├── Q42_TrapWater.java
│   │   │   ├── Q5704_好子数组的最大分数_单调栈.java
│   │   │   ├── Q84_LargestRectangle.java
│   │   │   ├── _1541.java
│   │   │   ├── _316.java
│   │   │   ├── _402.java
│   │   │   ├── _496.java
│   │   │   ├── _581.java
│   │   │   ├── _739.java
│   │   │   └── _901.java
│   │   ├── String
│   │   │   ├── KMP.java
│   │   │   ├── Q1047_删除字符串中的相邻重复项.java
│   │   │   ├── Q125_IsPalindrome.java
│   │   │   ├── Q1278_CutPalindromesIII.java
│   │   │   ├── Q131_CutPalindromesI.java
│   │   │   ├── Q132_CutPalidromesII.java
│   │   │   ├── Q214_ShortestPalindrome.java
│   │   │   ├── Q266_CanPermutePalindrome.java
│   │   │   ├── Q267_GeneratePalindromes.java
│   │   │   ├── Q387_FirstUniq.java
│   │   │   ├── Q5666_CutPalindromesIV.java
│   │   │   ├── Q5_LongestPalindrome.java
│   │   │   ├── Q680_IsPalindromeII.java
│   │   │   └── Q748_ShortestCompleting.java
│   │   ├── SubArray
│   │   │   └── Q713_SubProd.java
│   │   ├── Tree
│   │   │   ├── BFS
│   │   │   │   └── Q1660_CorrectTree.java
│   │   │   ├── DFS
│   │   │   │   └── Q671_二叉树中第二小的节点.java
│   │   │   ├── DiameterOfBinaryTree.java
│   │   │   ├── MaxPathSum_124.java
│   │   │   ├── Q102_levelOrder.java
│   │   │   ├── Q103_LevelOrder.java
│   │   │   ├── Q108.java
│   │   │   ├── Q109.java
│   │   │   ├── Q112_路径总和.java
│   │   │   ├── Q113_路径总和2.java
│   │   │   ├── Q124_二叉树最大路径和.java
│   │   │   ├── Q1257.java
│   │   │   ├── Q1382.java
│   │   │   ├── Q144_PreOrder.java
│   │   │   ├── Q145_PostOrder.java
│   │   │   ├── Q199_right.java
│   │   │   ├── Q235_BST_LCA.java
│   │   │   ├── Q236_LCA.java
│   │   │   ├── Q241.java
│   │   │   ├── Q257_二叉树的所有路径.java
│   │   │   ├── Q297_序列化二叉树.java
│   │   │   ├── Q331_验证二叉树前序序列化.java
│   │   │   ├── Q437_路径总和3.java
│   │   │   ├── Q543_二叉树的直径.java
│   │   │   ├── Q589.java
│   │   │   ├── Q590.java
│   │   │   ├── Q666_路径总和4.java
│   │   │   ├── Q94.java
│   │   │   ├── Q95.java
│   │   │   ├── Q96.java
│   │   │   ├── Q98.java
│   │   │   ├── Q99.java
│   │   │   ├── SumOfTree
│   │   │   │   └── Q663_HalfSum.java
│   │   │   └── TreeNode.java
│   │   ├── Trie
│   │   │   ├── Q208_实现Trie前缀树.java
│   │   │   ├── Q421_数组中两个数的最大异或值.java
│   │   │   └── Q720_词典中的最长单词.java
│   │   ├── UnionFind
│   │   │   ├── Q1220_StringSwap.java
│   │   │   ├── Q1319_MakeConnected.java
│   │   │   ├── Q1579_MaxNumEdgesRemove.java
│   │   │   ├── Q1584_MinConnCost.java
│   │   │   ├── Q547_FindCircleNum.java
│   │   │   ├── Q5632_PathLimited.java
│   │   │   ├── Q5650_MinHammingDistance.java
│   │   │   ├── Q684_RedundantConn.java
│   │   │   ├── Q685_RedundantConnII.java
│   │   │   ├── Q721_AccountMerge.java
│   │   │   ├── Q765.java
│   │   │   ├── Q803_HitBrick.java
│   │   │   ├── Q839_SimilarStringGroup.java
│   │   │   ├── Q947_RemoveStones.java
│   │   │   └── Q959_RegionsBySlash.java
│   │   ├── Window
│   │   │   ├── Contest220_B.java
│   │   │   ├── Q1004.java
│   │   │   ├── Q1004_LongestOnesIII.java
│   │   │   ├── Q1052.java
│   │   │   ├── Q1208_EqualSubstring.java
│   │   │   ├── Q1358.java
│   │   │   ├── Q1423_MaxScore.java
│   │   │   ├── Q1438.java
│   │   │   ├── Q1493_LongsetSubarr.java
│   │   │   ├── Q159_LengthOfLongestSubstringTwoDistinct.java
│   │   │   ├── Q209_MinSubArrayLen.java
│   │   │   ├── Q239_MaxSlidingWindow.java
│   │   │   ├── Q340_.java
│   │   │   ├── Q376_UpDownArr.java
│   │   │   ├── Q395_.java
│   │   │   ├── Q395_LongestSubstring.java
│   │   │   ├── Q3_LengthOfLongestSubstring.java
│   │   │   ├── Q424_CharacterReplaceRepeat.java
│   │   │   ├── Q480_MedianSlidingWindow.java
│   │   │   ├── Q567_CheckInclusion.java
│   │   │   ├── Q643_FindMaxAverage.java
│   │   │   ├── Q644_FindMaxAverageII.java
│   │   │   ├── Q697.java
│   │   │   ├── Q713_SubProd.java
│   │   │   ├── Q76_MinWindow.java
│   │   │   ├── Q978_MaxTurbulenceArr.java
│   │   │   ├── Q992_.java
│   │   │   ├── Q995.java
│   │   │   └── _48.java
│   │   ├── heap
│   │   │   └── Q5638_EatenApples.java
│   │   ├── queue
│   │   │   ├── Q1425_SubsetSum.java
│   │   │   ├── Q1792_最大平均通过率.java
│   │   │   ├── Q295_MedianFinder.java
│   │   │   ├── Q5631_jumpingGame.java
│   │   │   ├── Q5710_积压订单中的订单总数.java
│   │   │   └── _649.java
│   │   ├── 快速幂_倍增乘
│   │   │   └── Q29_两数相除.java
│   │   └── 最短路
│   │       ├── BellmanFord_NM
│   │       │   ├── Q743_网络延迟时间.java
│   │       │   └── Q787_K站中转内最便宜的航班.java
│   │       ├── Dijkstra_MLOGN
│   │       │   └── Q743_网络延迟时间.java
│   │       ├── Floyd_N3
│   │       │   └── Q743_网络延迟时间.java
│   │       └── SPFA_KM
│   │           └── Q743_网络延迟时间.java
│   ├── 二分
│   │   ├── Q1060_有序数组的缺失元素.java
│   │   └── Q_0_n-1中缺失的数字.java
│   ├── 双指针
│   │   └── Q881救生艇.java
│   ├── 回溯
│   │   └── Q797_所有可能路径.java
│   ├── 拓扑序
│   │   └── Q207_课程表.java
│   ├── 栈
│   │   └── Q85_最大矩形.java
│   ├── 概率
│   │   ├── Q用Rand7实现Rand10_拒绝采样.java
│   │   └── Q随机生成四组1_10_总和20.java
│   └── 贪心
│       └── Q31_下一个排列.java
├── New
│   ├── ACWing
│   │   ├── Q2_01背包问题.java
│   │   ├── Q3_完全背包问题.java
│   │   ├── Q801_二进制中1的个数
│   │   │   └── Main.java
│   │   ├── Q803_区间合并
│   │   │   └── Main.java
│   │   └── Q905_区间选点
│   │       └── Main.java
│   ├── ArrayAndString
│   │   ├── Q151_翻转字符串里的单词.java
│   │   ├── Q159_至多包含两个不同字符的最长子串.java
│   │   ├── Q15_三数之和.java
│   │   ├── Q165_比较版本号.java
│   │   ├── Q186_翻转字符串里的单词2.java
│   │   ├── Q189_旋转数组.java
│   │   ├── Q238_除自身以外数组的乘积.java
│   │   ├── Q239_滑动窗口最大值.java
│   │   ├── Q239_滑动窗口的最大值.java
│   │   ├── Q259_较小的三数之和.java
│   │   ├── Q26_删除有序数组中的重复项.java
│   │   ├── Q340_至多包含k个不同字符的最长子串.java
│   │   ├── Q3_无重复字符的最长子串.java
│   │   ├── Q415_字符串相加.java
│   │   ├── Q4_两个正序数组的中位数.java
│   │   └── Q80_删除有序数组中的重复项2.java
│   ├── DP
│   │   ├── Pair.java
│   │   ├── Q1000_合并石头的最低成本.java
│   │   ├── Q1014_最佳观光组合.java
│   │   ├── Q1143_最长公共子序列.java
│   │   ├── Q121_买卖股票最佳时机.java
│   │   ├── Q139_单词拆分.java
│   │   ├── Q1411_给Nx3网格涂色的方案数.java
│   │   ├── Q1563_石子游戏5.java
│   │   ├── Q1690_石子游戏7.java
│   │   ├── Q188_买卖股票的最佳时机4_K次交易.java
│   │   ├── Q198_打家劫舍.java
│   │   ├── Q213_打家劫舍2.java
│   │   ├── Q221_最大正方形.java
│   │   ├── Q256_粉刷房子.java
│   │   ├── Q265_粉刷房子2.java
│   │   ├── Q267_栅栏涂色.java
│   │   ├── Q300_最长递增子序列.java
│   │   ├── Q312_戳气球.java
│   │   ├── Q322_零钱兑换.java
│   │   ├── Q32_最长有效括号.java
│   │   ├── Q363_矩形区域不超过K的最大数值和.java
│   │   ├── Q368_最大整除子集.java
│   │   ├── Q377_组合总数4.java
│   │   ├── Q39_组合总数.java
│   │   ├── Q403_青蛙过河.java
│   │   ├── Q416_分割等和子集.java
│   │   ├── Q420_强密码检验器.java
│   │   ├── Q42_接雨水.java
│   │   ├── Q45_跳跃游戏2.java
│   │   ├── Q486_预测赢家.java
│   │   ├── Q494_目标和.java
│   │   ├── Q518_零钱兑换2.java
│   │   ├── Q53_最大子序和.java
│   │   ├── Q5_最长回文串.java
│   │   ├── Q698_划分为K个相等子集.java
│   │   ├── Q70_爬楼梯.java
│   │   ├── Q72_编辑距离.java
│   │   ├── Q84_柱状图中的最大矩形.java
│   │   ├── Q85_最大矩形.java
│   │   ├── Q87_扰乱字符串.java
│   │   ├── Q887_鸡蛋掉落.java
│   │   ├── Q91_解码方法.java
│   │   ├── Q951_翻转等价二叉树.java
│   │   ├── Q_17_24_最大子矩阵.java
│   │   └── Q_DD_英文单词拼写纠错推荐.java
│   ├── Divide
│   │   └── Q218_天际线问题.java
│   ├── Greedy
│   │   ├── Q45_跳跃游戏2.java
│   │   └── Q55_跳跃游戏.java
│   ├── Hash
│   │   ├── Q146_LRU缓存机制.java
│   │   ├── Q238_除自身以外数组的乘积.java
│   │   ├── Q560_和为K的子数组.java
│   │   └── Q974_和可被K整除的子数组.java
│   ├── HighFreq
│   │   ├── Q102_二叉树层序遍历.java
│   │   ├── Q106_中序后序构造二叉树.java
│   │   ├── Q124_二叉树最大路径和.java
│   │   ├── Q141_环形链表.java
│   │   ├── Q143_重排链表.java
│   │   ├── Q146_LRU_泛型.java
│   │   ├── Q146_LRU缓存_LinkedHashMap.java
│   │   ├── Q146_LRU缓存机制.java
│   │   ├── Q148_排序链表.java
│   │   ├── Q148_链表排序.java
│   │   ├── Q159_至多包含两个不同字符的最长子串.java
│   │   ├── Q15_三数之和.java
│   │   ├── Q160_相交链表.java
│   │   ├── Q19_删除链表的倒数第k个节点.java
│   │   ├── Q206_翻转链表.java
│   │   ├── Q210_课程表2.java
│   │   ├── Q215_数组中的第K个最大元素.java
│   │   ├── Q21_合并两个有序链表.java
│   │   ├── Q239_滑动窗口的最大值.java
│   │   ├── Q25_K个一组翻转链表.java
│   │   ├── Q283_移动零.java
│   │   ├── Q297_二叉树的序列化与反序列化.java
│   │   ├── Q2_两数相加.java
│   │   ├── Q31_下一个排列.java
│   │   ├── Q340_至多包含K个不同字符的最长子串.java
│   │   ├── Q394_字符串解码.java
│   │   ├── Q3_无重复字符的最长子串.java
│   │   ├── Q41_寻找缺失的第一个正数.java
│   │   ├── Q42_接雨水.java
│   │   ├── Q46_全排列.java
│   │   ├── Q4_两个正序数组的中位数.java
│   │   ├── Q53_最大子序和.java
│   │   ├── Q54_螺旋矩阵.java
│   │   ├── Q557_翻转字符串中的单词.java
│   │   ├── Q56_合并区间.java
│   │   ├── Q59_螺旋矩阵2.java
│   │   ├── Q5_最长回文字串.java
│   │   ├── Q64_最小路径和.java
│   │   ├── Q76_最小覆盖子串.java
│   │   ├── Q912_排序数组.java
│   │   ├── Q958_二叉树的完全性检验.java
│   │   ├── Q96_翻转链表2.java
│   │   └── old
│   │       ├── CompareVersion_165.java
│   │       ├── EggDrop_887.java
│   │       └── RestoreIp_93.java
│   ├── Interview
│   │   ├── Alibaba
│   │   │   ├── LRU.java
│   │   │   └── RedPack.java
│   │   └── meiTuan
│   │       ├── Q1_小美的用户名.java
│   │       ├── Q2_小美的仓库整理.java
│   │       ├── Q3_小美的跑腿代购.java
│   │       └── Q4_小团的复制粘贴.java
│   ├── JianZhi
│   │   ├── Q10.java
│   │   ├── Q106_LC.java
│   │   ├── Q11.java
│   │   ├── Q12.java
│   │   ├── Q13.java
│   │   ├── Q14.java
│   │   ├── Q14_1.java
│   │   ├── Q15.java
│   │   ├── Q16.java
│   │   ├── Q18.java
│   │   ├── Q3.java
│   │   ├── Q4.java
│   │   ├── Q47.java
│   │   ├── Q5.java
│   │   ├── Q51_数组中的逆序对.java
│   │   ├── Q53.java
│   │   ├── Q58.java
│   │   ├── Q59_队列的最大值.java
│   │   ├── Q6.java
│   │   ├── Q65_不用加减乘除做加法.java
│   │   ├── Q67_把字符串转换成整数.java
│   │   ├── Q68_二叉搜索树的最近公共祖先.java
│   │   ├── Q7.java
│   │   └── Q9.java
│   ├── LinkedList
│   │   ├── Q143_重排链表.java
│   │   ├── Q147_链表插入排序.java
│   │   ├── Q148_排序链表.java
│   │   ├── Q206_翻转链表.java
│   │   ├── Q21_合并两个有序链表.java
│   │   ├── Q23_合并K个升序链表.java
│   │   ├── Q25_K个一组翻转链表.java
│   │   ├── Q61_旋转链表.java
│   │   ├── Q82_删除链表中重复元素2.java
│   │   ├── Q83_删除链表中的重复元素.java
│   │   └── Q_链表排序.java
│   ├── Math
│   │   ├── Q17_06_2出现的次数.java
│   │   └── Q233_1出现的次数.java
│   ├── Mitsuha
│   │   ├── LCP
│   │   │   ├── Q03_机器人大冒险.java
│   │   │   └── Q1062_最长重复子串.java
│   │   ├── dp
│   │   │   ├── 前缀和优化DP
│   │   │   │   └── Q_访问完所有房间的第一天.java
│   │   │   ├── 区间DP
│   │   │   │   ├── Q1713_得到子序列的最少操作次数.java
│   │   │   │   ├── Q516_最长回文子序列.java
│   │   │   │   └── Q5_最长回文子串.java
│   │   │   ├── 差分数组
│   │   │   │   └── Q1109_航班预定统计.java
│   │   │   ├── 序列DP
│   │   │   │   ├── Q1035_不相交的线.java
│   │   │   │   ├── Q10_正则表达式.java
│   │   │   │   ├── Q123_买卖股票的最佳时机III.java
│   │   │   │   ├── Q309_最佳买卖股票时机含冷冻期.java
│   │   │   │   ├── Q354_俄罗斯套娃信封.java
│   │   │   │   ├── Q368_最大整除子集.java
│   │   │   │   ├── Q45_跳跃游戏.java
│   │   │   │   ├── Q673_最长递增子序列的个数.java
│   │   │   │   ├── Q714_买卖股票的最佳时机含手续费.java
│   │   │   │   ├── Q740_删除并获得点数.java
│   │   │   │   ├── Q978_最长湍流子数组.java
│   │   │   │   ├── test.java
│   │   │   │   └── 容斥原理
│   │   │   │       ├── Q1987_不同的好子序列数.java
│   │   │   │       └── Q940_不同的子序列II.java
│   │   │   ├── 拓扑序DP
│   │   │   │   └── Q5836_到达目的地的方案数.java
│   │   │   ├── 括号问题dp
│   │   │   │   └── Q678_有效的括号字符串.java
│   │   │   ├── 数位DP
│   │   │   │   ├── Q233_数字1的个数.java
│   │   │   │   └── Q600_不含连续1的个数.java
│   │   │   ├── 枚举DP
│   │   │   │   └── Q639_解码方法II.java
│   │   │   ├── 树型DP
│   │   │   │   ├── P1064_金明的预算方案_树型背包.java
│   │   │   │   ├── Q337_打家劫舍III.java
│   │   │   │   └── Q437_路径总和III.java
│   │   │   ├── 特殊性质DP
│   │   │   │   └── Q10_正则表达式.java
│   │   │   ├── 状压DP
│   │   │   │   └── 完成任务的最少工作时间段.java
│   │   │   ├── 状态机DP
│   │   │   │   ├── Q552_学生出勤记录II.java
│   │   │   │   └── Q650_只有两个键的键盘.java
│   │   │   ├── 线段树
│   │   │   │   └── Q1109_航班预定统计.java
│   │   │   ├── 背包DP
│   │   │   │   ├── Q1981_最小化目标值与所选元素的差.java
│   │   │   │   ├── Q494_目标和.java
│   │   │   │   └── 分组背包
│   │   │   │       └── T_分组背包.java
│   │   │   ├── 路径DP
│   │   │   │   └── Q576_出界的路径数.java
│   │   │   └── 递归_栈
│   │   │       └── Q394_字符串解码.java
│   │   ├── 二分
│   │   │   └── Q162_寻找峰值.java
│   │   ├── 回溯
│   │   │   ├── Q212_单词搜索ii.java
│   │   │   └── Q679_24点游戏.java
│   │   ├── 模拟
│   │   │   ├── Q1894_找到需要补充粉笔的学生编号.java
│   │   │   ├── Q524_通过删除字母匹配到字典里最长单词_跳过即删除.java
│   │   │   └── Q68_文本左右对齐.java
│   │   ├── 模拟退火
│   │   │   ├── Q1239_串联字符串的最大长度.java
│   │   │   └── Q1723. 完成所有工作的最短时间.java
│   │   ├── 贪心
│   │   │   ├── Q1221_分割平衡字符串.java
│   │   │   └── Q502_IPO.java
│   │   └── 递归
│   │       └── Q430_扁平化多级双向链表.java
│   ├── MySql
│   │   ├── Q175_组合两个表.sql
│   │   ├── Q176_第二高的工资.sql
│   │   └── Q1777_每家商店的产品价格.sql
│   ├── New
│   │   └── DP
│   │       └── Q363_矩形区域不超过K的最大数值和.java
│   ├── NewCoder
│   │   ├── ByteDance_2019
│   │   │   ├── Q1_万万没想到之聪明的编辑.java
│   │   │   ├── Q2_万万没想到之抓捕空连顺.java
│   │   │   ├── Q3_雀魂启动.java
│   │   │   ├── Q4_特征提取.java
│   │   │   ├── Q5_毕业旅行问题.java
│   │   │   ├── Q6_找零.java
│   │   │   ├── Q7_机器人跳跃.java
│   │   │   └── test.java
│   │   ├── DD_2019
│   │   │   ├── Q_Hilbert曲线.java
│   │   │   └── Q_矩阵90度旋转.java
│   │   ├── InputTest
│   │   │   └── Main.java
│   │   ├── MaxSubArr
│   │   │   └── Main.java
│   │   ├── Tencent_2020
│   │   │   └── Q1_压缩算法.java
│   │   └── Zuo
│   │       ├── CD20_打气球.java
│   │       ├── CD45_龙与地下城问题.java
│   │       └── CD64_设计LRU缓存结构.java
│   ├── NiceProblem
│   │   ├── BFS技巧
│   │   │   ├── Q403_青蛙过河.java
│   │   │   └── QJZ37_序列化二叉树.java
│   │   ├── CRUD技巧
│   │   │   ├── Q1418_点菜展示表.java
│   │   │   └── Q535_TinyURL的加密与解密.java
│   │   ├── DP技巧
│   │   │   ├── Q1690_石子游戏7.java
│   │   │   ├── Q313_超级丑数.java
│   │   │   ├── Q718_最长重复子数组.java
│   │   │   ├── 序列DP
│   │   │   │   └── Q446_等差数组划分2_子序列.java
│   │   │   └── 树型DP
│   │   │       └── LCP34_二叉树染色.java
│   │   ├── DoubleWeek50
│   │   │   ├── Q1823_找出游戏的获胜者.java
│   │   │   └── Q1824_最少侧跳次数.java
│   │   ├── DoubleWeek58
│   │   │   └── Q2检查操作是否合法.java
│   │   ├── DoubleWeek59
│   │   │   ├── Q5835_最大方阵和.java
│   │   │   └── Q5836_到达目的地的方案数.java
│   │   ├── Q1049_最后一块石头的重量.java
│   │   ├── Q114_二叉树栈开为链表.java
│   │   ├── Q1239_串联字符串的最大长度.java
│   │   ├── Q127_单词接龙.java
│   │   ├── Q1449_数位成本和为目标值的最大数字.java
│   │   ├── Q146_LRU缓存机制.java
│   │   ├── Q149_直线上最多的点.java
│   │   ├── Q1600_皇位继承顺序.java
│   │   ├── Q168_excel表列名称.java
│   │   ├── Q1712_将数组分成三个子数组的方案数.java
│   │   ├── Q1744_你能在最喜欢的那天吃到最喜欢的糖果吗.java
│   │   ├── Q1786_从第一个节点出发到最后一个节点的受限路径数.java
│   │   ├── Q209_长度最小的子数组.java
│   │   ├── Q229_求众数II.java
│   │   ├── Q279_完全平方数.java
│   │   ├── Q29_两数相除.java
│   │   ├── Q318_最大单词长度乘积.java
│   │   ├── Q31_下一个排列.java
│   │   ├── Q339_嵌套列表权重和.java
│   │   ├── Q33_搜索旋转排序数组.java
│   │   ├── Q341_扁平化嵌套列表迭代器.java
│   │   ├── Q347_前k个高频元素.java
│   │   ├── Q364_加权嵌套序列和2.java
│   │   ├── Q378_有序矩阵中第k小的元素.java
│   │   ├── Q38_JZ_字符串的排列.java
│   │   ├── Q401_二进制手表.java
│   │   ├── Q416_分割等和子集.java
│   │   ├── Q430_扁平化多级双向链表.java
│   │   ├── Q438_找到字符串中所有字母异位词.java
│   │   ├── Q474_一和零.java
│   │   ├── Q483_最小好进制.java
│   │   ├── Q486_预测赢家.java
│   │   ├── Q494_目标和.java
│   │   ├── Q503_下一个最大元素2.java
│   │   ├── Q50_Pow.java
│   │   ├── Q523_连续的子数组和.java
│   │   ├── Q525_连续数组.java
│   │   ├── Q565_数组嵌套.java
│   │   ├── Q5776_判断矩阵经过轮转后是否一致.java
│   │   ├── Q5778_使二进制字符串字符交替的最少反转次数.java
│   │   ├── Q581_最短无序连续子数组.java
│   │   ├── Q65_有效数字.java
│   │   ├── Q668_乘法表中第k小的数字.java
│   │   ├── Q739_每日温度.java
│   │   ├── Q752_打开转盘锁.java
│   │   ├── Q773_滑动谜题.java
│   │   ├── Q77_组合.java
│   │   ├── Q815_公交路线.java
│   │   ├── Q852_山脉数组的峰顶索引.java
│   │   ├── Q877_石子游戏.java
│   │   ├── Q879_盈利计划.java
│   │   ├── Q885_螺旋矩阵3.java
│   │   ├── Q909_蛇梯棋.java
│   │   ├── QLCP07_传递信息.java
│   │   ├── Ranking2200
│   │   │   ├── Tree
│   │   │   │   └── Q1948_删除系统中的重复文件夹.java
│   │   │   └── 二分
│   │   │       └── Q1889_装包裹的最小浪费空间.java
│   │   ├── Rating1400
│   │   │   ├── DP
│   │   │   │   └── Q978_最长湍流子数组.java
│   │   │   └── 滑动窗口
│   │   │       └── Q978_最长湍流子数组.java
│   │   ├── Rating1500
│   │   │   └── BFS
│   │   │       └── Q1743_从相邻元素还原数组.java
│   │   ├── Rating1600
│   │   │   ├── Q1123_最深叶节点的最近公共祖先.java
│   │   │   ├── Q1169_查询无效交易.java
│   │   │   ├── Q1573_分割字符串的方案数.java
│   │   │   ├── 曼哈顿距离
│   │   │   │   └── Q789_逃脱阻碍者.java
│   │   │   └── 树
│   │   │       ├── Q863_二叉树中所有距离为K的节点.java
│   │   │       └── Q987_二叉树的垂序遍历.java
│   │   ├── Rating1700
│   │   │   ├── DFS
│   │   │   │   └── Q1774_最接近目标价格的甜点成本.java
│   │   │   ├── Q1017_负二进制转换.java
│   │   │   ├── Q1145_二叉树着色游戏.java
│   │   │   ├── Q1216_验证回文字符串3.java
│   │   │   ├── Q889_根据前序和后序遍历构造二叉树.java
│   │   │   ├── Q923_三数之和的多种可能.java
│   │   │   ├── Q939_最小面积矩形.java
│   │   │   ├── Q948_令牌放置.java
│   │   │   └── Tree
│   │   │       ├── Q1145_二叉树着色游戏.java
│   │   │       └── Q979_二叉树中分配硬币.java
│   │   ├── Rating1800
│   │   │   ├── BFS
│   │   │   │   ├── Q1345_跳跃游戏4.java
│   │   │   │   ├── Q1377_T秒后青蛙的位置.java
│   │   │   │   └── Q934_最短的桥.java
│   │   │   ├── DP
│   │   │   │   ├── Q1230_抛掷硬币.java
│   │   │   │   └── Q795_区间子数组个数.java
│   │   │   ├── Q1035_不相交的线.java
│   │   │   ├── Q1073_负二进制数相加.java
│   │   │   ├── Q1080_根到叶路径上的不足节点.java
│   │   │   ├── Q1095_山脉数组中查找目标值.java
│   │   │   ├── Q1230_抛掷硬币.java
│   │   │   ├── Q1284_转化为全零矩阵的最少反转次数.java
│   │   │   ├── Q1298_你能从盒子里获得的最大糖果数.java
│   │   │   ├── Q1316_不同的循环子字符串.java
│   │   │   ├── Q1345_跳跃游戏4.java
│   │   │   ├── Q1363_形成3的最大倍数.java
│   │   │   ├── Q1377_T秒后青蛙的位置.java
│   │   │   ├── Q1405_最长快乐字符串.java
│   │   │   ├── Q1411_给Nx3网格图涂色的方案数.java
│   │   │   ├── Q1458_两个子序列的最大点积.java
│   │   │   ├── Q1504_统计全1子矩形.java
│   │   │   ├── Q1519_子树中标签相同的节点数.java
│   │   │   ├── Q1559_二位网格图中探测环.java
│   │   │   ├── Q1594_矩阵的最大非负积.java
│   │   │   ├── Q1658_将x减到0的最小操作数.java
│   │   │   ├── Q1673_找出最有竞争力的子序列.java
│   │   │   ├── Q1702_修改后的最大二进制字符串.java
│   │   │   ├── Q1754_构造字典序最大的合并字符串.java
│   │   │   ├── Q1792_最大平均通过率.java
│   │   │   ├── Q1834_单线程CPU.java
│   │   │   ├── Q1835_所有数对按位与结果的异或和.java
│   │   │   ├── Q773_滑动谜题.java
│   │   │   ├── Q776_拆分二叉搜索树.java
│   │   │   ├── Q790_多米诺和托米诺平铺.java
│   │   │   ├── Q795_区间子数组个数.java
│   │   │   ├── Q861_翻转矩阵后的得分.java
│   │   │   ├── Q934_最短的桥.java
│   │   │   ├── Q980_不同路径3.java
│   │   │   ├── Q995_K连续位的最小翻转次数.java
│   │   │   ├── 二分
│   │   │   │   └── Q1095_山脉数组中查找目标值.java
│   │   │   ├── 前缀和
│   │   │   │   └── Q1744_你能在你最喜欢的那天吃到你最喜欢的糖果吗.java
│   │   │   ├── 回溯
│   │   │   │   └── Q980_不同路径3.java
│   │   │   ├── 字典树
│   │   │   │   └── Q_删除系统中的重复文件夹.java
│   │   │   ├── 模拟
│   │   │   │   ├── Q1834_单线程CPU.java
│   │   │   │   └── Q755_倒水.java
│   │   │   └── 贪心
│   │   │       └── Q1775_通过最少操作次数使数组的和相等.java
│   │   ├── Rating1900
│   │   │   └── Q1705_吃苹果的最大数目.java
│   │   ├── Rating2000
│   │   │   ├── DP
│   │   │   │   ├── Q1223_掷骰子模拟.java
│   │   │   │   └── Q1563_石子游戏5.java
│   │   │   ├── 分治
│   │   │   │   └── Q932_漂亮数组.java
│   │   │   ├── 图
│   │   │   │   ├── Dijkstra模板
│   │   │   │   │   └── Q743_网络延迟时间.java
│   │   │   │   ├── Q1786_从第一个节点出发到最后一个节点的受限路径数.java
│   │   │   │   ├── 判断环路
│   │   │   │   │   └── Q802_找到最终的安全状态.java
│   │   │   │   └── 拓扑排序
│   │   │   │       └── Q802_找到最终的安全状态.java
│   │   │   ├── 数学
│   │   │   │   └── Q1969_数组元素的最小非零乘积.java
│   │   │   └── 滑动窗口
│   │   │       └── Q1888_使二进制字符串交替的最少反转次数.java
│   │   ├── Rating2100
│   │   │   ├── Q1579_保证图可完全遍历.java
│   │   │   ├── Q1786_从第一个节点出发到最后一个节点的受限路径数.java
│   │   │   └── 并查
│   │   │       └── Q1970_你能穿过矩阵的最后一天.java
│   │   ├── Rating2200
│   │   │   ├── Q1889_装包裹的最小浪费空间.java
│   │   │   ├── Tree
│   │   │   │   └── Q1948_删除系统中的重复文件夹.java
│   │   │   └── 图
│   │   │       └── Q847_访问所有节点的最短路径.java
│   │   ├── Rating2300
│   │   │   └── 贪心
│   │   │       ├── Q1143_最长公共子序列.java
│   │   │       ├── Q1713_得到子序列的最少操作次数.java
│   │   │       └── Q300_最长递增子序列.java
│   │   ├── Rating2400
│   │   │   └── Q1928_规定时间内到达终点的最小花费.java
│   │   ├── Week253
│   │   │   ├── Q2_移除石子使总数最小.java
│   │   │   ├── Q3_使字符串平衡的最小交换次数.java
│   │   │   └── Q4_找出每个位置为止最长的有效障碍赛跑路径.java
│   │   ├── Week258
│   │   │   ├── Q2_可互换矩形的组数.java
│   │   │   ├── Q3_两个回文子序列长度的最大乘积.java
│   │   │   └── Q4_每棵子树内缺失的最小基因值.java
│   │   ├── Week259
│   │   │   └── Q2013_检测正方形.java
│   │   ├── WeekContest_248
│   │   │   ├── Q1921_消灭怪物的最大数量.java
│   │   │   └── Q1922_统计好数字的数目.java
│   │   ├── Week_236
│   │   │   ├── Q1828_统计一个圆中点的数目.java
│   │   │   └── Q1829_每个查询的最大异或值.java
│   │   ├── Week_246
│   │   │   ├── Q1909_删除一个元素使数组严格递增.java
│   │   │   ├── Q1910_删除一个字符串中所有出现的给定子字符串.java
│   │   │   └── Q1911_最大子序列交替和.java
│   │   ├── Week_247
│   │   │   ├── Q1899_合并若干三元组以形成目标三元组.java
│   │   │   ├── Q1915_最美子字符串的数目.java
│   │   │   ├── Q2.java
│   │   │   └── Q3.java
│   │   ├── Week_249
│   │   │   ├── Q3_用三种不同颜色为网格图色.java
│   │   │   └── Q_2长度为3的不同回文子序列.java
│   │   ├── 两数之和衍生
│   │   │   └── Q1711_大餐计数.java
│   │   ├── 二分应用
│   │   │   ├── Q1011_在D天内送达包裹的能力.java
│   │   │   ├── Q1482_制作m束花所需的最少天数.java
│   │   │   ├── Q1712_将数组分成三个子数组的方案数.java
│   │   │   ├── Q1751_最多可以参加的会议数目2.java
│   │   │   ├── Q1818_绝对差值和.java
│   │   │   ├── Q1898_可移除字符的最大数目.java
│   │   │   ├── Q274_H指数.java
│   │   │   ├── Q275_h指数2.java
│   │   │   ├── Q718_最长重复子数组.java
│   │   │   └── Q981_基于时间的键值存储.java
│   │   ├── 众数技巧
│   │   │   ├── Q229_求众数2.java
│   │   │   └── QMS17_10_主要元素.java
│   │   ├── 位运算技巧
│   │   │   └── Q1680_连接连续二进制数字.java
│   │   ├── 前缀和技巧
│   │   │   ├── Q1371_每个元音包含偶数次的最长子字符串.java
│   │   │   ├── Q1542_找出最长的超赞字符串.java
│   │   │   ├── Q1590_使数组和能被p整除.java
│   │   │   ├── Q1878_矩形中最大的三个菱形和.java
│   │   │   ├── Q1915_最美子字符串的数目.java
│   │   │   ├── Q560_和为k的子数组.java
│   │   │   ├── Q930_和相同的二元子数组.java
│   │   │   └── Q974_和可被k整除的子数组.java
│   │   ├── 双堆技巧
│   │   │   └── Q480_滑动窗口中位数.java
│   │   ├── 周赛T3合集
│   │   │   └── Q2055蜡烛之间的盘子_前缀和.java
│   │   ├── 多解题
│   │   │   └── QLCP07_传递信息.java
│   │   ├── 字符串哈希技巧
│   │   │   └── Q718_最长重复子数组.java
│   │   ├── 差分数组
│   │   │   └── Q1893_检查是否区域内所有整数都被覆盖.java
│   │   ├── 数据结构API技巧
│   │   │   ├── Q218_天际线问题.java
│   │   │   └── Q981_基于时间的键值存储.java
│   │   ├── 构造技巧
│   │   │   ├── Q264_丑数2.java
│   │   │   └── Q313_超级丑数.java
│   │   ├── 栈技巧
│   │   │   └── Q726_原子的数量.java
│   │   ├── 树型DP
│   │   │   └── 树型DP
│   │   │       └── LCP34_二叉树染色.java
│   │   ├── 滑动窗口技巧
│   │   │   ├── Q1838_最高频元素的频数.java
│   │   │   ├── Q413_等差数列划分.java
│   │   │   └── Q718_最长重复子数组.java
│   │   ├── 线性DP
│   │   │   ├── Q152_乘积最大子数组.java
│   │   │   └── Q53_最大连续子数组和.java
│   │   ├── 贪心技巧
│   │   │   └── Q1833_雪糕的最大数量.java
│   │   └── 路径DP
│   │       ├── Q120_三角形最小路径和.java
│   │       ├── Q1289_下降路径最小和2.java
│   │       ├── Q1575_统计所有可行路径.java
│   │       ├── Q63_不同路径.java
│   │       ├── Q64_最小路径和.java
│   │       └── Q931_下降路径最小和.java
│   ├── Others
│   │   ├── RedPack.java
│   │   ├── RedPackTest.java
│   │   └── RedPackage.java
│   ├── Recursion
│   │   ├── Q124_二叉树中的最大路径和.java
│   │   ├── Q22_括号生成.java
│   │   ├── Q236_二叉树的最近公共祖先.java
│   │   ├── Q394_字符串解码.java
│   │   ├── Q39_组合总数.java
│   │   ├── Q46_全排列.java
│   │   ├── Q679_24点游戏.java
│   │   ├── Q77_组合.java
│   │   ├── Q784_字母大小写全排列.java
│   │   ├── Q78_子集.java
│   │   ├── Q90_子集2_不重复.java
│   │   └── Q_DD_排列小球.java
│   ├── Search
│   │   ├── Q1236_网络爬虫.java
│   │   ├── Q1300_转变数组后最接近目标值的.java
│   │   ├── Q1539_第K个缺失的正整数.java
│   │   ├── Q153_旋转排序数组中的最小值.java
│   │   ├── Q154_旋转排序数组中的最小值2.java
│   │   ├── Q199_二叉树的右视图.java
│   │   ├── Q278_第一个错误的版本.java
│   │   ├── Q297_二叉树的序列化与反序列化.java
│   │   ├── Q33_搜索旋转排序数组.java
│   │   ├── Q46_全排列.java
│   │   ├── Q53_0_n_1中缺失的数字.java
│   │   ├── Q540_有序数组中的单一元素.java
│   │   ├── Q611_有效三角形的个数.java
│   │   ├── Q74_搜索二维矩阵.java
│   │   ├── Q79_单词搜索.java
│   │   └── Q81_搜索旋转排序数组2.java
│   ├── Sort
│   │   ├── Code_00_BubbleSort.java
│   │   ├── Code_01_InsertionSort.java
│   │   ├── Code_02_SelectionSort.java
│   │   ├── Code_03_HeapSort.java
│   │   ├── Code_04_QuickSort.java
│   │   ├── Code_05_MergeSort.java
│   │   ├── Code_06_BucketSort.java
│   │   ├── Code_07_RadixSort.java
│   │   ├── Q1122_RelativeSort.java
│   │   ├── Q215.java
│   │   ├── Q215_数组中的第k个最大元素.java
│   │   ├── Q315_MergeSort.java
│   │   ├── Q327_CountRangeSum.java
│   │   ├── Q347_前K个高频元素.java
│   │   ├── Q51_ReversePair.java
│   │   ├── Q56_区间合并.java
│   │   ├── Q75_颜色分类_荷兰国旗问题.java
│   │   ├── Q912_Sort.java
│   │   ├── Q_DD_冒泡排序.java
│   │   ├── Q_归并简洁版.java
│   │   ├── Q_快排简洁版.java
│   │   ├── Q_最小k个数_快速选择.java
│   │   ├── QuickSort.java
│   │   ├── ReversPairs_51.java
│   │   └── ReversePairs_493.java
│   ├── StackAndQueue
│   │   ├── Q1006_笨阶乘.java
│   │   ├── Q173_二叉搜索树迭代器.java
│   │   ├── Q20_有效的括号.java
│   │   ├── Q23_合并K个升序链表.java
│   │   ├── Q264_丑数2.java
│   │   ├── Q394_字符串解码.java
│   │   ├── Q456_132模式.java
│   │   └── Q94_二叉树的中序遍历.java
│   ├── UnionFind
│   │   ├── Q200_岛屿数量.java
│   │   ├── Q990_等式方程的可满足性.java
│   │   └── Q_DD_算式转移.java
│   ├── Zuo
│   │   ├── CD128_公式字符串求值.java
│   │   ├── CD12_换钱的最少货币数.java
│   │   ├── CD20_打气球.java
│   │   ├── CD45_龙与地下城问题.java
│   │   ├── CD54_容器盛水问题.java
│   │   └── CD64_设计LRU缓存结构.java
│   ├── codeForces
│   │   └── Round737_Div2
│   │       ├── B
│   │       │   └── Main.java
│   │       └── a
│   │           └── Main.java
│   ├── leetcode
│   │   ├── DP技巧
│   │   │   ├── Q1690_石子游戏7.java
│   │   │   ├── Q718_最长重复子数组.java
│   │   │   └── 树型DP
│   │   │       └── LCP34_二叉树染色.java
│   │   ├── SpringRecruit
│   │   │   ├── ArrayAndString
│   │   │   │   ├── Q151_翻转字符串里的单词.java
│   │   │   │   ├── Q159_至多包含两个不同字符的最长子串.java
│   │   │   │   ├── Q15_三数之和.java
│   │   │   │   ├── Q165_比较版本号.java
│   │   │   │   ├── Q186_翻转字符串里的单词2.java
│   │   │   │   ├── Q189_旋转数组.java
│   │   │   │   ├── Q215_数组中的第k个最大元素.java
│   │   │   │   ├── Q238_除自身以外数组的乘积.java
│   │   │   │   ├── Q239_滑动窗口最大值.java
│   │   │   │   ├── Q239_滑动窗口的最大值.java
│   │   │   │   ├── Q259_较小的三数之和.java
│   │   │   │   ├── Q26_删除有序数组中的重复项.java
│   │   │   │   ├── Q27_移除元素.java
│   │   │   │   ├── Q280_摆动序列.java
│   │   │   │   ├── Q283_移动零.java
│   │   │   │   ├── Q340_至多包含k个不同字符的最长子串.java
│   │   │   │   ├── Q3_无重复字符的最长子串.java
│   │   │   │   ├── Q415_字符串相加.java
│   │   │   │   ├── Q4_两个正序数组的中位数.java
│   │   │   │   ├── Q80_删除有序数组中的重复项2.java
│   │   │   │   ├── QJZ03_数组中的重复数字.java
│   │   │   │   ├── Q_MS_17_11_单词距离.java
│   │   │   │   └── Q_MS_17_19_缺失的数字.java
│   │   │   ├── DP
│   │   │   │   ├── Pair.java
│   │   │   │   ├── Q1000_合并石头的最低成本.java
│   │   │   │   ├── Q1014_最佳观光组合.java
│   │   │   │   ├── Q1143_最长公共子序列.java
│   │   │   │   ├── Q121_买卖股票最佳时机.java
│   │   │   │   ├── Q139_单词拆分.java
│   │   │   │   ├── Q1411_给Nx3网格涂色的方案数.java
│   │   │   │   ├── Q1690_石子游戏7.java
│   │   │   │   ├── Q188_买卖股票的最佳时机4_K次交易.java
│   │   │   │   ├── Q198_打家劫舍.java
│   │   │   │   ├── Q213_打家劫舍2.java
│   │   │   │   ├── Q221_最大正方形.java
│   │   │   │   ├── Q256_粉刷房子.java
│   │   │   │   ├── Q265_粉刷房子2.java
│   │   │   │   ├── Q267_栅栏涂色.java
│   │   │   │   ├── Q300_最长递增子序列.java
│   │   │   │   ├── Q312_戳气球.java
│   │   │   │   ├── Q322_零钱兑换.java
│   │   │   │   ├── Q32_最长有效括号.java
│   │   │   │   ├── Q363_矩形区域不超过K的最大数值和.java
│   │   │   │   ├── Q368_最大整除子集.java
│   │   │   │   ├── Q377_组合总数4.java
│   │   │   │   ├── Q39_组合总数.java
│   │   │   │   ├── Q403_青蛙过河.java
│   │   │   │   ├── Q416_分割等和子集.java
│   │   │   │   ├── Q420_强密码检验器.java
│   │   │   │   ├── Q42_接雨水.java
│   │   │   │   ├── Q45_跳跃游戏2.java
│   │   │   │   ├── Q486_预测赢家.java
│   │   │   │   ├── Q494_目标和.java
│   │   │   │   ├── Q518_零钱兑换2.java
│   │   │   │   ├── Q53_最大子序和.java
│   │   │   │   ├── Q5_最长回文串.java
│   │   │   │   ├── Q698_划分为K个相等子集.java
│   │   │   │   ├── Q70_爬楼梯.java
│   │   │   │   ├── Q72_编辑距离.java
│   │   │   │   ├── Q84_柱状图中的最大矩形.java
│   │   │   │   ├── Q85_最大矩形.java
│   │   │   │   ├── Q87_扰乱字符串.java
│   │   │   │   ├── Q887_鸡蛋掉落.java
│   │   │   │   ├── Q91_解码方法.java
│   │   │   │   ├── Q951_翻转等价二叉树.java
│   │   │   │   ├── Q_17_24_最大子矩阵.java
│   │   │   │   └── Q_DD_英文单词拼写纠错推荐.java
│   │   │   ├── Design
│   │   │   │   ├── Q146_LRU缓存.java
│   │   │   │   ├── Q460_LFU缓存.java
│   │   │   │   └── Q642_设计搜索自动补全系统.java
│   │   │   ├── Divide
│   │   │   │   └── Q218_天际线问题.java
│   │   │   ├── DoublePtr
│   │   │   │   └── Q220_存在重复元素3.java
│   │   │   ├── Greedy
│   │   │   │   ├── Q135_分发糖果.java
│   │   │   │   ├── Q45_跳跃游戏2.java
│   │   │   │   └── Q55_跳跃游戏.java
│   │   │   ├── Hash
│   │   │   │   ├── Q146_LRU缓存机制.java
│   │   │   │   ├── Q238_除自身以外数组的乘积.java
│   │   │   │   ├── Q41_缺失的第一个正数.java
│   │   │   │   ├── Q523_数组中的k_diff数对.java
│   │   │   │   ├── Q560_和为K的子数组.java
│   │   │   │   └── Q974_和可被K整除的子数组.java
│   │   │   ├── HighFreq
│   │   │   │   ├── Q124_二叉树最大路径和.java
│   │   │   │   ├── Q146_LRU_泛型.java
│   │   │   │   ├── Q146_LRU缓存_LinkedHashMap.java
│   │   │   │   ├── Q146_LRU缓存机制.java
│   │   │   │   ├── Q159_至多包含两个不同字符的最长子串.java
│   │   │   │   ├── Q15_三数之和.java
│   │   │   │   ├── Q206_翻转链表.java
│   │   │   │   ├── Q215_数组中的第K个最大元素.java
│   │   │   │   ├── Q25_K个一组翻转链表.java
│   │   │   │   ├── Q2_两数相加.java
│   │   │   │   ├── Q340_至多包含K个不同字符的最长子串.java
│   │   │   │   ├── Q3_无重复字符的最长子串.java
│   │   │   │   ├── Q41_寻找缺失的第一个正数.java
│   │   │   │   ├── Q56_合并区间.java
│   │   │   │   ├── Q76_最小覆盖子串.java
│   │   │   │   ├── Q96_翻转链表2.java
│   │   │   │   └── old
│   │   │   │       ├── CompareVersion_165.java
│   │   │   │       ├── EggDrop_887.java
│   │   │   │       └── RestoreIp_93.java
│   │   │   ├── LinkedList
│   │   │   │   ├── Q143_重排链表.java
│   │   │   │   ├── Q147_链表插入排序.java
│   │   │   │   ├── Q148_排序链表.java
│   │   │   │   ├── Q203_移除链表元素.java
│   │   │   │   ├── Q206_翻转链表.java
│   │   │   │   ├── Q21_合并两个有序链表.java
│   │   │   │   ├── Q23_合并K个升序链表.java
│   │   │   │   ├── Q25_K个一组翻转链表.java
│   │   │   │   ├── Q61_旋转链表.java
│   │   │   │   ├── Q82_删除链表中重复元素2.java
│   │   │   │   └── Q83_删除链表中的重复元素.java
│   │   │   ├── Math
│   │   │   │   ├── Q172_阶乘后的0.java
│   │   │   │   ├── Q17_06_2出现的次数.java
│   │   │   │   ├── Q202_快乐数.java
│   │   │   │   ├── Q204_计数质数.java
│   │   │   │   ├── Q233_1出现的次数.java
│   │   │   │   ├── Q263_丑数.java
│   │   │   │   ├── Q264_丑数2.java
│   │   │   │   ├── Q633_平方数之和.java
│   │   │   │   └── Q_MS_17_19_消失的两个数字.java
│   │   │   ├── MySql
│   │   │   │   └── Q569.sql
│   │   │   ├── Recursion
│   │   │   │   ├── Q124_二叉树中的最大路径和.java
│   │   │   │   ├── Q22_括号生成.java
│   │   │   │   ├── Q236_二叉树的最近公共祖先.java
│   │   │   │   ├── Q394_字符串解码.java
│   │   │   │   ├── Q39_组合总数.java
│   │   │   │   ├── Q46_全排列.java
│   │   │   │   ├── Q529_扫雷游戏.java
│   │   │   │   ├── Q695_岛屿的最大面积.java
│   │   │   │   ├── Q77_组合.java
│   │   │   │   ├── Q784_字母大小写全排列.java
│   │   │   │   ├── Q78_子集.java
│   │   │   │   ├── Q87_扰乱字符串.java
│   │   │   │   ├── Q90_子集2_不重复.java
│   │   │   │   ├── Q932_漂亮数组.java
│   │   │   │   └── Q_DD_排列小球.java
│   │   │   ├── Search
│   │   │   │   ├── Q1011_在D天内送达包裹的能力.java
│   │   │   │   ├── Q1236_网络爬虫.java
│   │   │   │   ├── Q1300_转变数组后最接近目标值的.java
│   │   │   │   ├── Q1539_第K个缺失的正整数.java
│   │   │   │   ├── Q153_旋转排序数组中的最小值.java
│   │   │   │   ├── Q154_旋转排序数组中的最小值2.java
│   │   │   │   ├── Q199_二叉树的右视图.java
│   │   │   │   ├── Q278_第一个错误的版本.java
│   │   │   │   ├── Q297_二叉树的序列化与反序列化.java
│   │   │   │   ├── Q33_搜索旋转排序数组.java
│   │   │   │   ├── Q34_在排序数组中查找元素的第一个和最后一个位置.java
│   │   │   │   ├── Q410_分割数组的最大值.java
│   │   │   │   ├── Q46_全排列.java
│   │   │   │   ├── Q53_0_n_1中缺失的数字.java
│   │   │   │   ├── Q540_有序数组中的单一元素.java
│   │   │   │   ├── Q611_有效三角形的个数.java
│   │   │   │   ├── Q69_X的平方根.java
│   │   │   │   ├── Q74_搜索二维矩阵.java
│   │   │   │   ├── Q79_单词搜索.java
│   │   │   │   ├── Q81_搜索旋转排序数组2.java
│   │   │   │   └── Q_MS_10_03_搜索旋转数组.java
│   │   │   ├── Sort
│   │   │   │   ├── Q215_数组中的第k个最大元素.java
│   │   │   │   ├── Q347_前K个高频元素.java
│   │   │   │   ├── Q56_区间合并.java
│   │   │   │   ├── Q75_颜色分类_荷兰国旗问题.java
│   │   │   │   ├── Q912_排序数组.java
│   │   │   │   └── Q_DD_冒泡排序.java
│   │   │   ├── StackAndQueue
│   │   │   │   ├── Q1006_笨阶乘.java
│   │   │   │   ├── Q173_二叉搜索树迭代器.java
│   │   │   │   ├── Q20_有效的括号.java
│   │   │   │   ├── Q20_有效的括号1.java
│   │   │   │   ├── Q224_基本计算器.java
│   │   │   │   ├── Q239_滑动窗口的最大值.java
│   │   │   │   ├── Q23_合并K个升序链表.java
│   │   │   │   ├── Q264_丑数2.java
│   │   │   │   ├── Q295_数据流中的中位数.java
│   │   │   │   ├── Q394_字符串解码.java
│   │   │   │   ├── Q42_接雨水.java
│   │   │   │   ├── Q456_132模式.java
│   │   │   │   ├── Q480_滑动窗口中的中位数.java
│   │   │   │   └── Q94_二叉树的中序遍历.java
│   │   │   ├── String
│   │   │   │   ├── Q179_最大数.java
│   │   │   │   ├── Q214_最短回文串.java
│   │   │   │   ├── Q28_实现strStr.java
│   │   │   │   ├── Q648_单词替换.java
│   │   │   │   └── Q76_最小覆盖子串.java
│   │   │   ├── Tree
│   │   │   │   ├── BST.java
│   │   │   │   ├── Q144_二叉树前序遍历.java
│   │   │   │   ├── Q145_二叉树后序遍历.java
│   │   │   │   ├── Q208_实现Trie.java
│   │   │   │   ├── Q230_二叉搜索树中的第K小元素.java
│   │   │   │   ├── Q272_最接近的二叉搜索树值2.java
│   │   │   │   ├── Q783_二叉搜索树节点最小距离.java
│   │   │   │   ├── Q897_递增顺序搜索树.java
│   │   │   │   ├── Q94_二叉树中序遍历.java
│   │   │   │   ├── Q951_翻转等价二叉树.java
│   │   │   │   ├── Q98_验证二叉搜索树.java
│   │   │   │   └── QJZ07_重建二叉树.java
│   │   │   ├── UnionFind
│   │   │   │   ├── Q200_岛屿数量.java
│   │   │   │   ├── Q990_等式方程的可满足性.java
│   │   │   │   └── Q_DD_算式转移.java
│   │   │   └── 并发
│   │   │       └── 线程交替执行
│   │   │           ├── HtmlParser.java
│   │   │           ├── Q1114_按序打印_AtomicInteger.java
│   │   │           ├── Q1114_按序打印_ReentrantLock.java
│   │   │           ├── Q1114_按序打印_synchronized.java
│   │   │           ├── Q1114_按序打印_volatile.java
│   │   │           ├── Q1115_交替打印FooBar_AtomicInteger.java
│   │   │           ├── Q1115_交替打印FooBar_ReentrantLock.java
│   │   │           ├── Q1115_交替打印FooBar_synchronized.java
│   │   │           ├── Q1115_交替打印_Semaphore.java
│   │   │           ├── Q1116_打印零与奇偶数_ReentrantLock.java
│   │   │           ├── Q1116_打印零与奇偶数_Semaphore.java
│   │   │           ├── Q1116_打印零与奇偶数_synchronized.java
│   │   │           ├── Q1226_哲学家进餐_ReentrantLock.java
│   │   │           ├── Q1226_哲学家进餐_Semaphore.java
│   │   │           ├── Q1236_网络爬虫.java
│   │   │           ├── Q1242_多线程网页爬虫_DFS_BFS手动创建线程.java
│   │   │           ├── Q1242_多线程网页爬虫_ThreadPoolExecutor.java
│   │   │           ├── ThreadByOrder.java
│   │   │           ├── ThreadInTurnCAS.java
│   │   │           ├── ThreadInTurnSynchronized.java
│   │   │           └── ThreadInTurnVolatile.java
│   │   ├── Tree
│   │   │   ├── BFS
│   │   │   │   └── Q1660_CorrectTree.java
│   │   │   ├── DFS
│   │   │   │   └── Q671_二叉树中第二小的节点.java
│   │   │   ├── DiameterOfBinaryTree.java
│   │   │   ├── MaxPathSum_124.java
│   │   │   ├── Q102_levelOrder.java
│   │   │   ├── Q103_LevelOrder.java
│   │   │   ├── Q108.java
│   │   │   ├── Q109.java
│   │   │   ├── Q112_路径总和.java
│   │   │   ├── Q113_路径总和2.java
│   │   │   ├── Q124_二叉树最大路径和.java
│   │   │   ├── Q1257.java
│   │   │   ├── Q1382.java
│   │   │   ├── Q144_PreOrder.java
│   │   │   ├── Q145_PostOrder.java
│   │   │   ├── Q199_right.java
│   │   │   ├── Q235_BST_LCA.java
│   │   │   ├── Q236_LCA.java
│   │   │   ├── Q241.java
│   │   │   ├── Q257_二叉树的所有路径.java
│   │   │   ├── Q297_序列化二叉树.java
│   │   │   ├── Q331_验证二叉树前序序列化.java
│   │   │   ├── Q437_路径总和3.java
│   │   │   ├── Q543_二叉树的直径.java
│   │   │   ├── Q589.java
│   │   │   ├── Q590.java
│   │   │   ├── Q666_路径总和4.java
│   │   │   ├── Q94.java
│   │   │   ├── Q95.java
│   │   │   ├── Q96.java
│   │   │   ├── Q98.java
│   │   │   ├── Q99.java
│   │   │   ├── SumOfTree
│   │   │   │   └── Q663_HalfSum.java
│   │   │   └── TreeNode.java
│   │   ├── 双指针技巧
│   │   │   └── Q611_有效三角形个数.java
│   │   └── 最短路
│   │       ├── BellmanFord_NM
│   │       │   ├── Q743_网络延迟时间.java
│   │       │   └── Q787_K站中转内最便宜的航班.java
│   │       ├── Dijkstra_MLOGN
│   │       │   └── Q743_网络延迟时间.java
│   │       ├── Floyd_N3
│   │       │   └── Q743_网络延迟时间.java
│   │       └── SPFA_KM
│   │           └── Q743_网络延迟时间.java
│   └── 并发
│       └── 线程交替执行
│           ├── Q1114_按序打印_AtomicInteger.java
│           ├── Q1114_按序打印_ReentrantLock.java
│           ├── Q1114_按序打印_synchronized.java
│           ├── Q1114_按序打印_volatile.java
│           ├── Q1115_交替打印FooBar_AtomicInteger.java
│           ├── Q1115_交替打印FooBar_ReentrantLock.java
│           ├── Q1115_交替打印FooBar_synchronized.java
│           ├── Q1115_交替打印_Semaphore.java
│           ├── Q1116_打印零与奇偶数_ReentrantLock.java
│           ├── Q1116_打印零与奇偶数_Semaphore.java
│           ├── Q1116_打印零与奇偶数_synchronized.java
│           ├── Q1226_哲学家进餐_ReentrantLock.java
│           ├── Q1226_哲学家进餐_Semaphore.java
│           ├── Q1242_多线程网页爬虫_BFS手动创建线程.java
│           ├── Q1242_多线程网页爬虫_ThreadPoolExecutor.java
│           ├── ThreadByOrder.java
│           ├── ThreadInTurnCAS.java
│           ├── ThreadInTurnSynchronized.java
│           └── ThreadInTurnVolatile.java
├── Old
│   ├── BFS
│   │   └── 1030_距离顺序排列矩阵单元格.java
│   ├── Old.iml
│   ├── top100
│   │   ├── 146_LRU缓存机制.java
│   │   ├── 1_两数之和.java
│   │   ├── 4_寻找两个正序数组的中位数.java
│   │   └── 根据身高重建队列.java
│   ├── 二叉树问题
│   │   ├── 222_完全二叉树的节点个数.java
│   │   ├── 34_二叉树中和为某一值的路径.java
│   │   ├── 37_序列化二叉树.java
│   │   └── 55_二叉树的深度.java
│   ├── 优先队列
│   │   └── 最接近原点的K个点.java
│   ├── 位运算
│   │   ├── 56_数组中数字的出现次数.java
│   │   └── 64_求1+2+n.java
│   ├── 做过的
│   │   ├── BFS
│   │   │   ├── poj_3669流星雨.cpp
│   │   │   └── 朋友圈.cpp
│   │   ├── DFS
│   │   │   ├── poj1979.cpp
│   │   │   ├── 岛屿的最大面积.cpp
│   │   │   └── 机器人的运动范围.cpp
│   │   ├── 代码模板
│   │   │   └── BigIntegerAdd.cpp
│   │   ├── 位运算
│   │   │   └── UTF-8编码_暴力.cpp
│   │   ├── 做过的.iml
│   │   ├── 分治
│   │   │   ├── 合并k个有序链表.java
│   │   │   ├── 合并k个有序链表_暴力.cpp
│   │   │   ├── 搜索二维矩阵2.java
│   │   │   ├── 数组中第k大元素_优先队列.cpp
│   │   │   ├── 数组中第k大元素_快速选择.cpp
│   │   │   ├── 数组中第k大元素_手写堆.cpp
│   │   │   ├── 最接近原点的K个点_优先队列.cpp
│   │   │   └── 最接近原点的K个点_快排_匿名函数.cpp
│   │   ├── 动态规划
│   │   │   ├── 1277统计全为1的正方形子矩阵个数.cpp
│   │   │   ├── LCP19秋叶收藏集.cpp
│   │   │   ├── TSP模板.cpp
│   │   │   ├── 三角形最小路径_dp.cpp
│   │   │   ├── 三角形最小路径_记忆化搜索.cpp
│   │   │   ├── 不同的二叉搜索树.cpp
│   │   │   ├── 切棍子的最小成本.cpp
│   │   │   ├── 单词拆分.cpp
│   │   │   ├── 合并石头的最低成本.cpp
│   │   │   ├── 戳气球.cpp
│   │   │   ├── 最大子序和.cpp
│   │   │   ├── 最大正方形.cpp
│   │   │   ├── 最小路径和_数字三角.cpp
│   │   │   ├── 最长上升子序列.cpp
│   │   │   ├── 最长回文子串.cpp
│   │   │   ├── 正则表达式匹配.cpp
│   │   │   ├── 爬楼梯_fib.cpp
│   │   │   ├── 编辑距离.cpp
│   │   │   ├── 股票买卖2.cpp
│   │   │   └── 零钱兑换.cpp
│   │   ├── 哈希
│   │   │   ├── cf_485_A_map.cpp
│   │   │   ├── 两数之和.cpp
│   │   │   ├── 全O1的数据结构_hash_双向链表.cpp
│   │   │   ├── 和为k的子数组_sum-k_hash.cpp
│   │   │   ├── 和为k的子数组_暴力_n2.cpp
│   │   │   ├── 字母异位词分组_暴力_重载set_map.cpp
│   │   │   ├── 字母异位词分组_每个单词重排序.cpp
│   │   │   ├── 字母异位词分组_质数key.cpp
│   │   │   └── 验证外星语词典(自定义字典序).cpp
│   │   ├── 回溯
│   │   │   ├── N皇后.cpp
│   │   │   ├── 全排列.cpp
│   │   │   ├── 全排列II.cpp
│   │   │   ├── 删除无效的括号.cpp
│   │   │   ├── 单词搜索.cpp
│   │   │   ├── 子集.cpp
│   │   │   ├── 括号生成.cpp
│   │   │   ├── 数独.cpp
│   │   │   ├── 电话号码的字母组合.cpp
│   │   │   ├── 组合.cpp
│   │   │   └── 组合总和3_组合生成.cpp
│   │   ├── 图
│   │   │   ├── 单词接龙_BFS.cpp
│   │   │   ├── 单词接龙_bf最短路_超时.cpp
│   │   │   ├── 单词接龙_双向BFS.cpp
│   │   │   ├── 火星词典_拓扑排序.cpp
│   │   │   ├── 腐烂的橘子_BFS_多个源看成同一层.cpp
│   │   │   └── 集群内的关键连接_连通图_tarjan.cpp
│   │   ├── 基础
│   │   │   ├── LRU缓存机制.cpp
│   │   │   ├── 买卖股票_一次遍历.cpp
│   │   │   ├── 买卖股票_暴力.cpp
│   │   │   ├── 买卖股票_最长子列和.cpp
│   │   │   ├── 二叉树层序遍历_BFS.cpp
│   │   │   ├── 复制带随机指针的链表.java
│   │   │   ├── 岛屿数量_DFS.cpp
│   │   │   ├── 接雨水_单调栈.cpp
│   │   │   ├── 接雨水_缓存左右最大数组.cpp
│   │   │   ├── 最小覆盖子串_哈希表_滑动窗口.cpp
│   │   │   ├── 最小覆盖子串_暴力.cpp
│   │   │   └── 验证回文串_双指针.cpp
│   │   ├── 字符串
│   │   │   ├── KMP.c
│   │   │   ├── cf_487_div2.cpp
│   │   │   ├── kmp.cpp
│   │   │   ├── nod_1469.cpp
│   │   │   ├── z型变换.cpp
│   │   │   ├── 复原IP地址_回溯.cpp
│   │   │   ├── 复原IP地址_暴力.cpp
│   │   │   ├── 字符串的排列_滑动串口_单数组_anyof.cpp
│   │   │   ├── 字符串的排列_第二个串是否包含第一个的排列_滑动串口.cpp
│   │   │   ├── 字符串相乘_模拟竖式乘法.cpp
│   │   │   ├── 字符串相加_大整数相加.cpp
│   │   │   ├── 整数转换英文表示.py
│   │   │   ├── 整数转罗马数字.cpp
│   │   │   ├── 无重复字符的最长子串.cpp
│   │   │   ├── 无重复字符的最长子串_滑动窗口.cpp
│   │   │   ├── 最常见的单词.cpp
│   │   │   ├── 最常见的单词.py
│   │   │   ├── 最长公共前缀.cpp
│   │   │   ├── 简化路径_stringstream.cpp
│   │   │   ├── 罗马字符转数字.py
│   │   │   ├── 翻转字符串里的单词.cpp
│   │   │   ├── 翻转字符串里的单词_原地.cpp
│   │   │   ├── 解压字符串.py
│   │   │   ├── 重新排列日志文件.py
│   │   │   ├── 验证IP地址.java
│   │   │   ├── 验证IP地址.py
│   │   │   └── 验证回文串.cpp
│   │   ├── 字节2019
│   │   │   ├── TSP.cpp
│   │   │   ├── 修改AAAorAABB字符串-自动机.cpp
│   │   │   ├── 修改AAAorAABB字符串.cpp
│   │   │   ├── 放置的方法数.cpp
│   │   │   ├── 最多的连续相同pair.cpp
│   │   │   ├── 最小初始值.cpp
│   │   │   ├── 零钱兑换.cpp
│   │   │   └── 麻将中能胡的牌.cpp
│   │   ├── 排序
│   │   │   └── 数组中的逆序对_归并排序.cpp
│   │   ├── 数字
│   │   │   ├── 二进制求和.cpp
│   │   │   ├── 大数求和.cpp
│   │   │   ├── 字符串转整数atoi.cpp
│   │   │   ├── 快乐数.cpp
│   │   │   └── 整数反转.cpp
│   │   ├── 数学
│   │   │   └── 平方根_牛顿迭代.cpp
│   │   ├── 数组
│   │   │   ├── 556下一个更大元素.cpp
│   │   │   ├── 56_合并区间.java
│   │   │   ├── 57_插入区间.java
│   │   │   ├── lower_bound.cpp
│   │   │   ├── 三数之和_双指针.cpp
│   │   │   ├── 下一个排列.cpp
│   │   │   ├── 全排列_回溯.cpp
│   │   │   ├── 合并k个有序数组.cpp
│   │   │   ├── 合并k个有序数组_归并.cpp
│   │   │   ├── 合并两个有序数组.cpp
│   │   │   ├── 合并区间_set_重载.cpp
│   │   │   ├── 在排序数组中查找元素的第一个和最后一个位置_二分_上下界.cpp
│   │   │   ├── 子集生成.c
│   │   │   ├── 寻找两个正序数组的中位数_割数组_二分.cpp
│   │   │   ├── 寻找两个正序数组的中位数_暴力.cpp
│   │   │   ├── 寻找两个正序数组的中位数_第k小_二分.cpp
│   │   │   ├── 搜索旋转排序数组_二分.cpp
│   │   │   ├── 最后一块石头的重量_bitset.cpp
│   │   │   ├── 最长连续序列.cpp
│   │   │   ├── 最长连续递增序列.cpp
│   │   │   ├── 盛最多水的容器_双指针.cpp
│   │   │   ├── 盛最多水的容器_暴力.cpp
│   │   │   ├── 第k个排列_next_permutation.cpp
│   │   │   ├── 第k个排列_手写.cpp
│   │   │   ├── 螺旋矩阵.cpp
│   │   │   ├── 螺旋矩阵_模拟.cpp
│   │   │   └── 除自身以外数组的乘积_空间优化.cpp
│   │   ├── 栈和队列
│   │   │   ├── 会议室_set_贪心.cpp
│   │   │   ├── 会议室_上下车.cpp
│   │   │   ├── 前K个高频单词.py
│   │   │   ├── 前K个高频单词_map_优先队列.cpp
│   │   │   ├── 前K个高频单词_前缀树_优先队列.cpp
│   │   │   ├── 前K个高频单词_暴力.cpp
│   │   │   ├── 数据流中的中位数-优先队列.cpp
│   │   │   ├── 最小栈.cpp
│   │   │   ├── 最小栈.java
│   │   │   ├── 有效的括号.py
│   │   │   ├── 柱状图中的最大矩形_单调栈.cpp
│   │   │   ├── 栈的弹出顺序.java
│   │   │   └── 移除无效括号.cpp
│   │   ├── 树
│   │   │   ├── 113路径总和.cpp
│   │   │   ├── BST转为累加树.cpp
│   │   │   ├── 二叉搜索树的第k大节点.cpp
│   │   │   ├── 二叉树中和为某一值的路径.cpp
│   │   │   ├── 二叉树中序遍历_迭代.cpp
│   │   │   ├── 二叉树中的最大路径和_递归_正贡献度.cpp
│   │   │   ├── 二叉树搜索树的后序遍历序列.java
│   │   │   ├── 二叉树的右视图.cpp
│   │   │   ├── 二叉树的层平均值.cpp
│   │   │   ├── 二叉树的直径.cpp
│   │   │   ├── 二叉树锯齿遍历_deque.cpp
│   │   │   ├── 从中序与前序构建二叉树.cpp
│   │   │   ├── 从中序与后续构建二叉树.cpp
│   │   │   ├── 冗余连接II_找入度为2的点_并查集判断是否成树.cpp
│   │   │   ├── 判断平衡二叉树.cpp
│   │   │   ├── 另一个树的子树_dfs.cpp
│   │   │   ├── 另一个树的子树_dfs_kmp.cpp
│   │   │   ├── 另一个树的子树_dfs_树哈希.cpp
│   │   │   ├── 另一个树的子树_暴力_前序_后序.cpp
│   │   │   ├── 对称的二叉树.cpp
│   │   │   ├── 最近公共祖先.cpp
│   │   │   ├── 最近公共祖先_二分优化.cpp
│   │   │   ├── 最近公共祖先_直接递归.cpp
│   │   │   ├── 树的子结构.cpp
│   │   │   └── 验证二叉搜索树_中序遍历.cpp
│   │   ├── 腾讯2020
│   │   │   └── 灌溉花园的最少水龙头.cpp
│   │   ├── 贪心
│   │   │   └── 视频拼接.cpp
│   │   └── 链表
│   │       ├── K个一组链表反转.cpp
│   │       ├── LRU算法.cpp
│   │       ├── LRU缓存机制.cpp
│   │       ├── n个有序链表合并.cpp
│   │       ├── n个有序链表合并_pq.cpp
│   │       ├── 两数相加.cpp
│   │       ├── 删除链表中的重复元素.cpp
│   │       ├── 删除链表的倒数第N个节点.cpp
│   │       ├── 反转链表_迭代_递归.cpp
│   │       ├── 合并两个有序链表.cpp
│   │       ├── 复制带随机指针的链表.java
│   │       ├── 排序链表_归并.cpp
│   │       ├── 环形链表1.cpp
│   │       ├── 环形链表2.cpp
│   │       └── 相交链表_暴力_set_双指针.cpp
│   ├── 前后缀数组
│   │   └── 66_构造乘积数组.java
│   ├── 剑指
│   │   ├── 46_把数字翻译成字符串.java
│   │   └── 62_圆圈中最后剩下的数字.java
│   ├── 动态规划
│   │   ├── 42_连续子数组的最大和.java
│   │   ├── 48_最长不含重复字符的子字符串.java
│   │   ├── 49_丑数.java
│   │   ├── 60_n个骰子的点数.java
│   │   └── 63_股票的最大利润.java
│   ├── 区间问题
│   │   ├── 56_合并区间.java
│   │   └── 57_插入区间.java
│   ├── 双指针
│   │   └── 移动零.java
│   ├── 哈希表
│   │   └── 1_两数之和.java
│   ├── 字符串
│   │   ├── 50_第一个只出现一次的字符.java
│   │   ├── 556下一个更大元素.cpp
│   │   └── lc556下一个更大元素.java
│   ├── 排列问题
│   │   ├── 下一个排列.java
│   │   └── 对链表插入排序.java
│   ├── 排序问题
│   │   ├── 1030_距离顺序排列矩阵单元格.java
│   │   ├── 把数组排成最小的数.java
│   │   ├── 数组的相对排序.java
│   │   └── 根据身高重建队列.java
│   ├── 数据结构
│   │   ├── 36_二叉搜索树与双向链表.java
│   │   └── 52_两个链表的第一个公共节点.java
│   ├── 数组问题
│   │   └── 922_按奇偶排序数组.java
│   ├── 最大最小值
│   │   └── 40_最小的k个数.java
│   ├── 简单数据结构
│   │   ├── lc155_最小栈.java
│   │   └── 剑指09_用两个栈实现队列.java
│   ├── 计数问题
│   │   └── 扑克牌中的顺子.java
│   ├── 详解
│   │   ├── Code_00_BubbleSort.java
│   │   ├── Code_01_InsertionSort.java
│   │   ├── Code_02_SelectionSort.java
│   │   └── Code_04_QuickSort.java
│   ├── 贪心
│   │   ├── 134_加油站.java
│   │   └── 402_移掉k位数字_使其最小.java
│   └── 链表问题
│       └── 奇偶链表.java
├── Py
│   ├── 基础
│   │   └── 最多删除一个字符得到回文.py
│   ├── 序列DP
│   │   └── 最长公共子序列.py
│   ├── 快速幂_倍增乘
│   │   └── Q29_两数相除.py
│   └── 排序
│       ├── 归并.py
│       └── 快排.py
├── README.md
├── cppCode
│   ├── WeeklyContest
│   │   └── 20201122
│   │       └── Q2.java
│   ├── advanced
│   │   └── 301删除无效的括号.cpp
│   ├── array
│   │   ├── 556下一个更大元素.cpp
│   │   ├── 56_合并区间.java
│   │   ├── 57_插入区间.java
│   │   ├── lower_bound.cpp
│   │   ├── pics
│   │   │   ├── 下一个排列.gif
│   │   │   ├── 下一个排列0.png
│   │   │   ├── 下一个排列1.png
│   │   │   ├── 下一个排列2.png
│   │   │   ├── 下一个排列3.png
│   │   │   └── 下一个排列4.png
│   │   ├── 三数之和_双指针.cpp
│   │   ├── 下一个排列.cpp
│   │   ├── 下一个排列.md
│   │   ├── 全排列_回溯.cpp
│   │   ├── 分割位置0.png
│   │   ├── 分割位置1.png
│   │   ├── 割0.png
│   │   ├── 割1.png
│   │   ├── 区间合并.png
│   │   ├── 区间合并1.png
│   │   ├── 合并k个有序数组.cpp
│   │   ├── 合并k个有序数组_归并.cpp
│   │   ├── 合并两个有序数组.cpp
│   │   ├── 合并区间_set_重载.cpp
│   │   ├── 在排序数组中查找元素的第一个和最后一个位置_二分_上下界.cpp
│   │   ├── 子集生成.c
│   │   ├── 寻找两个正序数组的中位数.md
│   │   ├── 寻找两个正序数组的中位数_割数组_二分.cpp
│   │   ├── 寻找两个正序数组的中位数_暴力.cpp
│   │   ├── 寻找两个正序数组的中位数_第k小_二分.cpp
│   │   ├── 搜索旋转排序数组_二分.cpp
│   │   ├── 最后一块石头的重量_bitset.cpp
│   │   ├── 最长连续序列.cpp
│   │   ├── 最长连续递增序列.cpp
│   │   ├── 盛最多水的容器_双指针.cpp
│   │   ├── 盛最多水的容器_暴力.cpp
│   │   ├── 第k个排列_next_permutation.cpp
│   │   ├── 第k个排列_手写.cpp
│   │   ├── 螺旋矩阵.cpp
│   │   ├── 螺旋矩阵_模拟.cpp
│   │   └── 除自身以外数组的乘积_空间优化.cpp
│   ├── back_tracking
│   │   ├── N皇后.cpp
│   │   ├── 全排列.cpp
│   │   ├── 全排列II.cpp
│   │   ├── 删除无效的括号.cpp
│   │   ├── 单词搜索.cpp
│   │   ├── 子集.cpp
│   │   ├── 括号生成.cpp
│   │   ├── 数独.cpp
│   │   ├── 电话号码的字母组合.cpp
│   │   ├── 组合.cpp
│   │   └── 组合总和3_组合生成.cpp
│   ├── basic
│   │   ├── LRUCache0.png
│   │   ├── LRUCache1.png
│   │   ├── LRUCache2.png
│   │   ├── LRU最少使用替换算法.md
│   │   ├── LRU缓存机制.cpp
│   │   ├── 买卖股票_一次遍历.cpp
│   │   ├── 买卖股票_暴力.cpp
│   │   ├── 买卖股票_最长子列和.cpp
│   │   ├── 二叉树层序遍历_BFS.cpp
│   │   ├── 复制带随机指针的链表_递归_哈希表.cpp
│   │   ├── 岛屿数量_DFS.cpp
│   │   ├── 接雨水_单调栈.cpp
│   │   ├── 接雨水_缓存左右最大数组.cpp
│   │   ├── 最小覆盖子串_哈希表_滑动窗口.cpp
│   │   ├── 最小覆盖子串_暴力.cpp
│   │   └── 验证回文串_双指针.cpp
│   ├── bfs
│   │   ├── poj_3669流星雨.cpp
│   │   └── 朋友圈.cpp
│   ├── bit
│   │   └── UTF-8编码_暴力.cpp
│   ├── bytedance-2019
│   │   ├── TSP.cpp
│   │   ├── 修改AAAorAABB字符串-自动机.cpp
│   │   ├── 修改AAAorAABB字符串.cpp
│   │   ├── 放置的方法数.cpp
│   │   ├── 最多的连续相同pair.cpp
│   │   ├── 最小初始值.cpp
│   │   ├── 零钱兑换.cpp
│   │   └── 麻将中能胡的牌.cpp
│   ├── code_template
│   │   └── BigIntegerAdd.cpp
│   ├── cppCode.iml
│   ├── dfs
│   │   ├── poj1979.cpp
│   │   ├── poj3009.cpp
│   │   ├── 岛屿的最大面积.cpp
│   │   └── 机器人的运动范围.cpp
│   ├── divide_conquer
│   │   ├── bubble.go
│   │   ├── quick_sort.go
│   │   ├── 合并k个有序链表.cpp
│   │   ├── 合并k个有序链表_暴力.cpp
│   │   ├── 搜索二维矩阵2_从左下开始查找.cpp
│   │   ├── 搜索二维矩阵2_暴力_按行二分.cpp
│   │   ├── 搜索二维矩阵2_暴力_按行二分_缩减行列规模.cpp
│   │   ├── 搜索二维矩阵2_暴力_按行二分_缩减行规模.cpp
│   │   ├── 数组中第k大元素_优先队列.cpp
│   │   ├── 数组中第k大元素_快速选择.cpp
│   │   ├── 数组中第k大元素_手写堆.cpp
│   │   ├── 最接近原点的K个点_优先队列.cpp
│   │   └── 最接近原点的K个点_快排_匿名函数.cpp
│   ├── dp
│   │   ├── 1277统计全为1的正方形子矩阵个数.cpp
│   │   ├── LCP19秋叶收藏集.cpp
│   │   ├── TSP模板.cpp
│   │   ├── 三角形最小路径_dp.cpp
│   │   ├── 三角形最小路径_记忆化搜索.cpp
│   │   ├── 不同的二叉搜索树.cpp
│   │   ├── 切棍子的最小成本.cpp
│   │   ├── 单词拆分.cpp
│   │   ├── 合并石头的最低成本.cpp
│   │   ├── 戳气球.cpp
│   │   ├── 最大子序和.cpp
│   │   ├── 最大正方形.cpp
│   │   ├── 最小路径和_数字三角.cpp
│   │   ├── 最长上升子序列.cpp
│   │   ├── 最长回文子串.cpp
│   │   ├── 正则表达式匹配.cpp
│   │   ├── 爬楼梯_fib.cpp
│   │   ├── 编辑距离.cpp
│   │   ├── 股票买卖2.cpp
│   │   └── 零钱兑换.cpp
│   ├── graph
│   │   ├── 单词接龙_BFS.cpp
│   │   ├── 单词接龙_bf最短路_超时.cpp
│   │   ├── 单词接龙_双向BFS.cpp
│   │   ├── 火星词典_拓扑排序.cpp
│   │   ├── 腐烂的橘子_BFS_多个源看成同一层.cpp
│   │   └── 集群内的关键连接_连通图_tarjan.cpp
│   ├── greedy
│   │   └── 视频拼接.cpp
│   ├── hash
│   │   ├── cf_485_A_map.cpp
│   │   ├── 两数之和.cpp
│   │   ├── 全O1的数据结构_hash_双向链表.cpp
│   │   ├── 和为k的子数组_sum-k_hash.cpp
│   │   ├── 和为k的子数组_暴力_n2.cpp
│   │   ├── 字母异位词分组_暴力_重载set_map.cpp
│   │   ├── 字母异位词分组_每个单词重排序.cpp
│   │   ├── 字母异位词分组_质数key.cpp
│   │   └── 验证外星语词典(自定义字典序).cpp
│   ├── labuladong
│   │   ├── 二分
│   │   │   └── 二分模板.cpp
│   │   └── 双指针
│   │       ├── hdu_1003-Maximum Sequence.cpp
│   │       ├── poj_3061_Subsequence.cpp
│   │       ├── 两数之和2.cpp
│   │       ├── 反转数组.cpp
│   │       ├── 环形链表.cpp
│   │       ├── 环形链表1.cpp
│   │       └── 链表的中间节点.cpp
│   ├── linkedlist
│   │   ├── K个一组链表反转.cpp
│   │   ├── LRU算法.cpp
│   │   ├── LRU缓存机制.cpp
│   │   ├── n个有序链表合并.cpp
│   │   ├── n个有序链表合并_pq.cpp
│   │   ├── 两数相加.cpp
│   │   ├── 删除链表中的重复元素.cpp
│   │   ├── 删除链表的倒数第N个节点.cpp
│   │   ├── 反转链表_迭代_递归.cpp
│   │   ├── 合并两个有序链表.cpp
│   │   ├── 排序链表_归并.cpp
│   │   ├── 环形链表1.cpp
│   │   ├── 环形链表2.cpp
│   │   └── 相交链表_暴力_set_双指针.cpp
│   ├── math
│   │   └── 平方根_牛顿迭代.cpp
│   ├── number
│   │   ├── 二进制求和.cpp
│   │   ├── 大数求和.cpp
│   │   ├── 字符串转整数atoi.cpp
│   │   ├── 快乐数.cpp
│   │   └── 整数反转.cpp
│   ├── sort
│   │   ├── readme.md
│   │   └── 数组中的逆序对_归并排序.cpp
│   ├── sql
│   │   ├── 上升的温度_DATEDIFF.txt
│   │   ├── 交换工资_update.txt
│   │   ├── 从不订购的客户.txt
│   │   ├── 体育馆的人流量.txt
│   │   ├── 分数排名.txt
│   │   ├── 删除重复的电子邮箱_DELETE.txt
│   │   ├── 员工薪水中位数.txt
│   │   ├── 大的国家.txt
│   │   ├── 换座位_case_when.txt
│   │   ├── 有趣的电影.txt
│   │   ├── 查找重复的电子邮箱_groupby_having.txt
│   │   ├── 游戏玩法分析3.txt
│   │   ├── 游戏玩法分析4.txt
│   │   ├── 第N高的薪水.txt
│   │   ├── 组合两个表.txt
│   │   ├── 行程和用户_两次JOIN.txt
│   │   ├── 超过五名学生的课_group_by_having.txt
│   │   ├── 超过经理收入的员工.txt
│   │   ├── 连续出现的数字_lead.txt
│   │   ├── 部门工资前三高的所有员工.txt
│   │   ├── 部门工资最高的员工.txt
│   │   ├── 重新格式化部门表_行转列_case_when_then_end_group_by_sum_as.txt
│   │   └── 院系的无效学生.txt
│   ├── stack_heap
│   │   ├── 会议室_set_贪心.cpp
│   │   ├── 会议室_上下车.cpp
│   │   ├── 前K个高频单词.py
│   │   ├── 前K个高频单词_map_优先队列.cpp
│   │   ├── 前K个高频单词_前缀树_优先队列.cpp
│   │   ├── 前K个高频单词_暴力.cpp
│   │   ├── 最小栈.cpp
│   │   ├── 有效的括号.py
│   │   ├── 柱状图中的最大矩形_单调栈.cpp
│   │   ├── 栈的弹出顺序.java
│   │   └── 移除无效括号.cpp
│   ├── string
│   │   ├── KMP.c
│   │   ├── cf_487_div2.cpp
│   │   ├── kmp.cpp
│   │   ├── nod_1469.cpp
│   │   ├── z型变换.cpp
│   │   ├── 复原IP地址_回溯.cpp
│   │   ├── 复原IP地址_暴力.cpp
│   │   ├── 字符串的排列_滑动串口_单数组_anyof.cpp
│   │   ├── 字符串的排列_第二个串是否包含第一个的排列_滑动串口.cpp
│   │   ├── 字符串相乘_模拟竖式乘法.cpp
│   │   ├── 字符串相加_大整数相加.cpp
│   │   ├── 整数转换英文表示.py
│   │   ├── 整数转罗马数字.cpp
│   │   ├── 无重复字符的最长子串.cpp
│   │   ├── 无重复字符的最长子串_滑动窗口.cpp
│   │   ├── 最常见的单词.cpp
│   │   ├── 最常见的单词.py
│   │   ├── 最长公共前缀.cpp
│   │   ├── 简化路径_stringstream.cpp
│   │   ├── 罗马字符转数字.py
│   │   ├── 翻转字符串里的单词.cpp
│   │   ├── 翻转字符串里的单词_原地.cpp
│   │   ├── 解压字符串.py
│   │   ├── 重新排列日志文件.py
│   │   ├── 验证IP地址.java
│   │   ├── 验证IP地址.py
│   │   └── 验证回文串.cpp
│   ├── template
│   │   ├── Array
│   │   │   ├── Q1232_PointLine.java
│   │   │   ├── Q15_ThressSum.java
│   │   │   ├── Q163_FindMissingRanges.java
│   │   │   ├── Q186_ReverseWords.java
│   │   │   ├── Q189_Rotate.java
│   │   │   ├── Q628_MaxProdThree.java
│   │   │   └── Q655_NonDecrease.java
│   │   ├── Axis
│   │   │   └── Q1584_MinConnCost.java
│   │   ├── BIT
│   │   │   ├── Q1649_CreateSortedArr.java
│   │   │   ├── Q307_BIT_API.java
│   │   │   ├── Q315_BIT.java
│   │   │   ├── Q315_CountSmaller.java
│   │   │   ├── Q327_CountRangeSum.java
│   │   │   └── Q493_ReversePairs.java
│   │   ├── BackTracking
│   │   │   ├── Q131_分割回文串.java
│   │   │   ├── Q139_WordBreak.java
│   │   │   ├── Q140_WordBreakII.java
│   │   │   ├── Q1718_.java
│   │   │   ├── Q212_单词搜索2.java
│   │   │   ├── Q267_PalindromePermute.java
│   │   │   ├── Q282_给表达式添加运算符.java
│   │   │   ├── Q31_NextPermute.java
│   │   │   ├── Q320_GenerateWord.java
│   │   │   ├── Q37_解数独.java
│   │   │   ├── Q39_CombinationSum.java
│   │   │   ├── Q40_CombinationSumII.java
│   │   │   ├── Q46_FullPermute.java
│   │   │   ├── Q46_全排列.java
│   │   │   ├── Q472_ConcatentedWords.java
│   │   │   ├── Q47_FullPermute.java
│   │   │   ├── Q51_EightQueens.java
│   │   │   ├── Q51_EightQueens1.java
│   │   │   ├── Q51_N皇后.java
│   │   │   ├── Q52_N皇后.java
│   │   │   ├── Q63_不同路径2.java
│   │   │   ├── Q78_SubSet.java
│   │   │   ├── Q89_GrayCode.java
│   │   │   ├── Q90_SubSet2.java
│   │   │   ├── Q93_复原IP地址.java
│   │   │   ├── Q980_不同路径3.java
│   │   │   ├── Q996_NumSquare.java
│   │   │   └── SplitIntoFibo_842.java
│   │   ├── BinCalc
│   │   │   ├── Q1018_PrefixDiv5.java
│   │   │   ├── Q190_颠倒二进制位.java
│   │   │   ├── Q338_bitCount.java
│   │   │   ├── Q461_汉明距离.java
│   │   │   ├── Q693_交替位二进制数.java
│   │   │   ├── Q751_IP到CIDR.java
│   │   │   ├── Q762_二进制中质数个计算置位.java
│   │   │   └── test.java
│   │   ├── BinSearch
│   │   │   ├── Q1060.java
│   │   │   ├── Q1539_KthPositive.java
│   │   │   ├── Q1552.java
│   │   │   ├── Q1739_MinBox.java
│   │   │   ├── Q174_MinimumHP.java
│   │   │   ├── Q209_MinSubArrayLen.java
│   │   │   ├── Q275.java
│   │   │   ├── Q278_firstBadVersion.java
│   │   │   ├── Q287_FindDuplicate.java
│   │   │   ├── Q315_CountSmaller.java
│   │   │   ├── Q33_Search.java
│   │   │   ├── Q352_SummaryRanges.java
│   │   │   ├── Q363_MaxSubMatrix.java
│   │   │   ├── Q436_FindRightInterval.java
│   │   │   ├── Q4_FindMedian.java
│   │   │   ├── Q50_Pow.java
│   │   │   ├── Q51O_ReversePair.java
│   │   │   ├── Q5643_WaysToSplit.java
│   │   │   ├── Q5678.java
│   │   │   ├── Q668.java
│   │   │   ├── Q69_Sqrt.java
│   │   │   ├── Q713_SubProd.java
│   │   │   ├── Q718_FindLength.java
│   │   │   ├── Q74_SearchMatrix.java
│   │   │   └── Q81_SearchII.java
│   │   ├── Brutal
│   │   │   ├── Q1307_口算难题.java
│   │   │   └── Q5690.java
│   │   ├── DP
│   │   │   ├── Array
│   │   │   │   ├── Q198_RobI.java
│   │   │   │   ├── Q309_StockWithFreeze.java
│   │   │   │   ├── Q376_WiggleArr.java
│   │   │   │   └── Q978_MaxTurbulenceArr.java
│   │   │   ├── Coins_08_11.java
│   │   │   ├── Dungeon
│   │   │   │   ├── Q174_Dungeon.java
│   │   │   │   ├── Q64_MinPathSum.java
│   │   │   │   └── Q714_CherryPick.java
│   │   │   ├── EggDrop_887.java
│   │   │   ├── Interval
│   │   │   │   ├── Stone_VII.java
│   │   │   │   └── _486.java
│   │   │   ├── Jump
│   │   │   │   ├── Q1306_JumpIII.java
│   │   │   │   ├── Q1340_maxJump.java
│   │   │   │   ├── Q45_JumpII.java
│   │   │   │   └── Q55_CanJump.java
│   │   │   ├── LCS
│   │   │   │   ├── CommonSubSequence.java
│   │   │   │   ├── CommonSubString.java
│   │   │   │   └── Q718_FindLength.java
│   │   │   ├── MaxSubArr
│   │   │   │   ├── MaxSubArr.java
│   │   │   │   ├── Q152_MaxProduct.java
│   │   │   │   └── Q53_MaxSubArr.java
│   │   │   ├── MaximalSquare.java
│   │   │   ├── Pack
│   │   │   │   ├── Canpartition_416.java
│   │   │   │   ├── CoinChange_322.java
│   │   │   │   ├── PackComplete.java
│   │   │   │   ├── Pack_01.java
│   │   │   │   └── TargetSum_494.java
│   │   │   ├── Q10_正则表达式匹配.java
│   │   │   ├── Q1143_LCS.java
│   │   │   ├── Q115_不同的子序列.java
│   │   │   ├── Q131_分割回文串.java
│   │   │   ├── Q131_分割回文串_DP预处理.java
│   │   │   ├── Q132_分割回文串2.java
│   │   │   ├── Q152_乘积最大子数组.java
│   │   │   ├── Q17_16_按摩师.java
│   │   │   ├── Q233_数字1的个数.java
│   │   │   ├── Q300_LIS.java
│   │   │   ├── Q300_LongestIncreseSubsequence.java
│   │   │   ├── Q337_打家劫舍3_树上DP.java
│   │   │   ├── Q354_Envelops_LIS.java
│   │   │   ├── Q357_计算各位数不同的数字个数_数位DP.java
│   │   │   ├── Q44_通配符匹配.java
│   │   │   ├── Q494_目标和_背包问题.java
│   │   │   ├── Q53_最大子序和.java
│   │   │   ├── Q5687_执行乘法运算的最大分数.java
│   │   │   ├── Q583_LCS.java
│   │   │   ├── Q62_不同路径.java
│   │   │   ├── Q639_解码方法2.java
│   │   │   ├── Q63_不同路径2.java
│   │   │   ├── Q64_最小路径和.java
│   │   │   ├── Q70跳台阶.java
│   │   │   ├── Q712.java
│   │   │   ├── Q72_编辑距离.java
│   │   │   ├── Q91_解码方法.java
│   │   │   ├── Rectangle
│   │   │   │   ├── Q1277_CountSquare.java
│   │   │   │   ├── Q1504_NumSubMat.java
│   │   │   │   ├── Q5655_SubMatrixSort.java
│   │   │   │   └── Q85_MaxRectangle.java
│   │   │   ├── Schedule
│   │   │   │   └── Q1235_.java
│   │   │   ├── Stage
│   │   │   │   ├── Q70_WaysToClimb.java
│   │   │   │   └── Q746_MinCostClimbing.java
│   │   │   ├── StateCompress
│   │   │   │   ├── Q1617_SubGraph.java
│   │   │   │   ├── Q1655_CanDistribute.java
│   │   │   │   ├── Q1681_MinIncompability.java
│   │   │   │   ├── Q1723_MinimumTimeRequired.java
│   │   │   │   └── Q943_ShortestSuperString.java
│   │   │   ├── Stone
│   │   │   │   └── Q1563_StoneGameV.java
│   │   │   ├── String
│   │   │   │   └── Q32_LongestValidParenthese.java
│   │   │   ├── UniquePaths_62.java
│   │   │   ├── WordBreak_139.java
│   │   │   ├── minimumIncompatibility_5619.java
│   │   │   └── stock
│   │   │       ├── Q121_StockI.java
│   │   │       ├── Q122_StockII.java
│   │   │       ├── Q123_StockIII.java
│   │   │       ├── Q188_StockIV.java
│   │   │       ├── Q689_MaxSumOfThreeSubarrays.java
│   │   │       └── Q714_StockWithFee.java
│   │   ├── Design
│   │   │   ├── Q146_LRU.java
│   │   │   ├── Q460_LFU.java
│   │   │   ├── Q705_HashSet.java
│   │   │   ├── Q705_设计HashMap_红黑树.java
│   │   │   ├── Q705_设计哈希集合.java
│   │   │   └── Q706_设计HashMap.java
│   │   ├── Double
│   │   │   └── Q1232.java
│   │   ├── DoublePtr
│   │   │   ├── Q1099_TwoSumLesss.java
│   │   │   ├── Q15_ThreeSum.java
│   │   │   ├── Q16_ThreeSumCloest.java
│   │   │   ├── Q18_FourSum.java
│   │   │   └── Q524_通过删除字母匹配字典里最长单词.java
│   │   ├── Engineer
│   │   │   └── Q1152_MostVisitedPattern.java
│   │   ├── Enumerate
│   │   │   └── Q1733.java
│   │   ├── Expression
│   │   │   ├── Q0809_GenerateParenthesis.java
│   │   │   ├── Q1106_ParseBoolExpr.java
│   │   │   ├── Q1111_MaxDepthAfterSplit.java
│   │   │   ├── Q19_Regex.java
│   │   │   ├── Q439_ParseTernary.java
│   │   │   ├── Q736_LispEvaluate.java
│   │   │   ├── Q736_offcial.java
│   │   │   └── Q772_基本计算器3.java
│   │   ├── Graph
│   │   │   ├── BFS
│   │   │   │   ├── Q310.java
│   │   │   │   └── Q5665_RestoreArray.java
│   │   │   ├── Dijkstra
│   │   │   │   ├── Q1631_MinEffortPath.java
│   │   │   │   ├── Q5669_从第一个节点出发到最后一个节点的受限路径数.java
│   │   │   │   ├── Q743_.java
│   │   │   │   ├── Q778_swimInWater.java
│   │   │   │   └── Q787.java
│   │   │   ├── Floyd
│   │   │   │   └── Q743.java
│   │   │   ├── Q1202.java
│   │   │   ├── Q130.java
│   │   │   ├── Q1319.java
│   │   │   ├── Q1579.java
│   │   │   ├── Q1631.java
│   │   │   ├── Q399_Devide.java
│   │   │   ├── Q547_FindCircleNum.java
│   │   │   ├── Q684_.java
│   │   │   ├── Q721.java
│   │   │   ├── Q778.java
│   │   │   ├── Q803.java
│   │   │   ├── Q947.java
│   │   │   ├── Q959.java
│   │   │   ├── Q990_EquationsPossible.java
│   │   │   ├── SPFA
│   │   │   │   └── Q743_.java
│   │   │   ├── SpanningTree
│   │   │   │   └── Q1489_CriticalEdges.java
│   │   │   └── Topology
│   │   │       ├── Q1203_Topology.java
│   │   │       ├── Q207_ClassTableI.java
│   │   │       ├── Q210_ClassTableII.java
│   │   │       ├── Q269_AlienOrder.java
│   │   │       ├── Q329_LongestTopoPath.java
│   │   │       ├── Q444_ReconstructinoSeq.java
│   │   │       └── Q630_ClassTableIII.java
│   │   ├── Greedy
│   │   │   ├── CutToSubsequence_659.java
│   │   │   ├── Q135_Candy.java
│   │   │   ├── Q252_会议室.java
│   │   │   ├── Q253_会议室2.java
│   │   │   ├── Q45_JumpGame.java
│   │   │   ├── Q45_跳跃游戏2.java
│   │   │   ├── Q55_跳跃游戏.java
│   │   │   ├── Q5703_最大平均通过率.java
│   │   │   ├── Q57_插入区间.java
│   │   │   ├── Q58_区间合并.java
│   │   │   ├── ReverseRectangle_861.java
│   │   │   └── Task_621.java
│   │   ├── Grid
│   │   │   └── Q807_SkyLine.java
│   │   ├── Hash
│   │   │   ├── Q1044_LongestDupSubstring.java
│   │   │   ├── Q1178.java
│   │   │   ├── Q16_14_BestLine.java
│   │   │   ├── Q178_RepeatedDNA.java
│   │   │   ├── Q205_isIsomorphic.java
│   │   │   ├── Q290_WordPattern.java
│   │   │   ├── Q325_MaxSubArrLen.java
│   │   │   ├── Q325_MaxSubArrayLen.java
│   │   │   ├── Q356_IsReflected.java
│   │   │   ├── Q399_Divide.java
│   │   │   ├── Q442_FindDuplicate.java
│   │   │   ├── Q500_KeyBoard.java
│   │   │   ├── Q5243_Prod.java
│   │   │   ├── Q525_FindMaxLength.java
│   │   │   ├── Q5642_CountPairs.java
│   │   │   ├── Q632_SmallestRange.java
│   │   │   ├── Q697_ShortestArrLen.java
│   │   │   ├── Q734_SimilarSentence.java
│   │   │   ├── Q737_SimilarSentenceII.java
│   │   │   ├── Q781_Rabbit.java
│   │   │   └── Q819_最常见的单词.java
│   │   ├── Intervals
│   │   │   ├── Q435_EraseOverlapIntervals.java
│   │   │   └── Q452_Balloon.java
│   │   ├── JianZhi
│   │   │   ├── Q10.java
│   │   │   ├── Q106_LC.java
│   │   │   ├── Q11.java
│   │   │   ├── Q12.java
│   │   │   ├── Q13.java
│   │   │   ├── Q14.java
│   │   │   ├── Q3.java
│   │   │   ├── Q4.java
│   │   │   ├── Q47.java
│   │   │   ├── Q5.java
│   │   │   ├── Q6.java
│   │   │   ├── Q7.java
│   │   │   └── Q9.java
│   │   ├── LinkList
│   │   │   ├── Q142.java
│   │   │   ├── Q146.java
│   │   │   ├── Q146_LinkedHashMap.java
│   │   │   ├── Q160.java
│   │   │   ├── Q206.java
│   │   │   ├── Q24O_Reverse.java
│   │   │   ├── Q24_SwapPair.java
│   │   │   ├── Q25_ReverseKGroup.java
│   │   │   ├── Q328_OddEvenList.java
│   │   │   ├── Q35O_CopyRandomList.java
│   │   │   ├── Q430_Flatten.java
│   │   │   ├── Q61_ReverseList.java
│   │   │   ├── Q725_SplitList.java
│   │   │   ├── Q86_PartitionLinkedList.java
│   │   │   └── Q92_反转链表2.java
│   │   ├── Math
│   │   │   ├── CountPrime_204.java
│   │   │   ├── Q1093_大样本统计.java
│   │   │   ├── Q166_FractionToDecimal.java
│   │   │   ├── Q1735.java
│   │   │   ├── Q360_有序转化数组.java
│   │   │   ├── Q62O_Joseph.java
│   │   │   ├── Q69_平方根.java
│   │   │   └── _16_05.java
│   │   ├── MonotonousStack
│   │   │   ├── MaxNumber_321.java
│   │   │   ├── MostCompetitive_1673.java
│   │   │   ├── RemoveKdigits_402.java
│   │   │   └── Temperature_739.java
│   │   ├── PrefixSum
│   │   │   ├── Calendar_731.java
│   │   │   ├── Complementary_1674.java
│   │   │   ├── GetModifiedArray_370.java
│   │   │   ├── Q1074_NumSubmatrixTarget.java
│   │   │   ├── Q1737_MinCharacters.java
│   │   │   ├── Q1738_KLargestXorRec.java
│   │   │   ├── Q238_ProductExceptSelf.java
│   │   │   ├── Q304_NumMatrix.java
│   │   │   ├── Q304_renew.java
│   │   │   ├── Q363_MaxSubMatrix.java
│   │   │   └── Q560_SubArraySum.java
│   │   ├── Probability
│   │   │   ├── 公交车.java
│   │   │   ├── 切三角形.java
│   │   │   ├── 双色球.java
│   │   │   ├── 小球放回.java
│   │   │   ├── 小球标记.java
│   │   │   ├── 硬币_正正反.java
│   │   │   └── 连续整数.java
│   │   ├── Random
│   │   │   ├── Q470_rand7实现rand10_拒绝采样.java
│   │   │   ├── Q478_在圆内随机生成点_拒绝采样.java
│   │   │   ├── Q497_非重叠矩形中的随机点.java
│   │   │   └── Q528_按权重随机选择.java
│   │   ├── Range
│   │   │   ├── Q303_PreSum.java
│   │   │   └── Q715_RangeModule.java
│   │   ├── Recursion
│   │   │   ├── Q17_TelNum.java
│   │   │   └── Q22_GenerateParenthesis.java
│   │   ├── Simulation
│   │   │   ├── Q1128_NumEquivDomino.java
│   │   │   ├── Q1737_MinCharacters.java
│   │   │   ├── Q2_AddList.java
│   │   │   ├── Q369_PlusOneList.java
│   │   │   ├── Q415_StringAdd.java
│   │   │   ├── Q43_StringMultiply.java
│   │   │   ├── Q445_AddListII.java
│   │   │   ├── Q468_验证IP地址.java
│   │   │   ├── Q54_GenerateMatrixI.java
│   │   │   ├── Q54_螺旋矩阵.java
│   │   │   ├── Q57插入区间.java
│   │   │   ├── Q59_GenerateMatrix.java
│   │   │   ├── Q59_生成螺旋矩阵.java
│   │   │   ├── Q605_种花问题.java
│   │   │   ├── Q66_PlusOne.java
│   │   │   ├── Q674_LengthOfLCIS.java
│   │   │   ├── Q67_BinAdd.java
│   │   │   ├── Q717_OneBitCharacter.java
│   │   │   ├── Q73_矩阵置零.java
│   │   │   ├── Q888_CandySwap.java
│   │   │   └── Q989_AddArray.java
│   │   ├── Sort
│   │   │   ├── Code_00_BubbleSort.java
│   │   │   ├── Code_01_InsertionSort.java
│   │   │   ├── Code_02_SelectionSort.java
│   │   │   ├── Code_03_HeapSort.java
│   │   │   ├── Code_04_QuickSort.java
│   │   │   ├── Code_05_MergeSort.java
│   │   │   ├── Code_06_BucketSort.java
│   │   │   ├── Code_07_RadixSort.java
│   │   │   ├── CountRangeSum_327.java
│   │   │   ├── Q1122_RelativeSort.java
│   │   │   ├── Q215.java
│   │   │   ├── Q315_MergeSort.java
│   │   │   ├── Q327_CountRangeSum.java
│   │   │   ├── Q51_ReversePair.java
│   │   │   ├── Q912_Sort.java
│   │   │   ├── QuickSort.java
│   │   │   ├── ReversPairs_51.java
│   │   │   └── ReversePairs_493.java
│   │   ├── Stack
│   │   │   ├── Q1047_删除字符串中所有相邻重复项.java
│   │   │   ├── Q150_逆波兰表达式_后缀表达式.java
│   │   │   ├── Q20_brackts.java
│   │   │   ├── Q224_基本计算器.java
│   │   │   ├── Q225_用两个队列实现栈.java
│   │   │   ├── Q227_基本计算器2.java
│   │   │   ├── Q22_GenerateParenthesis.java
│   │   │   ├── Q232_两个栈实现队列.java
│   │   │   ├── Q241_为运算表达式设计优先级.java
│   │   │   ├── Q42_TrapWater.java
│   │   │   ├── Q5704_好子数组的最大分数_单调栈.java
│   │   │   ├── Q84_LargestRectangle.java
│   │   │   ├── _1541.java
│   │   │   ├── _316.java
│   │   │   ├── _402.java
│   │   │   ├── _496.java
│   │   │   ├── _581.java
│   │   │   ├── _739.java
│   │   │   └── _901.java
│   │   ├── String
│   │   │   ├── KMP.java
│   │   │   ├── Q1047_删除字符串中的相邻重复项.java
│   │   │   ├── Q125_IsPalindrome.java
│   │   │   ├── Q1278_CutPalindromesIII.java
│   │   │   ├── Q131_CutPalindromesI.java
│   │   │   ├── Q132_CutPalidromesII.java
│   │   │   ├── Q214_ShortestPalindrome.java
│   │   │   ├── Q266_CanPermutePalindrome.java
│   │   │   ├── Q267_GeneratePalindromes.java
│   │   │   ├── Q387_FirstUniq.java
│   │   │   ├── Q5666_CutPalindromesIV.java
│   │   │   ├── Q5_LongestPalindrome.java
│   │   │   ├── Q680_IsPalindromeII.java
│   │   │   └── Q748_ShortestCompleting.java
│   │   ├── SubArray
│   │   │   └── Q713_SubProd.java
│   │   ├── Tree
│   │   │   ├── BFS
│   │   │   │   └── Q1660_CorrectTree.java
│   │   │   ├── DiameterOfBinaryTree.java
│   │   │   ├── MaxPathSum_124.java
│   │   │   ├── Q102_levelOrder.java
│   │   │   ├── Q103_LevelOrder.java
│   │   │   ├── Q108.java
│   │   │   ├── Q109.java
│   │   │   ├── Q112_路径总和.java
│   │   │   ├── Q113_路径总和2.java
│   │   │   ├── Q124_二叉树最大路径和.java
│   │   │   ├── Q1257.java
│   │   │   ├── Q1382.java
│   │   │   ├── Q144_PreOrder.java
│   │   │   ├── Q145_PostOrder.java
│   │   │   ├── Q199_right.java
│   │   │   ├── Q235_BST_LCA.java
│   │   │   ├── Q236_LCA.java
│   │   │   ├── Q241.java
│   │   │   ├── Q257_二叉树的所有路径.java
│   │   │   ├── Q297_序列化二叉树.java
│   │   │   ├── Q331_验证二叉树前序序列化.java
│   │   │   ├── Q437_路径总和3.java
│   │   │   ├── Q543_二叉树的直径.java
│   │   │   ├── Q589.java
│   │   │   ├── Q590.java
│   │   │   ├── Q666_路径总和4.java
│   │   │   ├── Q94.java
│   │   │   ├── Q95.java
│   │   │   ├── Q96.java
│   │   │   ├── Q98.java
│   │   │   ├── Q99.java
│   │   │   ├── SumOfTree
│   │   │   │   └── Q663_HalfSum.java
│   │   │   └── TreeNode.java
│   │   ├── Trie
│   │   │   ├── Q208_实现Trie前缀树.java
│   │   │   ├── Q524_通过删除字母匹配到字典里的最长单词.java
│   │   │   └── Q720_词典中的最长单词.java
│   │   ├── UnionFind
│   │   │   ├── Q1220_StringSwap.java
│   │   │   ├── Q1319_MakeConnected.java
│   │   │   ├── Q1579_MaxNumEdgesRemove.java
│   │   │   ├── Q1584_MinConnCost.java
│   │   │   ├── Q547_FindCircleNum.java
│   │   │   ├── Q5632_PathLimited.java
│   │   │   ├── Q5650_MinHammingDistance.java
│   │   │   ├── Q684_RedundantConn.java
│   │   │   ├── Q685_RedundantConnII.java
│   │   │   ├── Q721_AccountMerge.java
│   │   │   ├── Q765.java
│   │   │   ├── Q803_HitBrick.java
│   │   │   ├── Q839_SimilarStringGroup.java
│   │   │   ├── Q947_RemoveStones.java
│   │   │   └── Q959_RegionsBySlash.java
│   │   ├── Window
│   │   │   ├── Contest220_B.java
│   │   │   ├── Q1004.java
│   │   │   ├── Q1004_LongestOnesIII.java
│   │   │   ├── Q1052.java
│   │   │   ├── Q1208_EqualSubstring.java
│   │   │   ├── Q1358.java
│   │   │   ├── Q1423_MaxScore.java
│   │   │   ├── Q1438.java
│   │   │   ├── Q1493_LongsetSubarr.java
│   │   │   ├── Q159_LengthOfLongestSubstringTwoDistinct.java
│   │   │   ├── Q209_MinSubArrayLen.java
│   │   │   ├── Q239_MaxSlidingWindow.java
│   │   │   ├── Q340_.java
│   │   │   ├── Q376_UpDownArr.java
│   │   │   ├── Q395_.java
│   │   │   ├── Q395_LongestSubstring.java
│   │   │   ├── Q3_LengthOfLongestSubstring.java
│   │   │   ├── Q424_CharacterReplaceRepeat.java
│   │   │   ├── Q480_MedianSlidingWindow.java
│   │   │   ├── Q567_CheckInclusion.java
│   │   │   ├── Q643_FindMaxAverage.java
│   │   │   ├── Q644_FindMaxAverageII.java
│   │   │   ├── Q697.java
│   │   │   ├── Q713_SubProd.java
│   │   │   ├── Q76_MinWindow.java
│   │   │   ├── Q978_MaxTurbulenceArr.java
│   │   │   ├── Q992_.java
│   │   │   ├── Q995.java
│   │   │   └── _48.java
│   │   ├── heap
│   │   │   └── Q5638_EatenApples.java
│   │   └── queue
│   │       ├── Q1425_SubsetSum.java
│   │       ├── Q1792_最大平均通过率.java
│   │       ├── Q295_MedianFinder.java
│   │       ├── Q5631_jumpingGame.java
│   │       ├── Q5710_积压订单中的订单总数.java
│   │       └── _649.java
│   ├── tencent2020
│   │   ├── 1.cpp
│   │   ├── test.cpp
│   │   └── 视野争夺-区间覆盖.cpp
│   ├── tree
│   │   ├── 113路径总和.cpp
│   │   ├── BST转为累加树.cpp
│   │   ├── 二叉搜索树的第k大节点.cpp
│   │   ├── 二叉树中和为某一值的路径.cpp
│   │   ├── 二叉树中序遍历_迭代.cpp
│   │   ├── 二叉树中的最大路径和_递归_正贡献度.cpp
│   │   ├── 二叉树搜索树的后序遍历序列.java
│   │   ├── 二叉树的右视图.cpp
│   │   ├── 二叉树的层平均值.cpp
│   │   ├── 二叉树的直径.cpp
│   │   ├── 二叉树锯齿遍历_deque.cpp
│   │   ├── 从中序与前序构建二叉树.cpp
│   │   ├── 从中序与后续构建二叉树.cpp
│   │   ├── 冗余连接II_找入度为2的点_并查集判断是否成树.cpp
│   │   ├── 判断平衡二叉树.cpp
│   │   ├── 另一个树的子树_dfs.cpp
│   │   ├── 另一个树的子树_dfs_kmp.cpp
│   │   ├── 另一个树的子树_dfs_树哈希.cpp
│   │   ├── 另一个树的子树_暴力_前序_后序.cpp
│   │   ├── 对称的二叉树.cpp
│   │   ├── 最近公共祖先.cpp
│   │   ├── 最近公共祖先_二分优化.cpp
│   │   ├── 最近公共祖先_直接递归.cpp
│   │   ├── 树的子结构.cpp
│   │   └── 验证二叉搜索树_中序遍历.cpp
│   ├── 区间覆盖问题
│   │   └── 灌溉花园的最少水龙头.cpp
│   └── 设计
│       ├── 数据流中的中位数-优先队列.cpp
│       └── 最小栈.java

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages