nowcoder-zuo
牛客网左神第四期算法班代码
basic_class_01
# 冒泡排序
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
# 荷兰国旗问题
Code_08_NetherlandsFlag.java
# 自定义排序规则
Code_09_Comparator.java
# 已知A、B两个数组,求在B中且不在A中的元素
Code_10_GetAllNotIncluded.java
# 给定一个数组,求如果排序之后,相邻两数的最大差值,要求时间复杂度O(N),且要求不能用非基于比较的排序。
Code_11_MaxGap.java
# 在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组的小和。
Code_12_SmallSum.java
basic_class_02
Code_01_KMP.java
Code_02_KMP_ShortestHaveTwice.java
Code_03_KMP_T1SubtreeEqualsT2.java
Code_04_Manacher.java
Code_05_Manacher_ShortestEnd.java
Code_06_BFPRT.java
basic_class_03
Code_01_Array_To_Stack_Queue.java
Code_02_GetMinStack.java
Code_03_StackAndQueueConvert.java
Code_04_DogCatQueue.java
Code_05_RotateMatrix.java
Code_06_PrintMatrixSpiralOrder.java
Code_07_ReverseList.java
Code_08_ZigZagPrintMatrix.java
Code_09_FindNumInSortedMatrix.java
Code_10_PrintCommonPart.java
Code_11_IsPalindromeList.java
Code_12_SmallerEqualBigger.java
Code_13_CopyListWithRandom.java
Code_14_FindFirstIntersectNode.java
Code_15_FindOneLessValueIndex.java
basic_class_04
Code_01_PreInPosTraversal.java
Code_02_PrintBinaryTree.java
Code_03_SuccessorNode.java
Code_04_SerializeAndReconstructTree.java
Code_05_PaperFolding.java
Code_06_IsBalancedTree.java
Code_07_IsBSTAndCBT.java
Code_08_CompleteTreeNodeNumber.java
basic_class_05
Code_01_HashMap.java
Code_02_RandomPool.java
Code_03_Islands.java
Code_04_UnionFind.java
basic_class_06
Code_01_BFS.java
Code_02_DFS.java
Code_03_TopologySort.java
Code_04_Kruskal.java
Code_05_Prim.java
Code_06_Dijkstra.java
Edge.java
Graph.java
GraphGenerator.java
Node.java
basic_class_07
Code_01_TrieTree.java
Code_02_Less_Money.java
Code_03_IPO.java
Code_04_MadianQuick.java
Code_05_LowestLexicography.java
Code_06_BestArrange.java
basic_class_08
Code_01_Factorial.java
Code_02_Hanoi.java
Code_03_Print_All_Subsquences.java
Code_04_Print_All_Permutations.java
Code_05_Cow.java
Code_06_ReverseStackUsingRecursive.java
Code_07_MinPath.java
Code_08_Money_Problem.java
Code_09_Knapsack.java
FaceBook.java
Test.java
advanced_class_01
Code_01_GetMax.java
Code_02_HanoiProblem.java
Code_03_LongestPathSum.java
Code_05_IsBalancedTree.java
Code_06_T1ContainsT2Topology.java
Code_07_ExpressionCompute.java
Code_08_MaxDistanceInTree.java
advanced_class_02
Code_01_LeastRecentlyUsedCache.java
Code_02_Building_Outline.java
Code_03_FindNewTypeChar.java
Code_04_TrieTree.java
Code_05_EnglishExpression.java
Code_06_ChineseExpression.java
Code_07_ThrowChessPiecesProblem.java
advanced_class_03
AbstractBinarySearchTree.java
AbstractSelfBalancingBinarySearchTree.java
AVLTree.java
BinarySearchTree.java
Code_01_MorrisTraversal.java
Code_02_SkipList.java
RedBlackTree.java
advanced_class_04
Code_01_Building_Outline.java
Code_02_LRU.java
Code_03_LFU.java
Code_04_BiggestSubBSTInTree.java
Code_05_LongestSumSubArrayLength.java
Code_06_Most_EOR.java
Code_07_ExpressionCompute.java
advanced_class_05
Code_01_IsBSTAndCBT.java
Code_02_IsBalancedTree.java
Code_03_MaxDistanceInTree.java
Code_04_MaxHappy.java
Code_05_Max_EOR.java
Code_06_CompleteTreeNodeNumber.java
advanced_class_06
Code_01_CoinsWay.java
Code_02_CardsInLine.java
Code_03_RegularExpressionMatch.java
Code_04_LongestSumSubArrayLengthInPositiveArray.java
Code_05_LongestSubarrayLessSumAwesomeSolution.java
Code_06_JosephusProblem.java
advanced_class_07
Code_01_MinPathSum.java
Code_02_LIS.java
Code_03_LCSubsequence.java
Code_04_LCSubstring.java
Code_05_EditCost.java
Code_06_PalindromeMinCut.java
Code_07_StringCross.java
Code_08_ParenthesesProblem.java
advanced_class_08
Code_01_TopKSumCrossTwoArrays.java
Code_02_MaxSubMatrixSum.java
Code_03_MaxOneBorderSize.java
Code_04_FibonacciProblem.java
Code_05_LongestNoRepeatSubstring.java
Code_06_ShuffleProblem.java