diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..feca861
Binary files /dev/null and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..74aaf9e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/src/aaa/
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..73f69e0
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..644a944
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..4c0be1d
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
new file mode 100644
index 0000000..797acea
--- /dev/null
+++ b/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/algorithmbasic2020.iml b/algorithmbasic2020.iml
new file mode 100644
index 0000000..436d436
--- /dev/null
+++ b/algorithmbasic2020.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/out/production/algorithmbasic2020/aaa/Main.class b/out/production/algorithmbasic2020/aaa/Main.class
new file mode 100644
index 0000000..cf6eef6
Binary files /dev/null and b/out/production/algorithmbasic2020/aaa/Main.class differ
diff --git a/out/production/algorithmbasic2020/aaa/Main2.class b/out/production/algorithmbasic2020/aaa/Main2.class
new file mode 100644
index 0000000..db2c786
Binary files /dev/null and b/out/production/algorithmbasic2020/aaa/Main2.class differ
diff --git a/out/production/algorithmbasic2020/aaa/Main3.class b/out/production/algorithmbasic2020/aaa/Main3.class
new file mode 100644
index 0000000..38414e7
Binary files /dev/null and b/out/production/algorithmbasic2020/aaa/Main3.class differ
diff --git a/out/production/algorithmbasic2020/class01/Code01_SelectionSort.class b/out/production/algorithmbasic2020/class01/Code01_SelectionSort.class
new file mode 100644
index 0000000..4a5b908
Binary files /dev/null and b/out/production/algorithmbasic2020/class01/Code01_SelectionSort.class differ
diff --git a/out/production/algorithmbasic2020/class01/Code02_BubbleSort.class b/out/production/algorithmbasic2020/class01/Code02_BubbleSort.class
new file mode 100644
index 0000000..c0a8bb9
Binary files /dev/null and b/out/production/algorithmbasic2020/class01/Code02_BubbleSort.class differ
diff --git a/out/production/algorithmbasic2020/class01/Code03_InsertionSort.class b/out/production/algorithmbasic2020/class01/Code03_InsertionSort.class
new file mode 100644
index 0000000..dd714e6
Binary files /dev/null and b/out/production/algorithmbasic2020/class01/Code03_InsertionSort.class differ
diff --git a/out/production/algorithmbasic2020/class01/Code04_BSExist.class b/out/production/algorithmbasic2020/class01/Code04_BSExist.class
new file mode 100644
index 0000000..bf9279f
Binary files /dev/null and b/out/production/algorithmbasic2020/class01/Code04_BSExist.class differ
diff --git a/out/production/algorithmbasic2020/class01/Code05_BSNearLeft.class b/out/production/algorithmbasic2020/class01/Code05_BSNearLeft.class
new file mode 100644
index 0000000..8834c36
Binary files /dev/null and b/out/production/algorithmbasic2020/class01/Code05_BSNearLeft.class differ
diff --git a/out/production/algorithmbasic2020/class01/Code05_BSNearRight.class b/out/production/algorithmbasic2020/class01/Code05_BSNearRight.class
new file mode 100644
index 0000000..14a836b
Binary files /dev/null and b/out/production/algorithmbasic2020/class01/Code05_BSNearRight.class differ
diff --git a/out/production/algorithmbasic2020/class01/Code06_BSAwesome.class b/out/production/algorithmbasic2020/class01/Code06_BSAwesome.class
new file mode 100644
index 0000000..9bed8c1
Binary files /dev/null and b/out/production/algorithmbasic2020/class01/Code06_BSAwesome.class differ
diff --git a/out/production/algorithmbasic2020/class02/Code01_Swap.class b/out/production/algorithmbasic2020/class02/Code01_Swap.class
new file mode 100644
index 0000000..efb27f0
Binary files /dev/null and b/out/production/algorithmbasic2020/class02/Code01_Swap.class differ
diff --git a/out/production/algorithmbasic2020/class02/Code02_EvenTimesOddTimes.class b/out/production/algorithmbasic2020/class02/Code02_EvenTimesOddTimes.class
new file mode 100644
index 0000000..2f0090e
Binary files /dev/null and b/out/production/algorithmbasic2020/class02/Code02_EvenTimesOddTimes.class differ
diff --git a/out/production/algorithmbasic2020/class02/Code03_KM.class b/out/production/algorithmbasic2020/class02/Code03_KM.class
new file mode 100644
index 0000000..d2ffdcf
Binary files /dev/null and b/out/production/algorithmbasic2020/class02/Code03_KM.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code01_ReverseList$DoubleNode.class b/out/production/algorithmbasic2020/class03/Code01_ReverseList$DoubleNode.class
new file mode 100644
index 0000000..050c8c0
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code01_ReverseList$DoubleNode.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code01_ReverseList$Node.class b/out/production/algorithmbasic2020/class03/Code01_ReverseList$Node.class
new file mode 100644
index 0000000..2f200e7
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code01_ReverseList$Node.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code01_ReverseList.class b/out/production/algorithmbasic2020/class03/Code01_ReverseList.class
new file mode 100644
index 0000000..82edf38
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code01_ReverseList.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code02_DeleteGivenValue$Node.class b/out/production/algorithmbasic2020/class03/Code02_DeleteGivenValue$Node.class
new file mode 100644
index 0000000..a5a8136
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code02_DeleteGivenValue$Node.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code02_DeleteGivenValue.class b/out/production/algorithmbasic2020/class03/Code02_DeleteGivenValue.class
new file mode 100644
index 0000000..8bf8c54
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code02_DeleteGivenValue.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$DoubleEndsQueue.class b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$DoubleEndsQueue.class
new file mode 100644
index 0000000..dc70011
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$DoubleEndsQueue.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$MyQueue.class b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$MyQueue.class
new file mode 100644
index 0000000..18c2580
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$MyQueue.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$MyStack.class b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$MyStack.class
new file mode 100644
index 0000000..c87023c
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$MyStack.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$Node.class b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$Node.class
new file mode 100644
index 0000000..cce0218
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue$Node.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue.class b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue.class
new file mode 100644
index 0000000..f5218d6
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code03_DoubleEndsQueueToStackAndQueue.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code04_RingArray$MyQueue.class b/out/production/algorithmbasic2020/class03/Code04_RingArray$MyQueue.class
new file mode 100644
index 0000000..1375a79
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code04_RingArray$MyQueue.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code04_RingArray.class b/out/production/algorithmbasic2020/class03/Code04_RingArray.class
new file mode 100644
index 0000000..feabdc5
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code04_RingArray.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code05_GetMinStack$MyStack1.class b/out/production/algorithmbasic2020/class03/Code05_GetMinStack$MyStack1.class
new file mode 100644
index 0000000..c020d9f
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code05_GetMinStack$MyStack1.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code05_GetMinStack$MyStack2.class b/out/production/algorithmbasic2020/class03/Code05_GetMinStack$MyStack2.class
new file mode 100644
index 0000000..0acf7da
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code05_GetMinStack$MyStack2.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code05_GetMinStack.class b/out/production/algorithmbasic2020/class03/Code05_GetMinStack.class
new file mode 100644
index 0000000..f9c1d2c
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code05_GetMinStack.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code06_TwoStacksImplementQueue$TwoStacksQueue.class b/out/production/algorithmbasic2020/class03/Code06_TwoStacksImplementQueue$TwoStacksQueue.class
new file mode 100644
index 0000000..6d4ccff
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code06_TwoStacksImplementQueue$TwoStacksQueue.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code06_TwoStacksImplementQueue.class b/out/production/algorithmbasic2020/class03/Code06_TwoStacksImplementQueue.class
new file mode 100644
index 0000000..026c794
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code06_TwoStacksImplementQueue.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code07_TwoQueueImplementStack$TwoQueueStack.class b/out/production/algorithmbasic2020/class03/Code07_TwoQueueImplementStack$TwoQueueStack.class
new file mode 100644
index 0000000..89a4f67
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code07_TwoQueueImplementStack$TwoQueueStack.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code07_TwoQueueImplementStack.class b/out/production/algorithmbasic2020/class03/Code07_TwoQueueImplementStack.class
new file mode 100644
index 0000000..18e9440
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code07_TwoQueueImplementStack.class differ
diff --git a/out/production/algorithmbasic2020/class03/Code08_GetMax.class b/out/production/algorithmbasic2020/class03/Code08_GetMax.class
new file mode 100644
index 0000000..47270d9
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/Code08_GetMax.class differ
diff --git a/out/production/algorithmbasic2020/class03/HashMapAndSortedMap$Node.class b/out/production/algorithmbasic2020/class03/HashMapAndSortedMap$Node.class
new file mode 100644
index 0000000..deb3fdb
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/HashMapAndSortedMap$Node.class differ
diff --git a/out/production/algorithmbasic2020/class03/HashMapAndSortedMap$Zuo.class b/out/production/algorithmbasic2020/class03/HashMapAndSortedMap$Zuo.class
new file mode 100644
index 0000000..f97a14b
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/HashMapAndSortedMap$Zuo.class differ
diff --git a/out/production/algorithmbasic2020/class03/HashMapAndSortedMap.class b/out/production/algorithmbasic2020/class03/HashMapAndSortedMap.class
new file mode 100644
index 0000000..920539d
Binary files /dev/null and b/out/production/algorithmbasic2020/class03/HashMapAndSortedMap.class differ
diff --git a/out/production/algorithmbasic2020/class04/Code01_MergeSort.class b/out/production/algorithmbasic2020/class04/Code01_MergeSort.class
new file mode 100644
index 0000000..f1e8656
Binary files /dev/null and b/out/production/algorithmbasic2020/class04/Code01_MergeSort.class differ
diff --git a/out/production/algorithmbasic2020/class04/Code02_SmallSum.class b/out/production/algorithmbasic2020/class04/Code02_SmallSum.class
new file mode 100644
index 0000000..38a7a05
Binary files /dev/null and b/out/production/algorithmbasic2020/class04/Code02_SmallSum.class differ
diff --git a/out/production/algorithmbasic2020/class04/Code03_ReversePair.class b/out/production/algorithmbasic2020/class04/Code03_ReversePair.class
new file mode 100644
index 0000000..2d3a5fb
Binary files /dev/null and b/out/production/algorithmbasic2020/class04/Code03_ReversePair.class differ
diff --git a/out/production/algorithmbasic2020/class04/Code04_BiggerThanRightTwice.class b/out/production/algorithmbasic2020/class04/Code04_BiggerThanRightTwice.class
new file mode 100644
index 0000000..6ddadc8
Binary files /dev/null and b/out/production/algorithmbasic2020/class04/Code04_BiggerThanRightTwice.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code01_CountOfRangeSum.class b/out/production/algorithmbasic2020/class05/Code01_CountOfRangeSum.class
new file mode 100644
index 0000000..efe6941
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code01_CountOfRangeSum.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code02_PartitionAndQuickSort.class b/out/production/algorithmbasic2020/class05/Code02_PartitionAndQuickSort.class
new file mode 100644
index 0000000..79f38b3
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code02_PartitionAndQuickSort.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code03_QuickSortRecursiveAndUnrecursive$Op.class b/out/production/algorithmbasic2020/class05/Code03_QuickSortRecursiveAndUnrecursive$Op.class
new file mode 100644
index 0000000..6a32039
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code03_QuickSortRecursiveAndUnrecursive$Op.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code03_QuickSortRecursiveAndUnrecursive.class b/out/production/algorithmbasic2020/class05/Code03_QuickSortRecursiveAndUnrecursive.class
new file mode 100644
index 0000000..c7ea8fd
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code03_QuickSortRecursiveAndUnrecursive.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$HeadTail.class b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$HeadTail.class
new file mode 100644
index 0000000..2d2e687
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$HeadTail.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$Info.class b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$Info.class
new file mode 100644
index 0000000..458bee2
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$Info.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$Node.class b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$Node.class
new file mode 100644
index 0000000..ad8774a
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$Node.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$NodeComp.class b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$NodeComp.class
new file mode 100644
index 0000000..9a64a43
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort$NodeComp.class differ
diff --git a/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort.class b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort.class
new file mode 100644
index 0000000..4bf0d6f
Binary files /dev/null and b/out/production/algorithmbasic2020/class05/Code04_DoubleLinkedListQuickSort.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code01_Comparator$AComp.class b/out/production/algorithmbasic2020/class06/Code01_Comparator$AComp.class
new file mode 100644
index 0000000..7100b62
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code01_Comparator$AComp.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code01_Comparator$IdAscendingComparator.class b/out/production/algorithmbasic2020/class06/Code01_Comparator$IdAscendingComparator.class
new file mode 100644
index 0000000..5ac4f41
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code01_Comparator$IdAscendingComparator.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code01_Comparator$IdDescendingComparator.class b/out/production/algorithmbasic2020/class06/Code01_Comparator$IdDescendingComparator.class
new file mode 100644
index 0000000..09e48e7
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code01_Comparator$IdDescendingComparator.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code01_Comparator$IdInAgeDe.class b/out/production/algorithmbasic2020/class06/Code01_Comparator$IdInAgeDe.class
new file mode 100644
index 0000000..b090e4b
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code01_Comparator$IdInAgeDe.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code01_Comparator$IdShengAgeJiangOrder.class b/out/production/algorithmbasic2020/class06/Code01_Comparator$IdShengAgeJiangOrder.class
new file mode 100644
index 0000000..6bb2174
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code01_Comparator$IdShengAgeJiangOrder.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code01_Comparator$MyComp.class b/out/production/algorithmbasic2020/class06/Code01_Comparator$MyComp.class
new file mode 100644
index 0000000..0935060
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code01_Comparator$MyComp.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code01_Comparator$Student.class b/out/production/algorithmbasic2020/class06/Code01_Comparator$Student.class
new file mode 100644
index 0000000..09f3af0
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code01_Comparator$Student.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code01_Comparator.class b/out/production/algorithmbasic2020/class06/Code01_Comparator.class
new file mode 100644
index 0000000..01b5598
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code01_Comparator.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code02_Heap$MyComparator.class b/out/production/algorithmbasic2020/class06/Code02_Heap$MyComparator.class
new file mode 100644
index 0000000..eb0e4ed
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code02_Heap$MyComparator.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code02_Heap$MyMaxHeap.class b/out/production/algorithmbasic2020/class06/Code02_Heap$MyMaxHeap.class
new file mode 100644
index 0000000..f4ff2b5
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code02_Heap$MyMaxHeap.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code02_Heap$RightMaxHeap.class b/out/production/algorithmbasic2020/class06/Code02_Heap$RightMaxHeap.class
new file mode 100644
index 0000000..63abbf7
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code02_Heap$RightMaxHeap.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code02_Heap.class b/out/production/algorithmbasic2020/class06/Code02_Heap.class
new file mode 100644
index 0000000..ba0dde4
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code02_Heap.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code03_HeapSort.class b/out/production/algorithmbasic2020/class06/Code03_HeapSort.class
new file mode 100644
index 0000000..689357c
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code03_HeapSort.class differ
diff --git a/out/production/algorithmbasic2020/class06/Code04_SortArrayDistanceLessK.class b/out/production/algorithmbasic2020/class06/Code04_SortArrayDistanceLessK.class
new file mode 100644
index 0000000..6a1d8d3
Binary files /dev/null and b/out/production/algorithmbasic2020/class06/Code04_SortArrayDistanceLessK.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code01_CoverMax$EndComparator.class b/out/production/algorithmbasic2020/class07/Code01_CoverMax$EndComparator.class
new file mode 100644
index 0000000..1c8d8e3
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code01_CoverMax$EndComparator.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code01_CoverMax$Line.class b/out/production/algorithmbasic2020/class07/Code01_CoverMax$Line.class
new file mode 100644
index 0000000..b86edc6
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code01_CoverMax$Line.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code01_CoverMax$StartComparator.class b/out/production/algorithmbasic2020/class07/Code01_CoverMax$StartComparator.class
new file mode 100644
index 0000000..0499d2d
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code01_CoverMax$StartComparator.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code01_CoverMax.class b/out/production/algorithmbasic2020/class07/Code01_CoverMax.class
new file mode 100644
index 0000000..3e34443
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code01_CoverMax.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$CandidateComparator.class b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$CandidateComparator.class
new file mode 100644
index 0000000..dd02a14
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$CandidateComparator.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$Customer.class b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$Customer.class
new file mode 100644
index 0000000..6dbd9cd
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$Customer.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$DaddyComparator.class b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$DaddyComparator.class
new file mode 100644
index 0000000..c2a2e61
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$DaddyComparator.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$Data.class b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$Data.class
new file mode 100644
index 0000000..ef43a32
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$Data.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$WhosYourDaddy.class b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$WhosYourDaddy.class
new file mode 100644
index 0000000..73ac9a1
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss$WhosYourDaddy.class differ
diff --git a/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss.class b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss.class
new file mode 100644
index 0000000..a008f8f
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Code02_EveryStepShowBoss.class differ
diff --git a/out/production/algorithmbasic2020/class07/HeapGreater.class b/out/production/algorithmbasic2020/class07/HeapGreater.class
new file mode 100644
index 0000000..adda0bc
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/HeapGreater.class differ
diff --git a/out/production/algorithmbasic2020/class07/Inner.class b/out/production/algorithmbasic2020/class07/Inner.class
new file mode 100644
index 0000000..7a15170
Binary files /dev/null and b/out/production/algorithmbasic2020/class07/Inner.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code01_TrieTree$Node1.class b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Node1.class
new file mode 100644
index 0000000..a52b343
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Node1.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code01_TrieTree$Node2.class b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Node2.class
new file mode 100644
index 0000000..975eb8d
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Node2.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code01_TrieTree$Right.class b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Right.class
new file mode 100644
index 0000000..31ef775
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Right.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code01_TrieTree$Trie1.class b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Trie1.class
new file mode 100644
index 0000000..50c37dd
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Trie1.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code01_TrieTree$Trie2.class b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Trie2.class
new file mode 100644
index 0000000..907faa8
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code01_TrieTree$Trie2.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code01_TrieTree.class b/out/production/algorithmbasic2020/class08/Code01_TrieTree.class
new file mode 100644
index 0000000..f6546fc
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code01_TrieTree.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code02_TrieTree$Node1.class b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Node1.class
new file mode 100644
index 0000000..ae1e9ab
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Node1.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code02_TrieTree$Node2.class b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Node2.class
new file mode 100644
index 0000000..ea387e9
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Node2.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code02_TrieTree$Right.class b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Right.class
new file mode 100644
index 0000000..008524f
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Right.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code02_TrieTree$Trie1.class b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Trie1.class
new file mode 100644
index 0000000..357aa38
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Trie1.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code02_TrieTree$Trie2.class b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Trie2.class
new file mode 100644
index 0000000..21ebfc2
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code02_TrieTree$Trie2.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code02_TrieTree.class b/out/production/algorithmbasic2020/class08/Code02_TrieTree.class
new file mode 100644
index 0000000..a06a69e
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code02_TrieTree.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code03_CountSort.class b/out/production/algorithmbasic2020/class08/Code03_CountSort.class
new file mode 100644
index 0000000..5ea33d2
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code03_CountSort.class differ
diff --git a/out/production/algorithmbasic2020/class08/Code04_RadixSort.class b/out/production/algorithmbasic2020/class08/Code04_RadixSort.class
new file mode 100644
index 0000000..3fc46b5
Binary files /dev/null and b/out/production/algorithmbasic2020/class08/Code04_RadixSort.class differ
diff --git a/out/production/algorithmbasic2020/class09/Code01_LinkedListMid$Node.class b/out/production/algorithmbasic2020/class09/Code01_LinkedListMid$Node.class
new file mode 100644
index 0000000..6b66ea3
Binary files /dev/null and b/out/production/algorithmbasic2020/class09/Code01_LinkedListMid$Node.class differ
diff --git a/out/production/algorithmbasic2020/class09/Code01_LinkedListMid.class b/out/production/algorithmbasic2020/class09/Code01_LinkedListMid.class
new file mode 100644
index 0000000..1fed664
Binary files /dev/null and b/out/production/algorithmbasic2020/class09/Code01_LinkedListMid.class differ
diff --git a/out/production/algorithmbasic2020/class09/Code02_IsPalindromeList$Node.class b/out/production/algorithmbasic2020/class09/Code02_IsPalindromeList$Node.class
new file mode 100644
index 0000000..f454f4a
Binary files /dev/null and b/out/production/algorithmbasic2020/class09/Code02_IsPalindromeList$Node.class differ
diff --git a/out/production/algorithmbasic2020/class09/Code02_IsPalindromeList.class b/out/production/algorithmbasic2020/class09/Code02_IsPalindromeList.class
new file mode 100644
index 0000000..53cfd87
Binary files /dev/null and b/out/production/algorithmbasic2020/class09/Code02_IsPalindromeList.class differ
diff --git a/out/production/algorithmbasic2020/class09/Code03_SmallerEqualBigger$Node.class b/out/production/algorithmbasic2020/class09/Code03_SmallerEqualBigger$Node.class
new file mode 100644
index 0000000..d234f19
Binary files /dev/null and b/out/production/algorithmbasic2020/class09/Code03_SmallerEqualBigger$Node.class differ
diff --git a/out/production/algorithmbasic2020/class09/Code03_SmallerEqualBigger.class b/out/production/algorithmbasic2020/class09/Code03_SmallerEqualBigger.class
new file mode 100644
index 0000000..cccf887
Binary files /dev/null and b/out/production/algorithmbasic2020/class09/Code03_SmallerEqualBigger.class differ
diff --git a/out/production/algorithmbasic2020/class09/Code04_CopyListWithRandom$Node.class b/out/production/algorithmbasic2020/class09/Code04_CopyListWithRandom$Node.class
new file mode 100644
index 0000000..067d161
Binary files /dev/null and b/out/production/algorithmbasic2020/class09/Code04_CopyListWithRandom$Node.class differ
diff --git a/out/production/algorithmbasic2020/class09/Code04_CopyListWithRandom.class b/out/production/algorithmbasic2020/class09/Code04_CopyListWithRandom.class
new file mode 100644
index 0000000..1ba0b9b
Binary files /dev/null and b/out/production/algorithmbasic2020/class09/Code04_CopyListWithRandom.class differ
diff --git a/out/production/algorithmbasic2020/class10/Code01_FindFirstIntersectNode$Node.class b/out/production/algorithmbasic2020/class10/Code01_FindFirstIntersectNode$Node.class
new file mode 100644
index 0000000..251b0de
Binary files /dev/null and b/out/production/algorithmbasic2020/class10/Code01_FindFirstIntersectNode$Node.class differ
diff --git a/out/production/algorithmbasic2020/class10/Code01_FindFirstIntersectNode.class b/out/production/algorithmbasic2020/class10/Code01_FindFirstIntersectNode.class
new file mode 100644
index 0000000..668e21f
Binary files /dev/null and b/out/production/algorithmbasic2020/class10/Code01_FindFirstIntersectNode.class differ
diff --git a/out/production/algorithmbasic2020/class10/Code02_RecursiveTraversalBT$Node.class b/out/production/algorithmbasic2020/class10/Code02_RecursiveTraversalBT$Node.class
new file mode 100644
index 0000000..efd22bd
Binary files /dev/null and b/out/production/algorithmbasic2020/class10/Code02_RecursiveTraversalBT$Node.class differ
diff --git a/out/production/algorithmbasic2020/class10/Code02_RecursiveTraversalBT.class b/out/production/algorithmbasic2020/class10/Code02_RecursiveTraversalBT.class
new file mode 100644
index 0000000..b87794c
Binary files /dev/null and b/out/production/algorithmbasic2020/class10/Code02_RecursiveTraversalBT.class differ
diff --git a/out/production/algorithmbasic2020/class10/Code03_UnRecursiveTraversalBT$Node.class b/out/production/algorithmbasic2020/class10/Code03_UnRecursiveTraversalBT$Node.class
new file mode 100644
index 0000000..a7544de
Binary files /dev/null and b/out/production/algorithmbasic2020/class10/Code03_UnRecursiveTraversalBT$Node.class differ
diff --git a/out/production/algorithmbasic2020/class10/Code03_UnRecursiveTraversalBT.class b/out/production/algorithmbasic2020/class10/Code03_UnRecursiveTraversalBT.class
new file mode 100644
index 0000000..4b3a042
Binary files /dev/null and b/out/production/algorithmbasic2020/class10/Code03_UnRecursiveTraversalBT.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code01_LevelTraversalBT$Node.class b/out/production/algorithmbasic2020/class11/Code01_LevelTraversalBT$Node.class
new file mode 100644
index 0000000..651118f
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code01_LevelTraversalBT$Node.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code01_LevelTraversalBT.class b/out/production/algorithmbasic2020/class11/Code01_LevelTraversalBT.class
new file mode 100644
index 0000000..ca23640
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code01_LevelTraversalBT.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code02_SerializeAndReconstructTree$Node.class b/out/production/algorithmbasic2020/class11/Code02_SerializeAndReconstructTree$Node.class
new file mode 100644
index 0000000..02dfa8f
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code02_SerializeAndReconstructTree$Node.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code02_SerializeAndReconstructTree.class b/out/production/algorithmbasic2020/class11/Code02_SerializeAndReconstructTree.class
new file mode 100644
index 0000000..82440dd
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code02_SerializeAndReconstructTree.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$Codec.class b/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$Codec.class
new file mode 100644
index 0000000..502d534
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$Codec.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$Node.class b/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$Node.class
new file mode 100644
index 0000000..356babf
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$Node.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$TreeNode.class b/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$TreeNode.class
new file mode 100644
index 0000000..81486ce
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree$TreeNode.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree.class b/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree.class
new file mode 100644
index 0000000..e0e0e54
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code03_EncodeNaryTreeToBinaryTree.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code04_PrintBinaryTree$Node.class b/out/production/algorithmbasic2020/class11/Code04_PrintBinaryTree$Node.class
new file mode 100644
index 0000000..a9b5f43
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code04_PrintBinaryTree$Node.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code04_PrintBinaryTree.class b/out/production/algorithmbasic2020/class11/Code04_PrintBinaryTree.class
new file mode 100644
index 0000000..398473a
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code04_PrintBinaryTree.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code05_TreeMaxWidth$Node.class b/out/production/algorithmbasic2020/class11/Code05_TreeMaxWidth$Node.class
new file mode 100644
index 0000000..873b3ed
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code05_TreeMaxWidth$Node.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code05_TreeMaxWidth.class b/out/production/algorithmbasic2020/class11/Code05_TreeMaxWidth.class
new file mode 100644
index 0000000..c355ce5
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code05_TreeMaxWidth.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code06_SuccessorNode$Node.class b/out/production/algorithmbasic2020/class11/Code06_SuccessorNode$Node.class
new file mode 100644
index 0000000..177beee
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code06_SuccessorNode$Node.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code06_SuccessorNode.class b/out/production/algorithmbasic2020/class11/Code06_SuccessorNode.class
new file mode 100644
index 0000000..14c019d
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code06_SuccessorNode.class differ
diff --git a/out/production/algorithmbasic2020/class11/Code07_PaperFolding.class b/out/production/algorithmbasic2020/class11/Code07_PaperFolding.class
new file mode 100644
index 0000000..99683a4
Binary files /dev/null and b/out/production/algorithmbasic2020/class11/Code07_PaperFolding.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code01_IsCBT$Info.class b/out/production/algorithmbasic2020/class12/Code01_IsCBT$Info.class
new file mode 100644
index 0000000..edf13c4
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code01_IsCBT$Info.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code01_IsCBT$Node.class b/out/production/algorithmbasic2020/class12/Code01_IsCBT$Node.class
new file mode 100644
index 0000000..43e3a4d
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code01_IsCBT$Node.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code01_IsCBT.class b/out/production/algorithmbasic2020/class12/Code01_IsCBT.class
new file mode 100644
index 0000000..f2b068c
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code01_IsCBT.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code02_IsBST$Info.class b/out/production/algorithmbasic2020/class12/Code02_IsBST$Info.class
new file mode 100644
index 0000000..1c4a0d3
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code02_IsBST$Info.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code02_IsBST$Node.class b/out/production/algorithmbasic2020/class12/Code02_IsBST$Node.class
new file mode 100644
index 0000000..05de0a2
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code02_IsBST$Node.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code02_IsBST.class b/out/production/algorithmbasic2020/class12/Code02_IsBST.class
new file mode 100644
index 0000000..be2bfde
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code02_IsBST.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code03_IsBalanced$Info.class b/out/production/algorithmbasic2020/class12/Code03_IsBalanced$Info.class
new file mode 100644
index 0000000..e610b47
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code03_IsBalanced$Info.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code03_IsBalanced$Node.class b/out/production/algorithmbasic2020/class12/Code03_IsBalanced$Node.class
new file mode 100644
index 0000000..7e22225
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code03_IsBalanced$Node.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code03_IsBalanced.class b/out/production/algorithmbasic2020/class12/Code03_IsBalanced.class
new file mode 100644
index 0000000..1360585
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code03_IsBalanced.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code04_IsFull$Info.class b/out/production/algorithmbasic2020/class12/Code04_IsFull$Info.class
new file mode 100644
index 0000000..367f2dd
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code04_IsFull$Info.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code04_IsFull$Node.class b/out/production/algorithmbasic2020/class12/Code04_IsFull$Node.class
new file mode 100644
index 0000000..922c0c6
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code04_IsFull$Node.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code04_IsFull.class b/out/production/algorithmbasic2020/class12/Code04_IsFull.class
new file mode 100644
index 0000000..7a81dc0
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code04_IsFull.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize$Info.class b/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize$Info.class
new file mode 100644
index 0000000..6f73bc6
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize$Info.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize$Node.class b/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize$Node.class
new file mode 100644
index 0000000..aee32db
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize$Node.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize.class b/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize.class
new file mode 100644
index 0000000..ec17d37
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code05_MaxSubBSTSize.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code06_MaxDistance$Info.class b/out/production/algorithmbasic2020/class12/Code06_MaxDistance$Info.class
new file mode 100644
index 0000000..f414d20
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code06_MaxDistance$Info.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code06_MaxDistance$Node.class b/out/production/algorithmbasic2020/class12/Code06_MaxDistance$Node.class
new file mode 100644
index 0000000..4b6a4da
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code06_MaxDistance$Node.class differ
diff --git a/out/production/algorithmbasic2020/class12/Code06_MaxDistance.class b/out/production/algorithmbasic2020/class12/Code06_MaxDistance.class
new file mode 100644
index 0000000..cb913ac
Binary files /dev/null and b/out/production/algorithmbasic2020/class12/Code06_MaxDistance.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code01_IsCBT$Info.class b/out/production/algorithmbasic2020/class13/Code01_IsCBT$Info.class
new file mode 100644
index 0000000..3444a6d
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code01_IsCBT$Info.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code01_IsCBT$Node.class b/out/production/algorithmbasic2020/class13/Code01_IsCBT$Node.class
new file mode 100644
index 0000000..e2c8038
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code01_IsCBT$Node.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code01_IsCBT.class b/out/production/algorithmbasic2020/class13/Code01_IsCBT.class
new file mode 100644
index 0000000..da1651e
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code01_IsCBT.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead$Info.class b/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead$Info.class
new file mode 100644
index 0000000..7aa6dd7
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead$Info.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead$Node.class b/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead$Node.class
new file mode 100644
index 0000000..67c9bf5
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead$Node.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead.class b/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead.class
new file mode 100644
index 0000000..4112d3d
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code02_MaxSubBSTHead.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code03_lowestAncestor$Info.class b/out/production/algorithmbasic2020/class13/Code03_lowestAncestor$Info.class
new file mode 100644
index 0000000..4bb1a65
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code03_lowestAncestor$Info.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code03_lowestAncestor$Node.class b/out/production/algorithmbasic2020/class13/Code03_lowestAncestor$Node.class
new file mode 100644
index 0000000..c178952
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code03_lowestAncestor$Node.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code03_lowestAncestor.class b/out/production/algorithmbasic2020/class13/Code03_lowestAncestor.class
new file mode 100644
index 0000000..607663d
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code03_lowestAncestor.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code04_MaxHappy$Employee.class b/out/production/algorithmbasic2020/class13/Code04_MaxHappy$Employee.class
new file mode 100644
index 0000000..1a764b4
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code04_MaxHappy$Employee.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code04_MaxHappy$Info.class b/out/production/algorithmbasic2020/class13/Code04_MaxHappy$Info.class
new file mode 100644
index 0000000..5f0e767
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code04_MaxHappy$Info.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code04_MaxHappy.class b/out/production/algorithmbasic2020/class13/Code04_MaxHappy.class
new file mode 100644
index 0000000..d8dfa16
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code04_MaxHappy.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code05_LowestLexicography$MyComparator.class b/out/production/algorithmbasic2020/class13/Code05_LowestLexicography$MyComparator.class
new file mode 100644
index 0000000..b9b27da
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code05_LowestLexicography$MyComparator.class differ
diff --git a/out/production/algorithmbasic2020/class13/Code05_LowestLexicography.class b/out/production/algorithmbasic2020/class13/Code05_LowestLexicography.class
new file mode 100644
index 0000000..ce9f69e
Binary files /dev/null and b/out/production/algorithmbasic2020/class13/Code05_LowestLexicography.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code01_Light.class b/out/production/algorithmbasic2020/class14/Code01_Light.class
new file mode 100644
index 0000000..81c6732
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code01_Light.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code02_LessMoneySplitGold.class b/out/production/algorithmbasic2020/class14/Code02_LessMoneySplitGold.class
new file mode 100644
index 0000000..de1be3f
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code02_LessMoneySplitGold.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code03_BestArrange$Program.class b/out/production/algorithmbasic2020/class14/Code03_BestArrange$Program.class
new file mode 100644
index 0000000..7f7ca0c
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code03_BestArrange$Program.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code03_BestArrange$ProgramComparator.class b/out/production/algorithmbasic2020/class14/Code03_BestArrange$ProgramComparator.class
new file mode 100644
index 0000000..80c5055
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code03_BestArrange$ProgramComparator.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code03_BestArrange.class b/out/production/algorithmbasic2020/class14/Code03_BestArrange.class
new file mode 100644
index 0000000..63cc60a
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code03_BestArrange.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code04_IPO$MaxProfitComparator.class b/out/production/algorithmbasic2020/class14/Code04_IPO$MaxProfitComparator.class
new file mode 100644
index 0000000..3eeb754
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code04_IPO$MaxProfitComparator.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code04_IPO$MinCostComparator.class b/out/production/algorithmbasic2020/class14/Code04_IPO$MinCostComparator.class
new file mode 100644
index 0000000..d3fa41e
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code04_IPO$MinCostComparator.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code04_IPO$Program.class b/out/production/algorithmbasic2020/class14/Code04_IPO$Program.class
new file mode 100644
index 0000000..90a5720
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code04_IPO$Program.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code04_IPO.class b/out/production/algorithmbasic2020/class14/Code04_IPO.class
new file mode 100644
index 0000000..3888170
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code04_IPO.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code05_UnionFind$Node.class b/out/production/algorithmbasic2020/class14/Code05_UnionFind$Node.class
new file mode 100644
index 0000000..ac47919
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code05_UnionFind$Node.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code05_UnionFind$UnionFind.class b/out/production/algorithmbasic2020/class14/Code05_UnionFind$UnionFind.class
new file mode 100644
index 0000000..acd4ea1
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code05_UnionFind$UnionFind.class differ
diff --git a/out/production/algorithmbasic2020/class14/Code05_UnionFind.class b/out/production/algorithmbasic2020/class14/Code05_UnionFind.class
new file mode 100644
index 0000000..e40b802
Binary files /dev/null and b/out/production/algorithmbasic2020/class14/Code05_UnionFind.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code01_FriendCircles$UnionFind.class b/out/production/algorithmbasic2020/class15/Code01_FriendCircles$UnionFind.class
new file mode 100644
index 0000000..aa98022
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code01_FriendCircles$UnionFind.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code01_FriendCircles.class b/out/production/algorithmbasic2020/class15/Code01_FriendCircles.class
new file mode 100644
index 0000000..f2849f3
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code01_FriendCircles.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$Dot.class b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$Dot.class
new file mode 100644
index 0000000..3131df4
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$Dot.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$Node.class b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$Node.class
new file mode 100644
index 0000000..b0839d2
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$Node.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$UnionFind1.class b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$UnionFind1.class
new file mode 100644
index 0000000..dfd8848
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$UnionFind1.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$UnionFind2.class b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$UnionFind2.class
new file mode 100644
index 0000000..0f2864c
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands$UnionFind2.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands.class b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands.class
new file mode 100644
index 0000000..54471ca
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code02_NumberOfIslands.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII$UnionFind1.class b/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII$UnionFind1.class
new file mode 100644
index 0000000..047cc1e
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII$UnionFind1.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII$UnionFind2.class b/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII$UnionFind2.class
new file mode 100644
index 0000000..f31d920
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII$UnionFind2.class differ
diff --git a/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII.class b/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII.class
new file mode 100644
index 0000000..32891c0
Binary files /dev/null and b/out/production/algorithmbasic2020/class15/Code03_NumberOfIslandsII.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code01_BFS.class b/out/production/algorithmbasic2020/class16/Code01_BFS.class
new file mode 100644
index 0000000..06ea5f1
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code01_BFS.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code02_DFS.class b/out/production/algorithmbasic2020/class16/Code02_DFS.class
new file mode 100644
index 0000000..bf4ea2a
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code02_DFS.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderBFS$DirectedGraphNode.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderBFS$DirectedGraphNode.class
new file mode 100644
index 0000000..e97be77
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderBFS$DirectedGraphNode.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderBFS.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderBFS.class
new file mode 100644
index 0000000..52b5dda
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderBFS.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$DirectedGraphNode.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$DirectedGraphNode.class
new file mode 100644
index 0000000..22ece58
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$DirectedGraphNode.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$MyComparator.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$MyComparator.class
new file mode 100644
index 0000000..a235c55
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$MyComparator.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$Record.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$Record.class
new file mode 100644
index 0000000..9d4a432
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1$Record.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1.class
new file mode 100644
index 0000000..70cc33d
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS1.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$DirectedGraphNode.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$DirectedGraphNode.class
new file mode 100644
index 0000000..b3d1f5a
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$DirectedGraphNode.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$MyComparator.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$MyComparator.class
new file mode 100644
index 0000000..20f097e
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$MyComparator.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$Record.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$Record.class
new file mode 100644
index 0000000..901eea9
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2$Record.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2.class b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2.class
new file mode 100644
index 0000000..bc6adfc
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologicalOrderDFS2.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code03_TopologySort.class b/out/production/algorithmbasic2020/class16/Code03_TopologySort.class
new file mode 100644
index 0000000..e1b7b9f
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code03_TopologySort.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code04_Kruskal$EdgeComparator.class b/out/production/algorithmbasic2020/class16/Code04_Kruskal$EdgeComparator.class
new file mode 100644
index 0000000..bc89120
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code04_Kruskal$EdgeComparator.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code04_Kruskal$UnionFind.class b/out/production/algorithmbasic2020/class16/Code04_Kruskal$UnionFind.class
new file mode 100644
index 0000000..e77cf51
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code04_Kruskal$UnionFind.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code04_Kruskal.class b/out/production/algorithmbasic2020/class16/Code04_Kruskal.class
new file mode 100644
index 0000000..32a18a4
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code04_Kruskal.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code05_Prim$EdgeComparator.class b/out/production/algorithmbasic2020/class16/Code05_Prim$EdgeComparator.class
new file mode 100644
index 0000000..970546d
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code05_Prim$EdgeComparator.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code05_Prim.class b/out/production/algorithmbasic2020/class16/Code05_Prim.class
new file mode 100644
index 0000000..d5e46a6
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code05_Prim.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code06_Dijkstra$NodeHeap.class b/out/production/algorithmbasic2020/class16/Code06_Dijkstra$NodeHeap.class
new file mode 100644
index 0000000..7c6ec09
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code06_Dijkstra$NodeHeap.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code06_Dijkstra$NodeRecord.class b/out/production/algorithmbasic2020/class16/Code06_Dijkstra$NodeRecord.class
new file mode 100644
index 0000000..18ace2f
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code06_Dijkstra$NodeRecord.class differ
diff --git a/out/production/algorithmbasic2020/class16/Code06_Dijkstra.class b/out/production/algorithmbasic2020/class16/Code06_Dijkstra.class
new file mode 100644
index 0000000..c09f134
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Code06_Dijkstra.class differ
diff --git a/out/production/algorithmbasic2020/class16/Edge.class b/out/production/algorithmbasic2020/class16/Edge.class
new file mode 100644
index 0000000..756f8cf
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Edge.class differ
diff --git a/out/production/algorithmbasic2020/class16/Graph.class b/out/production/algorithmbasic2020/class16/Graph.class
new file mode 100644
index 0000000..411ebb6
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Graph.class differ
diff --git a/out/production/algorithmbasic2020/class16/GraphGenerator.class b/out/production/algorithmbasic2020/class16/GraphGenerator.class
new file mode 100644
index 0000000..470d54a
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/GraphGenerator.class differ
diff --git a/out/production/algorithmbasic2020/class16/Node.class b/out/production/algorithmbasic2020/class16/Node.class
new file mode 100644
index 0000000..93647c1
Binary files /dev/null and b/out/production/algorithmbasic2020/class16/Node.class differ
diff --git a/out/production/algorithmbasic2020/class17/Code01_Dijkstra$NodeHeap.class b/out/production/algorithmbasic2020/class17/Code01_Dijkstra$NodeHeap.class
new file mode 100644
index 0000000..6d97cee
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Code01_Dijkstra$NodeHeap.class differ
diff --git a/out/production/algorithmbasic2020/class17/Code01_Dijkstra$NodeRecord.class b/out/production/algorithmbasic2020/class17/Code01_Dijkstra$NodeRecord.class
new file mode 100644
index 0000000..b35e1e6
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Code01_Dijkstra$NodeRecord.class differ
diff --git a/out/production/algorithmbasic2020/class17/Code01_Dijkstra.class b/out/production/algorithmbasic2020/class17/Code01_Dijkstra.class
new file mode 100644
index 0000000..ed1e703
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Code01_Dijkstra.class differ
diff --git a/out/production/algorithmbasic2020/class17/Code02_Hanoi$Record.class b/out/production/algorithmbasic2020/class17/Code02_Hanoi$Record.class
new file mode 100644
index 0000000..8d139b1
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Code02_Hanoi$Record.class differ
diff --git a/out/production/algorithmbasic2020/class17/Code02_Hanoi.class b/out/production/algorithmbasic2020/class17/Code02_Hanoi.class
new file mode 100644
index 0000000..dc1a1be
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Code02_Hanoi.class differ
diff --git a/out/production/algorithmbasic2020/class17/Code03_PrintAllSubsquences.class b/out/production/algorithmbasic2020/class17/Code03_PrintAllSubsquences.class
new file mode 100644
index 0000000..51684c0
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Code03_PrintAllSubsquences.class differ
diff --git a/out/production/algorithmbasic2020/class17/Code04_PrintAllPermutations.class b/out/production/algorithmbasic2020/class17/Code04_PrintAllPermutations.class
new file mode 100644
index 0000000..89da047
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Code04_PrintAllPermutations.class differ
diff --git a/out/production/algorithmbasic2020/class17/Code05_ReverseStackUsingRecursive.class b/out/production/algorithmbasic2020/class17/Code05_ReverseStackUsingRecursive.class
new file mode 100644
index 0000000..76eb5d3
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Code05_ReverseStackUsingRecursive.class differ
diff --git a/out/production/algorithmbasic2020/class17/Edge.class b/out/production/algorithmbasic2020/class17/Edge.class
new file mode 100644
index 0000000..01311ea
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Edge.class differ
diff --git a/out/production/algorithmbasic2020/class17/Graph.class b/out/production/algorithmbasic2020/class17/Graph.class
new file mode 100644
index 0000000..72d1d01
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Graph.class differ
diff --git a/out/production/algorithmbasic2020/class17/Node.class b/out/production/algorithmbasic2020/class17/Node.class
new file mode 100644
index 0000000..2e1a0b3
Binary files /dev/null and b/out/production/algorithmbasic2020/class17/Node.class differ
diff --git a/out/production/algorithmbasic2020/class18/Code01_RobotWalk.class b/out/production/algorithmbasic2020/class18/Code01_RobotWalk.class
new file mode 100644
index 0000000..b2a1f5c
Binary files /dev/null and b/out/production/algorithmbasic2020/class18/Code01_RobotWalk.class differ
diff --git a/out/production/algorithmbasic2020/class18/Code02_CardsInLine.class b/out/production/algorithmbasic2020/class18/Code02_CardsInLine.class
new file mode 100644
index 0000000..0800395
Binary files /dev/null and b/out/production/algorithmbasic2020/class18/Code02_CardsInLine.class differ
diff --git a/out/production/algorithmbasic2020/class19/Code01_Knapsack.class b/out/production/algorithmbasic2020/class19/Code01_Knapsack.class
new file mode 100644
index 0000000..abd9535
Binary files /dev/null and b/out/production/algorithmbasic2020/class19/Code01_Knapsack.class differ
diff --git a/out/production/algorithmbasic2020/class19/Code02_ConvertToLetterString.class b/out/production/algorithmbasic2020/class19/Code02_ConvertToLetterString.class
new file mode 100644
index 0000000..e0c880a
Binary files /dev/null and b/out/production/algorithmbasic2020/class19/Code02_ConvertToLetterString.class differ
diff --git a/out/production/algorithmbasic2020/class19/Code03_StickersToSpellWord.class b/out/production/algorithmbasic2020/class19/Code03_StickersToSpellWord.class
new file mode 100644
index 0000000..400b8c4
Binary files /dev/null and b/out/production/algorithmbasic2020/class19/Code03_StickersToSpellWord.class differ
diff --git a/out/production/algorithmbasic2020/class19/Code04_LongestCommonSubsequence.class b/out/production/algorithmbasic2020/class19/Code04_LongestCommonSubsequence.class
new file mode 100644
index 0000000..98845df
Binary files /dev/null and b/out/production/algorithmbasic2020/class19/Code04_LongestCommonSubsequence.class differ
diff --git a/out/production/algorithmbasic2020/class20/Code01_PalindromeSubsequence.class b/out/production/algorithmbasic2020/class20/Code01_PalindromeSubsequence.class
new file mode 100644
index 0000000..ed03dd7
Binary files /dev/null and b/out/production/algorithmbasic2020/class20/Code01_PalindromeSubsequence.class differ
diff --git a/out/production/algorithmbasic2020/class20/Code02_HorseJump.class b/out/production/algorithmbasic2020/class20/Code02_HorseJump.class
new file mode 100644
index 0000000..d0c561e
Binary files /dev/null and b/out/production/algorithmbasic2020/class20/Code02_HorseJump.class differ
diff --git a/out/production/algorithmbasic2020/class20/Code03_Coffee$Machine.class b/out/production/algorithmbasic2020/class20/Code03_Coffee$Machine.class
new file mode 100644
index 0000000..8510f2a
Binary files /dev/null and b/out/production/algorithmbasic2020/class20/Code03_Coffee$Machine.class differ
diff --git a/out/production/algorithmbasic2020/class20/Code03_Coffee$MachineComparator.class b/out/production/algorithmbasic2020/class20/Code03_Coffee$MachineComparator.class
new file mode 100644
index 0000000..92a8b47
Binary files /dev/null and b/out/production/algorithmbasic2020/class20/Code03_Coffee$MachineComparator.class differ
diff --git a/out/production/algorithmbasic2020/class20/Code03_Coffee.class b/out/production/algorithmbasic2020/class20/Code03_Coffee.class
new file mode 100644
index 0000000..a9c816b
Binary files /dev/null and b/out/production/algorithmbasic2020/class20/Code03_Coffee.class differ
diff --git a/out/production/algorithmbasic2020/class21/Code01_MinPathSum.class b/out/production/algorithmbasic2020/class21/Code01_MinPathSum.class
new file mode 100644
index 0000000..af707e8
Binary files /dev/null and b/out/production/algorithmbasic2020/class21/Code01_MinPathSum.class differ
diff --git a/out/production/algorithmbasic2020/class21/Code02_CoinsWayEveryPaperDifferent.class b/out/production/algorithmbasic2020/class21/Code02_CoinsWayEveryPaperDifferent.class
new file mode 100644
index 0000000..9198a7c
Binary files /dev/null and b/out/production/algorithmbasic2020/class21/Code02_CoinsWayEveryPaperDifferent.class differ
diff --git a/out/production/algorithmbasic2020/class21/Code03_CoinsWayNoLimit.class b/out/production/algorithmbasic2020/class21/Code03_CoinsWayNoLimit.class
new file mode 100644
index 0000000..10f56c9
Binary files /dev/null and b/out/production/algorithmbasic2020/class21/Code03_CoinsWayNoLimit.class differ
diff --git a/out/production/algorithmbasic2020/class21/Code04_CoinsWaySameValueSamePapper$Info.class b/out/production/algorithmbasic2020/class21/Code04_CoinsWaySameValueSamePapper$Info.class
new file mode 100644
index 0000000..a837b99
Binary files /dev/null and b/out/production/algorithmbasic2020/class21/Code04_CoinsWaySameValueSamePapper$Info.class differ
diff --git a/out/production/algorithmbasic2020/class21/Code04_CoinsWaySameValueSamePapper.class b/out/production/algorithmbasic2020/class21/Code04_CoinsWaySameValueSamePapper.class
new file mode 100644
index 0000000..6af8857
Binary files /dev/null and b/out/production/algorithmbasic2020/class21/Code04_CoinsWaySameValueSamePapper.class differ
diff --git a/out/production/algorithmbasic2020/class21/Code05_BobDie.class b/out/production/algorithmbasic2020/class21/Code05_BobDie.class
new file mode 100644
index 0000000..14d5006
Binary files /dev/null and b/out/production/algorithmbasic2020/class21/Code05_BobDie.class differ
diff --git a/out/production/algorithmbasic2020/class22/Code01_KillMonster.class b/out/production/algorithmbasic2020/class22/Code01_KillMonster.class
new file mode 100644
index 0000000..aa25ebb
Binary files /dev/null and b/out/production/algorithmbasic2020/class22/Code01_KillMonster.class differ
diff --git a/out/production/algorithmbasic2020/class22/Code02_MinCoinsNoLimit.class b/out/production/algorithmbasic2020/class22/Code02_MinCoinsNoLimit.class
new file mode 100644
index 0000000..01318ef
Binary files /dev/null and b/out/production/algorithmbasic2020/class22/Code02_MinCoinsNoLimit.class differ
diff --git a/out/production/algorithmbasic2020/class22/Code03_SplitNumber.class b/out/production/algorithmbasic2020/class22/Code03_SplitNumber.class
new file mode 100644
index 0000000..824c68a
Binary files /dev/null and b/out/production/algorithmbasic2020/class22/Code03_SplitNumber.class differ
diff --git a/out/production/algorithmbasic2020/class23/Code01_SplitSumClosed.class b/out/production/algorithmbasic2020/class23/Code01_SplitSumClosed.class
new file mode 100644
index 0000000..73641dd
Binary files /dev/null and b/out/production/algorithmbasic2020/class23/Code01_SplitSumClosed.class differ
diff --git a/out/production/algorithmbasic2020/class23/Code02_SplitSumClosedSizeHalf.class b/out/production/algorithmbasic2020/class23/Code02_SplitSumClosedSizeHalf.class
new file mode 100644
index 0000000..27f28a2
Binary files /dev/null and b/out/production/algorithmbasic2020/class23/Code02_SplitSumClosedSizeHalf.class differ
diff --git a/out/production/algorithmbasic2020/class23/Code03_NQueens.class b/out/production/algorithmbasic2020/class23/Code03_NQueens.class
new file mode 100644
index 0000000..38e474d
Binary files /dev/null and b/out/production/algorithmbasic2020/class23/Code03_NQueens.class differ
diff --git a/out/production/algorithmbasic2020/class24/Code01_SlidingWindowMaxArray.class b/out/production/algorithmbasic2020/class24/Code01_SlidingWindowMaxArray.class
new file mode 100644
index 0000000..9c78ccc
Binary files /dev/null and b/out/production/algorithmbasic2020/class24/Code01_SlidingWindowMaxArray.class differ
diff --git a/out/production/algorithmbasic2020/class24/Code02_AllLessNumSubArray.class b/out/production/algorithmbasic2020/class24/Code02_AllLessNumSubArray.class
new file mode 100644
index 0000000..22fdabc
Binary files /dev/null and b/out/production/algorithmbasic2020/class24/Code02_AllLessNumSubArray.class differ
diff --git a/out/production/algorithmbasic2020/class24/Code03_GasStation.class b/out/production/algorithmbasic2020/class24/Code03_GasStation.class
new file mode 100644
index 0000000..f0caed7
Binary files /dev/null and b/out/production/algorithmbasic2020/class24/Code03_GasStation.class differ
diff --git a/out/production/algorithmbasic2020/class24/Code04_MinCoinsOnePaper$Info.class b/out/production/algorithmbasic2020/class24/Code04_MinCoinsOnePaper$Info.class
new file mode 100644
index 0000000..6bac78a
Binary files /dev/null and b/out/production/algorithmbasic2020/class24/Code04_MinCoinsOnePaper$Info.class differ
diff --git a/out/production/algorithmbasic2020/class24/Code04_MinCoinsOnePaper.class b/out/production/algorithmbasic2020/class24/Code04_MinCoinsOnePaper.class
new file mode 100644
index 0000000..7bec0c8
Binary files /dev/null and b/out/production/algorithmbasic2020/class24/Code04_MinCoinsOnePaper.class differ
diff --git a/out/production/algorithmbasic2020/class25/Code01_MonotonousStack.class b/out/production/algorithmbasic2020/class25/Code01_MonotonousStack.class
new file mode 100644
index 0000000..d01d863
Binary files /dev/null and b/out/production/algorithmbasic2020/class25/Code01_MonotonousStack.class differ
diff --git a/out/production/algorithmbasic2020/class25/Code02_AllTimesMinToMax.class b/out/production/algorithmbasic2020/class25/Code02_AllTimesMinToMax.class
new file mode 100644
index 0000000..7ffcc81
Binary files /dev/null and b/out/production/algorithmbasic2020/class25/Code02_AllTimesMinToMax.class differ
diff --git a/out/production/algorithmbasic2020/class25/Code03_LargestRectangleInHistogram.class b/out/production/algorithmbasic2020/class25/Code03_LargestRectangleInHistogram.class
new file mode 100644
index 0000000..0f499ea
Binary files /dev/null and b/out/production/algorithmbasic2020/class25/Code03_LargestRectangleInHistogram.class differ
diff --git a/out/production/algorithmbasic2020/class25/Code04_MaximalRectangle.class b/out/production/algorithmbasic2020/class25/Code04_MaximalRectangle.class
new file mode 100644
index 0000000..2097467
Binary files /dev/null and b/out/production/algorithmbasic2020/class25/Code04_MaximalRectangle.class differ
diff --git a/out/production/algorithmbasic2020/class25/Code05_CountSubmatricesWithAllOnes.class b/out/production/algorithmbasic2020/class25/Code05_CountSubmatricesWithAllOnes.class
new file mode 100644
index 0000000..93429b1
Binary files /dev/null and b/out/production/algorithmbasic2020/class25/Code05_CountSubmatricesWithAllOnes.class differ
diff --git a/out/production/algorithmbasic2020/class26/Code01_SumOfSubarrayMinimums.class b/out/production/algorithmbasic2020/class26/Code01_SumOfSubarrayMinimums.class
new file mode 100644
index 0000000..bf5515b
Binary files /dev/null and b/out/production/algorithmbasic2020/class26/Code01_SumOfSubarrayMinimums.class differ
diff --git a/out/production/algorithmbasic2020/class26/Code02_FibonacciProblem.class b/out/production/algorithmbasic2020/class26/Code02_FibonacciProblem.class
new file mode 100644
index 0000000..6758d7e
Binary files /dev/null and b/out/production/algorithmbasic2020/class26/Code02_FibonacciProblem.class differ
diff --git a/out/production/algorithmbasic2020/class26/Code03_ZeroLeftOneStringNumber.class b/out/production/algorithmbasic2020/class26/Code03_ZeroLeftOneStringNumber.class
new file mode 100644
index 0000000..ea6f6ef
Binary files /dev/null and b/out/production/algorithmbasic2020/class26/Code03_ZeroLeftOneStringNumber.class differ
diff --git a/out/production/algorithmbasic2020/class27/Code01_KMP.class b/out/production/algorithmbasic2020/class27/Code01_KMP.class
new file mode 100644
index 0000000..58d6904
Binary files /dev/null and b/out/production/algorithmbasic2020/class27/Code01_KMP.class differ
diff --git a/out/production/algorithmbasic2020/class27/Code02_TreeEqual$Node.class b/out/production/algorithmbasic2020/class27/Code02_TreeEqual$Node.class
new file mode 100644
index 0000000..9ecfbef
Binary files /dev/null and b/out/production/algorithmbasic2020/class27/Code02_TreeEqual$Node.class differ
diff --git a/out/production/algorithmbasic2020/class27/Code02_TreeEqual.class b/out/production/algorithmbasic2020/class27/Code02_TreeEqual.class
new file mode 100644
index 0000000..d6f34de
Binary files /dev/null and b/out/production/algorithmbasic2020/class27/Code02_TreeEqual.class differ
diff --git a/out/production/algorithmbasic2020/class27/Code03_IsRotation.class b/out/production/algorithmbasic2020/class27/Code03_IsRotation.class
new file mode 100644
index 0000000..f11d2bd
Binary files /dev/null and b/out/production/algorithmbasic2020/class27/Code03_IsRotation.class differ
diff --git a/out/production/algorithmbasic2020/class28/Code01_Manacher.class b/out/production/algorithmbasic2020/class28/Code01_Manacher.class
new file mode 100644
index 0000000..169f612
Binary files /dev/null and b/out/production/algorithmbasic2020/class28/Code01_Manacher.class differ
diff --git a/out/production/algorithmbasic2020/class28/Code02_AddShortestEnd.class b/out/production/algorithmbasic2020/class28/Code02_AddShortestEnd.class
new file mode 100644
index 0000000..8cdf474
Binary files /dev/null and b/out/production/algorithmbasic2020/class28/Code02_AddShortestEnd.class differ
diff --git a/out/production/algorithmbasic2020/class29/Code01_FindMinKth$MaxHeapComparator.class b/out/production/algorithmbasic2020/class29/Code01_FindMinKth$MaxHeapComparator.class
new file mode 100644
index 0000000..280f659
Binary files /dev/null and b/out/production/algorithmbasic2020/class29/Code01_FindMinKth$MaxHeapComparator.class differ
diff --git a/out/production/algorithmbasic2020/class29/Code01_FindMinKth.class b/out/production/algorithmbasic2020/class29/Code01_FindMinKth.class
new file mode 100644
index 0000000..b9fbaee
Binary files /dev/null and b/out/production/algorithmbasic2020/class29/Code01_FindMinKth.class differ
diff --git a/out/production/algorithmbasic2020/class29/Code02_MaxTopK.class b/out/production/algorithmbasic2020/class29/Code02_MaxTopK.class
new file mode 100644
index 0000000..f3b0b3d
Binary files /dev/null and b/out/production/algorithmbasic2020/class29/Code02_MaxTopK.class differ
diff --git a/out/production/algorithmbasic2020/class29/Code03_ReservoirSampling$RandomBox.class b/out/production/algorithmbasic2020/class29/Code03_ReservoirSampling$RandomBox.class
new file mode 100644
index 0000000..77efa80
Binary files /dev/null and b/out/production/algorithmbasic2020/class29/Code03_ReservoirSampling$RandomBox.class differ
diff --git a/out/production/algorithmbasic2020/class29/Code03_ReservoirSampling.class b/out/production/algorithmbasic2020/class29/Code03_ReservoirSampling.class
new file mode 100644
index 0000000..c6442cf
Binary files /dev/null and b/out/production/algorithmbasic2020/class29/Code03_ReservoirSampling.class differ
diff --git a/out/production/algorithmbasic2020/class30/Code01_MorrisTraversal$Node.class b/out/production/algorithmbasic2020/class30/Code01_MorrisTraversal$Node.class
new file mode 100644
index 0000000..569a05c
Binary files /dev/null and b/out/production/algorithmbasic2020/class30/Code01_MorrisTraversal$Node.class differ
diff --git a/out/production/algorithmbasic2020/class30/Code01_MorrisTraversal.class b/out/production/algorithmbasic2020/class30/Code01_MorrisTraversal.class
new file mode 100644
index 0000000..66ee777
Binary files /dev/null and b/out/production/algorithmbasic2020/class30/Code01_MorrisTraversal.class differ
diff --git a/out/production/algorithmbasic2020/class30/Code05_MinHeight$Node.class b/out/production/algorithmbasic2020/class30/Code05_MinHeight$Node.class
new file mode 100644
index 0000000..961ea7b
Binary files /dev/null and b/out/production/algorithmbasic2020/class30/Code05_MinHeight$Node.class differ
diff --git a/out/production/algorithmbasic2020/class30/Code05_MinHeight.class b/out/production/algorithmbasic2020/class30/Code05_MinHeight.class
new file mode 100644
index 0000000..3232f8f
Binary files /dev/null and b/out/production/algorithmbasic2020/class30/Code05_MinHeight.class differ
diff --git a/out/production/algorithmbasic2020/class31/Code01_SegmentTree$Right.class b/out/production/algorithmbasic2020/class31/Code01_SegmentTree$Right.class
new file mode 100644
index 0000000..5b9b13d
Binary files /dev/null and b/out/production/algorithmbasic2020/class31/Code01_SegmentTree$Right.class differ
diff --git a/out/production/algorithmbasic2020/class31/Code01_SegmentTree$SegmentTree.class b/out/production/algorithmbasic2020/class31/Code01_SegmentTree$SegmentTree.class
new file mode 100644
index 0000000..4126921
Binary files /dev/null and b/out/production/algorithmbasic2020/class31/Code01_SegmentTree$SegmentTree.class differ
diff --git a/out/production/algorithmbasic2020/class31/Code01_SegmentTree.class b/out/production/algorithmbasic2020/class31/Code01_SegmentTree.class
new file mode 100644
index 0000000..11eb093
Binary files /dev/null and b/out/production/algorithmbasic2020/class31/Code01_SegmentTree.class differ
diff --git a/out/production/algorithmbasic2020/class31/Code02_FallingSquares$SegmentTree.class b/out/production/algorithmbasic2020/class31/Code02_FallingSquares$SegmentTree.class
new file mode 100644
index 0000000..b84c2aa
Binary files /dev/null and b/out/production/algorithmbasic2020/class31/Code02_FallingSquares$SegmentTree.class differ
diff --git a/out/production/algorithmbasic2020/class31/Code02_FallingSquares.class b/out/production/algorithmbasic2020/class31/Code02_FallingSquares.class
new file mode 100644
index 0000000..a0f508c
Binary files /dev/null and b/out/production/algorithmbasic2020/class31/Code02_FallingSquares.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code01_IndexTree$IndexTree.class b/out/production/algorithmbasic2020/class32/Code01_IndexTree$IndexTree.class
new file mode 100644
index 0000000..a897f5f
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code01_IndexTree$IndexTree.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code01_IndexTree$Right.class b/out/production/algorithmbasic2020/class32/Code01_IndexTree$Right.class
new file mode 100644
index 0000000..9b32cba
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code01_IndexTree$Right.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code01_IndexTree.class b/out/production/algorithmbasic2020/class32/Code01_IndexTree.class
new file mode 100644
index 0000000..da5267f
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code01_IndexTree.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code02_IndexTree2D.class b/out/production/algorithmbasic2020/class32/Code02_IndexTree2D.class
new file mode 100644
index 0000000..fa06ec2
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code02_IndexTree2D.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code03_AC1$ACAutomation.class b/out/production/algorithmbasic2020/class32/Code03_AC1$ACAutomation.class
new file mode 100644
index 0000000..ca81dd0
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code03_AC1$ACAutomation.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code03_AC1$Node.class b/out/production/algorithmbasic2020/class32/Code03_AC1$Node.class
new file mode 100644
index 0000000..3b68b85
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code03_AC1$Node.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code03_AC1.class b/out/production/algorithmbasic2020/class32/Code03_AC1.class
new file mode 100644
index 0000000..b02098b
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code03_AC1.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code04_AC2$ACAutomation.class b/out/production/algorithmbasic2020/class32/Code04_AC2$ACAutomation.class
new file mode 100644
index 0000000..fccd818
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code04_AC2$ACAutomation.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code04_AC2$Node.class b/out/production/algorithmbasic2020/class32/Code04_AC2$Node.class
new file mode 100644
index 0000000..26a30fa
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code04_AC2$Node.class differ
diff --git a/out/production/algorithmbasic2020/class32/Code04_AC2.class b/out/production/algorithmbasic2020/class32/Code04_AC2.class
new file mode 100644
index 0000000..8ef9b5a
Binary files /dev/null and b/out/production/algorithmbasic2020/class32/Code04_AC2.class differ
diff --git a/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap$AVLNode.class b/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap$AVLNode.class
new file mode 100644
index 0000000..ae29749
Binary files /dev/null and b/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap$AVLNode.class differ
diff --git a/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap$AVLTreeMap.class b/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap$AVLTreeMap.class
new file mode 100644
index 0000000..04655a4
Binary files /dev/null and b/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap$AVLTreeMap.class differ
diff --git a/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap.class b/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap.class
new file mode 100644
index 0000000..8b581b2
Binary files /dev/null and b/out/production/algorithmbasic2020/class35/Code01_AVLTreeMap.class differ
diff --git a/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap$SBTNode.class b/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap$SBTNode.class
new file mode 100644
index 0000000..257ee82
Binary files /dev/null and b/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap$SBTNode.class differ
diff --git a/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap$SizeBalancedTreeMap.class b/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap$SizeBalancedTreeMap.class
new file mode 100644
index 0000000..6c6196c
Binary files /dev/null and b/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap$SizeBalancedTreeMap.class differ
diff --git a/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap.class b/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap.class
new file mode 100644
index 0000000..b40b6b0
Binary files /dev/null and b/out/production/algorithmbasic2020/class36/Code01_SizeBalancedTreeMap.class differ
diff --git a/out/production/algorithmbasic2020/class36/Code02_SkipListMap$SkipListMap.class b/out/production/algorithmbasic2020/class36/Code02_SkipListMap$SkipListMap.class
new file mode 100644
index 0000000..46f9d21
Binary files /dev/null and b/out/production/algorithmbasic2020/class36/Code02_SkipListMap$SkipListMap.class differ
diff --git a/out/production/algorithmbasic2020/class36/Code02_SkipListMap$SkipListNode.class b/out/production/algorithmbasic2020/class36/Code02_SkipListMap$SkipListNode.class
new file mode 100644
index 0000000..13e045c
Binary files /dev/null and b/out/production/algorithmbasic2020/class36/Code02_SkipListMap$SkipListNode.class differ
diff --git a/out/production/algorithmbasic2020/class36/Code02_SkipListMap.class b/out/production/algorithmbasic2020/class36/Code02_SkipListMap.class
new file mode 100644
index 0000000..6cb9312
Binary files /dev/null and b/out/production/algorithmbasic2020/class36/Code02_SkipListMap.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum$SBTNode.class b/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum$SBTNode.class
new file mode 100644
index 0000000..156059b
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum$SBTNode.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum$SizeBalancedTreeSet.class b/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum$SizeBalancedTreeSet.class
new file mode 100644
index 0000000..e6eb2d7
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum$SizeBalancedTreeSet.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum.class b/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum.class
new file mode 100644
index 0000000..f8e9de0
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code01_CountofRangeSum.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$Node.class b/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$Node.class
new file mode 100644
index 0000000..e1397e0
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$Node.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$SBTNode.class b/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$SBTNode.class
new file mode 100644
index 0000000..d2f231c
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$SBTNode.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$SizeBalancedTreeMap.class b/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$SizeBalancedTreeMap.class
new file mode 100644
index 0000000..20ace18
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian$SizeBalancedTreeMap.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian.class b/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian.class
new file mode 100644
index 0000000..14c0df7
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code02_SlidingWindowMedian.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat$SBTNode.class b/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat$SBTNode.class
new file mode 100644
index 0000000..efc7ed3
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat$SBTNode.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat$SbtList.class b/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat$SbtList.class
new file mode 100644
index 0000000..7773673
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat$SbtList.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat.class b/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat.class
new file mode 100644
index 0000000..7e8156a
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code03_AddRemoveGetIndexGreat.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$SBTNode.class b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$SBTNode.class
new file mode 100644
index 0000000..cf3cb96
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$SBTNode.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$SBTree.class b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$SBTree.class
new file mode 100644
index 0000000..03af2c6
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$SBTree.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$Unit.class b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$Unit.class
new file mode 100644
index 0000000..8ae8274
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$Unit.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$UnitComparator.class b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$UnitComparator.class
new file mode 100644
index 0000000..3f2e814
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight$UnitComparator.class differ
diff --git a/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight.class b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight.class
new file mode 100644
index 0000000..cafc791
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Code04_QueueReconstructionByHeight.class differ
diff --git a/out/production/algorithmbasic2020/class37/Compare.class b/out/production/algorithmbasic2020/class37/Compare.class
new file mode 100644
index 0000000..9022ed2
Binary files /dev/null and b/out/production/algorithmbasic2020/class37/Compare.class differ
diff --git a/out/production/algorithmbasic2020/class38/Code01_AppleMinBags.class b/out/production/algorithmbasic2020/class38/Code01_AppleMinBags.class
new file mode 100644
index 0000000..46e602b
Binary files /dev/null and b/out/production/algorithmbasic2020/class38/Code01_AppleMinBags.class differ
diff --git a/out/production/algorithmbasic2020/class38/Code02_EatGrass.class b/out/production/algorithmbasic2020/class38/Code02_EatGrass.class
new file mode 100644
index 0000000..e2fe101
Binary files /dev/null and b/out/production/algorithmbasic2020/class38/Code02_EatGrass.class differ
diff --git a/out/production/algorithmbasic2020/class38/Code03_MSumToN.class b/out/production/algorithmbasic2020/class38/Code03_MSumToN.class
new file mode 100644
index 0000000..9f0769d
Binary files /dev/null and b/out/production/algorithmbasic2020/class38/Code03_MSumToN.class differ
diff --git a/out/production/algorithmbasic2020/class38/Code04_MoneyProblem.class b/out/production/algorithmbasic2020/class38/Code04_MoneyProblem.class
new file mode 100644
index 0000000..a0dfd39
Binary files /dev/null and b/out/production/algorithmbasic2020/class38/Code04_MoneyProblem.class differ
diff --git a/out/production/algorithmbasic2020/class39/Code01_SubsquenceMaxModM.class b/out/production/algorithmbasic2020/class39/Code01_SubsquenceMaxModM.class
new file mode 100644
index 0000000..be91c70
Binary files /dev/null and b/out/production/algorithmbasic2020/class39/Code01_SubsquenceMaxModM.class differ
diff --git a/out/production/algorithmbasic2020/class39/Code02_SnacksWays.class b/out/production/algorithmbasic2020/class39/Code02_SnacksWays.class
new file mode 100644
index 0000000..f6ca57a
Binary files /dev/null and b/out/production/algorithmbasic2020/class39/Code02_SnacksWays.class differ
diff --git a/out/production/algorithmbasic2020/class39/Code02_SnacksWaysMain.class b/out/production/algorithmbasic2020/class39/Code02_SnacksWaysMain.class
new file mode 100644
index 0000000..6fe3143
Binary files /dev/null and b/out/production/algorithmbasic2020/class39/Code02_SnacksWaysMain.class differ
diff --git a/out/production/algorithmbasic2020/class39/Code03_10Ways.class b/out/production/algorithmbasic2020/class39/Code03_10Ways.class
new file mode 100644
index 0000000..1f9bccc
Binary files /dev/null and b/out/production/algorithmbasic2020/class39/Code03_10Ways.class differ
diff --git a/out/production/algorithmbasic2020/class39/Code04_DifferentBTNum.class b/out/production/algorithmbasic2020/class39/Code04_DifferentBTNum.class
new file mode 100644
index 0000000..d8b6815
Binary files /dev/null and b/out/production/algorithmbasic2020/class39/Code04_DifferentBTNum.class differ
diff --git a/out/production/algorithmbasic2020/class39/IsSum.class b/out/production/algorithmbasic2020/class39/IsSum.class
new file mode 100644
index 0000000..72b206b
Binary files /dev/null and b/out/production/algorithmbasic2020/class39/IsSum.class differ
diff --git a/out/production/algorithmbasic2020/class40/Code01_LongestSumSubArrayLengthInPositiveArray.class b/out/production/algorithmbasic2020/class40/Code01_LongestSumSubArrayLengthInPositiveArray.class
new file mode 100644
index 0000000..d7bed05
Binary files /dev/null and b/out/production/algorithmbasic2020/class40/Code01_LongestSumSubArrayLengthInPositiveArray.class differ
diff --git a/out/production/algorithmbasic2020/class40/Code02_LongestSumSubArrayLength.class b/out/production/algorithmbasic2020/class40/Code02_LongestSumSubArrayLength.class
new file mode 100644
index 0000000..a582ef4
Binary files /dev/null and b/out/production/algorithmbasic2020/class40/Code02_LongestSumSubArrayLength.class differ
diff --git a/out/production/algorithmbasic2020/class40/Code03_LongestLessSumSubArrayLength.class b/out/production/algorithmbasic2020/class40/Code03_LongestLessSumSubArrayLength.class
new file mode 100644
index 0000000..366b5fb
Binary files /dev/null and b/out/production/algorithmbasic2020/class40/Code03_LongestLessSumSubArrayLength.class differ
diff --git a/out/production/algorithmbasic2020/class40/Code04_AvgLessEqualValueLongestSubarray.class b/out/production/algorithmbasic2020/class40/Code04_AvgLessEqualValueLongestSubarray.class
new file mode 100644
index 0000000..189d687
Binary files /dev/null and b/out/production/algorithmbasic2020/class40/Code04_AvgLessEqualValueLongestSubarray.class differ
diff --git a/out/production/algorithmbasic2020/class40/Code05_PrintMatrixSpiralOrder.class b/out/production/algorithmbasic2020/class40/Code05_PrintMatrixSpiralOrder.class
new file mode 100644
index 0000000..d989ff5
Binary files /dev/null and b/out/production/algorithmbasic2020/class40/Code05_PrintMatrixSpiralOrder.class differ
diff --git a/out/production/algorithmbasic2020/class40/Code06_RotateMatrix.class b/out/production/algorithmbasic2020/class40/Code06_RotateMatrix.class
new file mode 100644
index 0000000..a48fe6b
Binary files /dev/null and b/out/production/algorithmbasic2020/class40/Code06_RotateMatrix.class differ
diff --git a/out/production/algorithmbasic2020/class40/Code07_ZigZagPrintMatrix.class b/out/production/algorithmbasic2020/class40/Code07_ZigZagPrintMatrix.class
new file mode 100644
index 0000000..d902422
Binary files /dev/null and b/out/production/algorithmbasic2020/class40/Code07_ZigZagPrintMatrix.class differ
diff --git a/out/production/algorithmbasic2020/class40/Code08_PrintStar.class b/out/production/algorithmbasic2020/class40/Code08_PrintStar.class
new file mode 100644
index 0000000..dc5c93d
Binary files /dev/null and b/out/production/algorithmbasic2020/class40/Code08_PrintStar.class differ
diff --git a/out/production/algorithmbasic2020/class41/Code01_BestSplitForAll.class b/out/production/algorithmbasic2020/class41/Code01_BestSplitForAll.class
new file mode 100644
index 0000000..2efee92
Binary files /dev/null and b/out/production/algorithmbasic2020/class41/Code01_BestSplitForAll.class differ
diff --git a/out/production/algorithmbasic2020/class41/Code02_BestSplitForEveryPosition.class b/out/production/algorithmbasic2020/class41/Code02_BestSplitForEveryPosition.class
new file mode 100644
index 0000000..33664fd
Binary files /dev/null and b/out/production/algorithmbasic2020/class41/Code02_BestSplitForEveryPosition.class differ
diff --git a/out/production/algorithmbasic2020/class41/Code03_StoneMerge.class b/out/production/algorithmbasic2020/class41/Code03_StoneMerge.class
new file mode 100644
index 0000000..7fa0571
Binary files /dev/null and b/out/production/algorithmbasic2020/class41/Code03_StoneMerge.class differ
diff --git a/out/production/algorithmbasic2020/class41/Code04_SplitArrayLargestSum.class b/out/production/algorithmbasic2020/class41/Code04_SplitArrayLargestSum.class
new file mode 100644
index 0000000..4ea212b
Binary files /dev/null and b/out/production/algorithmbasic2020/class41/Code04_SplitArrayLargestSum.class differ
diff --git a/out/production/algorithmbasic2020/class42/Code01_PostOfficeProblem.class b/out/production/algorithmbasic2020/class42/Code01_PostOfficeProblem.class
new file mode 100644
index 0000000..fc4da99
Binary files /dev/null and b/out/production/algorithmbasic2020/class42/Code01_PostOfficeProblem.class differ
diff --git a/out/production/algorithmbasic2020/class42/Code02_ThrowChessPiecesProblem.class b/out/production/algorithmbasic2020/class42/Code02_ThrowChessPiecesProblem.class
new file mode 100644
index 0000000..2f2a0cd
Binary files /dev/null and b/out/production/algorithmbasic2020/class42/Code02_ThrowChessPiecesProblem.class differ
diff --git a/out/production/algorithmbasic2020/class43/Code01_CanIWin.class b/out/production/algorithmbasic2020/class43/Code01_CanIWin.class
new file mode 100644
index 0000000..c533cf2
Binary files /dev/null and b/out/production/algorithmbasic2020/class43/Code01_CanIWin.class differ
diff --git a/out/production/algorithmbasic2020/class43/Code02_TSP.class b/out/production/algorithmbasic2020/class43/Code02_TSP.class
new file mode 100644
index 0000000..c1276f8
Binary files /dev/null and b/out/production/algorithmbasic2020/class43/Code02_TSP.class differ
diff --git a/out/production/algorithmbasic2020/class43/Code03_PavingTile.class b/out/production/algorithmbasic2020/class43/Code03_PavingTile.class
new file mode 100644
index 0000000..88c5421
Binary files /dev/null and b/out/production/algorithmbasic2020/class43/Code03_PavingTile.class differ
diff --git a/out/production/algorithmbasic2020/class44/Code01_LastSubstringInLexicographicalOrder$DC3.class b/out/production/algorithmbasic2020/class44/Code01_LastSubstringInLexicographicalOrder$DC3.class
new file mode 100644
index 0000000..3461840
Binary files /dev/null and b/out/production/algorithmbasic2020/class44/Code01_LastSubstringInLexicographicalOrder$DC3.class differ
diff --git a/out/production/algorithmbasic2020/class44/Code01_LastSubstringInLexicographicalOrder.class b/out/production/algorithmbasic2020/class44/Code01_LastSubstringInLexicographicalOrder.class
new file mode 100644
index 0000000..b3c8769
Binary files /dev/null and b/out/production/algorithmbasic2020/class44/Code01_LastSubstringInLexicographicalOrder.class differ
diff --git a/out/production/algorithmbasic2020/class44/DC3.class b/out/production/algorithmbasic2020/class44/DC3.class
new file mode 100644
index 0000000..6391b25
Binary files /dev/null and b/out/production/algorithmbasic2020/class44/DC3.class differ
diff --git a/out/production/algorithmbasic2020/class44/DC3_Algorithm.pdf b/out/production/algorithmbasic2020/class44/DC3_Algorithm.pdf
new file mode 100644
index 0000000..f053a67
Binary files /dev/null and b/out/production/algorithmbasic2020/class44/DC3_Algorithm.pdf differ
diff --git a/out/production/algorithmbasic2020/class45/Code01_InsertS2MakeMostAlphabeticalOrder$DC3.class b/out/production/algorithmbasic2020/class45/Code01_InsertS2MakeMostAlphabeticalOrder$DC3.class
new file mode 100644
index 0000000..d785dc5
Binary files /dev/null and b/out/production/algorithmbasic2020/class45/Code01_InsertS2MakeMostAlphabeticalOrder$DC3.class differ
diff --git a/out/production/algorithmbasic2020/class45/Code01_InsertS2MakeMostAlphabeticalOrder.class b/out/production/algorithmbasic2020/class45/Code01_InsertS2MakeMostAlphabeticalOrder.class
new file mode 100644
index 0000000..200e544
Binary files /dev/null and b/out/production/algorithmbasic2020/class45/Code01_InsertS2MakeMostAlphabeticalOrder.class differ
diff --git a/out/production/algorithmbasic2020/class45/Code02_CreateMaximumNumber$DC3.class b/out/production/algorithmbasic2020/class45/Code02_CreateMaximumNumber$DC3.class
new file mode 100644
index 0000000..e0a08e5
Binary files /dev/null and b/out/production/algorithmbasic2020/class45/Code02_CreateMaximumNumber$DC3.class differ
diff --git a/out/production/algorithmbasic2020/class45/Code02_CreateMaximumNumber.class b/out/production/algorithmbasic2020/class45/Code02_CreateMaximumNumber.class
new file mode 100644
index 0000000..25a1ae3
Binary files /dev/null and b/out/production/algorithmbasic2020/class45/Code02_CreateMaximumNumber.class differ
diff --git a/out/production/algorithmbasic2020/class45/Code03_LongestCommonSubstringConquerByHeight$DC3.class b/out/production/algorithmbasic2020/class45/Code03_LongestCommonSubstringConquerByHeight$DC3.class
new file mode 100644
index 0000000..5c3b581
Binary files /dev/null and b/out/production/algorithmbasic2020/class45/Code03_LongestCommonSubstringConquerByHeight$DC3.class differ
diff --git a/out/production/algorithmbasic2020/class45/Code03_LongestCommonSubstringConquerByHeight.class b/out/production/algorithmbasic2020/class45/Code03_LongestCommonSubstringConquerByHeight.class
new file mode 100644
index 0000000..f16c82b
Binary files /dev/null and b/out/production/algorithmbasic2020/class45/Code03_LongestCommonSubstringConquerByHeight.class differ
diff --git a/out/production/algorithmbasic2020/class46/Code01_BurstBalloons.class b/out/production/algorithmbasic2020/class46/Code01_BurstBalloons.class
new file mode 100644
index 0000000..c1be6e4
Binary files /dev/null and b/out/production/algorithmbasic2020/class46/Code01_BurstBalloons.class differ
diff --git a/out/production/algorithmbasic2020/class46/Code02_RemoveBoxes.class b/out/production/algorithmbasic2020/class46/Code02_RemoveBoxes.class
new file mode 100644
index 0000000..3eb02db
Binary files /dev/null and b/out/production/algorithmbasic2020/class46/Code02_RemoveBoxes.class differ
diff --git a/out/production/algorithmbasic2020/class46/Code03_DeleteAdjacentSameCharacter.class b/out/production/algorithmbasic2020/class46/Code03_DeleteAdjacentSameCharacter.class
new file mode 100644
index 0000000..f154bcd
Binary files /dev/null and b/out/production/algorithmbasic2020/class46/Code03_DeleteAdjacentSameCharacter.class differ
diff --git a/out/production/algorithmbasic2020/class46/Code04_MaxSumLengthNoMore.class b/out/production/algorithmbasic2020/class46/Code04_MaxSumLengthNoMore.class
new file mode 100644
index 0000000..5484ed3
Binary files /dev/null and b/out/production/algorithmbasic2020/class46/Code04_MaxSumLengthNoMore.class differ
diff --git a/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$Node.class b/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$Node.class
new file mode 100644
index 0000000..fca8eda
Binary files /dev/null and b/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$Node.class differ
diff --git a/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$NodeComp.class b/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$NodeComp.class
new file mode 100644
index 0000000..44a9ae3
Binary files /dev/null and b/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$NodeComp.class differ
diff --git a/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$TrieNode.class b/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$TrieNode.class
new file mode 100644
index 0000000..58e203e
Binary files /dev/null and b/out/production/algorithmbasic2020/class46/Code05_HuffmanTree$TrieNode.class differ
diff --git a/out/production/algorithmbasic2020/class46/Code05_HuffmanTree.class b/out/production/algorithmbasic2020/class46/Code05_HuffmanTree.class
new file mode 100644
index 0000000..12bb444
Binary files /dev/null and b/out/production/algorithmbasic2020/class46/Code05_HuffmanTree.class differ
diff --git a/out/production/algorithmbasic2020/class47/Code01_StrangePrinter.class b/out/production/algorithmbasic2020/class47/Code01_StrangePrinter.class
new file mode 100644
index 0000000..74dc4ac
Binary files /dev/null and b/out/production/algorithmbasic2020/class47/Code01_StrangePrinter.class differ
diff --git a/out/production/algorithmbasic2020/class47/Code02_RestoreWays.class b/out/production/algorithmbasic2020/class47/Code02_RestoreWays.class
new file mode 100644
index 0000000..7d866f5
Binary files /dev/null and b/out/production/algorithmbasic2020/class47/Code02_RestoreWays.class differ
diff --git a/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm$Dinic.class b/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm$Dinic.class
new file mode 100644
index 0000000..af2d329
Binary files /dev/null and b/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm$Dinic.class differ
diff --git a/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm$Edge.class b/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm$Edge.class
new file mode 100644
index 0000000..afbf964
Binary files /dev/null and b/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm$Edge.class differ
diff --git a/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm.class b/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm.class
new file mode 100644
index 0000000..5bbf513
Binary files /dev/null and b/out/production/algorithmbasic2020/class47/Code03_DinicAlgorithm.class differ
diff --git a/src/aaa/Demo1.java b/src/aaa/Demo1.java
new file mode 100644
index 0000000..4d6aa48
--- /dev/null
+++ b/src/aaa/Demo1.java
@@ -0,0 +1,50 @@
+package aaa;
+
+public class Demo1 {
+ class Solution {
+ public String longestPalindrome(String s) {
+ int len = s.length();
+ if (len < 2) {
+ return s;
+ }
+
+ int maxLen = 1;
+ int begin = 0;
+ // dp[i][j] 表示 s[i..j] 是否是回文串
+ boolean[][] dp = new boolean[len][len];
+ // 初始化:所有长度为 1 的子串都是回文串
+ for (int i = 0; i < len; i++) {
+ dp[i][i] = true;
+ }
+
+ char[] charArray = s.toCharArray();
+ // 递推开始 固定套路~
+ // 先枚举子串长度
+ for (int L = 2; L <= len; L++) {
+ // 枚举左边界,左边界的上限设置可以宽松一些
+ for (int i = 0; i < len-L+1; i++) {
+ // 由 L 和 i 可以确定右边界,即 j - i + 1 = L 得
+ int j = L + i - 1;
+
+ if (charArray[i] != charArray[j]) {
+ dp[i][j] = false;
+ continue;
+ } else {
+ if (j - i < 3) {
+ dp[i][j] = true;
+ } else {
+ dp[i][j] = dp[i + 1][j - 1];
+ }
+ }
+
+ // 只要 dp[i][L] == true 成立,就表示子串 s[i..L] 是回文,此时记录回文长度和起始位置
+ if (dp[i][j] && j - i + 1 > maxLen) {
+ maxLen = j - i + 1;
+ begin = i;
+ }
+ }
+ }
+ return s.substring(begin, begin + maxLen);
+ }
+ }
+}
diff --git a/src/aaa/Main.java b/src/aaa/Main.java
new file mode 100644
index 0000000..300f7ec
--- /dev/null
+++ b/src/aaa/Main.java
@@ -0,0 +1,47 @@
+package aaa;
+
+import java.util.Scanner;
+
+public class Main {
+ private static int n;
+ private static int[] arr;
+ private static int[] sum;
+ private static int[][] dp;
+ public static void main(String[] args) {
+ Scanner sc = new Scanner(System.in);
+ System.out.print("请输入石子的堆数:");
+ n = sc.nextInt();
+ arr = new int[2*n];
+ sum = new int[2*n];
+ for(int i = 1; i <= n; i++){
+ arr[i] = sc.nextInt();
+ sum[i] = sum[i - 1] + arr[i];
+ }
+ for(int i = n + 1; i <= 2 * n - 1; i++){
+ arr[i] = arr[i - n];
+ sum[i] = sum[i - 1] + arr[i];
+ }
+ minFun();
+ }
+
+ private static void minFun(){
+ dp = new int[2 * n][2*n];
+ for(int r = 1; r <= n - 1; r++){
+ for(int i = 1; i <= 2 * n - 1; i++){
+ int j = i + r;
+ if(j >= 2 * n){
+ continue;
+ }
+ dp[i][j] = dp[i][i] + dp[i + 1][j] + sum[j] - sum[i - 1];
+ for(int k = i + 1; k < j; k++){
+ dp[i][j] = Math.min(dp[i][j], dp[i][k] + dp[k + 1][j] + sum[j] - sum[i - 1]);
+ }
+ }
+ }
+ int result = dp[1][n];
+ for(int i = 2; i <= n; i++){
+ result = Math.min(result, dp[i][n - 1 + i]);
+ }
+ System.out.println("最低得分:"+result);
+ }
+}
diff --git a/src/aaa/Main2.java b/src/aaa/Main2.java
new file mode 100644
index 0000000..9e5af16
--- /dev/null
+++ b/src/aaa/Main2.java
@@ -0,0 +1,45 @@
+package aaa;
+
+import java.util.Arrays;
+import java.util.Scanner;
+
+public class Main2 {
+ public static void main(String[] args) {
+
+ Scanner sc = new Scanner(System.in);
+
+ while(sc.hasNext()) {
+ int n = sc.nextInt();
+ //所给数组 下标从1~n
+ int[] num = new int[n+1];
+ //前缀和数组
+ int[] sum = new int[n+1];
+ //dp数组,dp[i][j]表示i到j合并的最小代价,范围是1~n
+ int[][] dp = new int[n+1][n+1];
+ //dp数组初始化
+ for(int i=0;i<=n;i++) {
+ Arrays.fill(dp[i],Integer.MAX_VALUE);
+ }
+ sum[0] = 0;
+ //sum数组初始化
+ for(int i=1;i<=n;i++) {
+ num[i] = sc.nextInt();
+ sum[i] = num[i] + sum[i-1];
+ dp[i][i] = 0;
+ }
+ //区间长度len从小到大 因为大区间依赖于小区间
+ for(int len=1; len res = split(str.length());
+ for (Integer re : res) {
+ System.out.print(re+" ");
+ }
+ System.out.println();
+ }
+ }
+
+ public static void getNum(String str) {
+ char[] chars = str.toCharArray();
+ int index = 0;
+ int a=0,b=0;
+ for (char aChar : chars) {
+ if(aChar == 'D') a++;
+ if(aChar == 'K') b++;
+ nums[index][0] = a;
+ nums[index++][1] = b;
+ }
+ }
+
+ public static List split (int len) {
+ List res = new ArrayList<>();
+ for (int i = 0; i < len; i++) {
+ int a = nums[i][0];
+ int b = nums[i][1];
+ if(a == 0 || b == 0) {
+ res.add(i+1);
+ continue;
+ }
+ if (common(a,b) == 1) {
+ res.add(1);
+ }else {
+ int max = 1;
+ for(int j=2;j<=common(a,b);j++) {
+ if(a % j != 0 || b % j != 0) continue;
+ int width = a/j + b/j;
+ int right = width-1;
+ boolean flag = true;
+ while (right < i) {
+ int m = nums[right][0];
+ int n = nums[right][1];
+ if(m/n != a/b) {
+ flag = false;
+ break;
+ }
+ right = right + width;
+ }
+ if(flag) max = Math.max(max,j);
+ }
+ res.add(max);
+ }
+ }
+ return res;
+ }
+
+ public static int common(int a, int b) {
+ if(a 0) {
+ cn = next[cn];
+ }else {
+ next[i++] = 0;
+ }
+ }
+ return next;
+ }
+ }
+
+ static class solution1 {
+ public static int manacher(String s) {
+ if(s == null || s.length() == 0) return 0;
+ char[] str = manacherString(s);
+ int[] pArr = new int[str.length];
+ int C = -1;
+ int R = -1;
+ int max = Integer.MAX_VALUE;
+ for (int i = 0; i < str.length; i++) {
+ pArr[i] = R > i ? Math.min(pArr[2*C-1],R-i) : 1;
+ while (i+pArr[i] < str.length && i-pArr[i] > -1) {
+ if(str[i+pArr[i]] == str[i-pArr[i]]) {
+ pArr[i]++;
+ }else {
+ break;
+ }
+ }
+ if(i-pArr[i] > R) {
+ R = i + pArr[i];
+ C = i;
+ }
+ max = Math.max(max,pArr[i]);
+ }
+ return max-1;
+ }
+
+ public static char[] manacherString(String str) {
+ char[] charArr = str.toCharArray();
+ char[] res = new char[str.length()*2+1];
+ int index=0;
+ for (int i = 0; i < res.length; i++) {
+ res[i] = (i&1) == 0 ? '#' : charArr[index++];
+ }
+ return res;
+ }
+
+ }
+
+ static class solution2 {
+ public static int getIndexOf(String s1 ,String s2) {
+ if(s1 == null || s2 == null || s2.length() < 1 || s1.length() < s2.length()) return -1;
+ char[] str1 = s1.toCharArray();
+ char[] str2 = s2.toCharArray();
+ int x = 0;
+ int y = 0;
+ int[] next = getNextArray(str2);
+ while (x < str1.length && y < str2.length) {
+ if(str1[x] == str2[y]) {
+ x++;
+ y++;
+ }else if(next[y] == -1) {
+ x++;
+ }else {
+ y = next[y];
+ }
+ }
+ return y == str2.length ? x-y : -1;
+ }
+
+ public static int[] getNextArray(char[] str2) {
+ if(str2.length == 1) return new int[]{-1};
+ int[] next = new int[str2.length];
+ next[0] = -1;
+ next[1] = 0;
+ int i =2;
+ int cn = 0;
+ while (i < next.length){
+ if(str2[i-1] == str2[cn]) {
+ next[i++] = ++cn;
+ } else if(cn > 0) {
+ cn = next[cn];
+ } else {
+ next[i++] = 0;
+ }
+ }
+
+ return next;
+ }
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/src/class27/Code01_KMP.java b/src/class27/Code01_KMP.java
index 68a51de..c1a6994 100644
--- a/src/class27/Code01_KMP.java
+++ b/src/class27/Code01_KMP.java
@@ -1,7 +1,9 @@
package class27;
-
+//KMP : 判断s2是否是s1的子串
public class Code01_KMP {
-
+ /*
+ next数组:记录s2的每个位置的相同的前缀字符串和后缀字符串(顺序都是左->右)的最长长度
+ */
public static int getIndexOf(String s1, String s2) {
if (s1 == null || s2 == null || s2.length() < 1 || s1.length() < s2.length()) {
return -1;
@@ -34,7 +36,7 @@ public class Code01_KMP {
next[0] = -1;
next[1] = 0;
int i = 2; // 目前在哪个位置上求next数组的值
- int cn = 0; // 当前是哪个位置的值再和i-1位置的字符比较
+ int cn = 0; // 当前是哪个位置的值在和i-1位置的字符比较
while (i < next.length) {
if (str2[i - 1] == str2[cn]) { // 配成功的时候
next[i++] = ++cn;
diff --git a/src/class27/Code02_TreeEqual.java b/src/class27/Code02_TreeEqual.java
index 657373a..bf9bda2 100644
--- a/src/class27/Code02_TreeEqual.java
+++ b/src/class27/Code02_TreeEqual.java
@@ -13,7 +13,7 @@ public class Code02_TreeEqual {
value = v;
}
}
-
+ //判断small是否为big的子树,注意子树必须是以其根节点完整的子树,而不是一部分
public static boolean containsTree1(Node big, Node small) {
if (small == null) {
return true;
diff --git a/src/class27/Code03_IsRotation.java b/src/class27/Code03_IsRotation.java
index 605cb81..3dc78a4 100644
--- a/src/class27/Code03_IsRotation.java
+++ b/src/class27/Code03_IsRotation.java
@@ -1,11 +1,15 @@
package class27;
public class Code03_IsRotation {
-
+ /*
+ 判断a是否是b的旋转串
+ */
public static boolean isRotation(String a, String b) {
if (a == null || b == null || a.length() != b.length()) {
return false;
}
+ //自己拼接自己后,b2中就包含所有的b的旋转串,举例就很清晰了
+ //12345 1234512345
String b2 = b + b;
return getIndexOf(b2, a) != -1;
}
diff --git a/src/class28/Code01_Manacher.java b/src/class28/Code01_Manacher.java
index c75975f..1059a86 100644
--- a/src/class28/Code01_Manacher.java
+++ b/src/class28/Code01_Manacher.java
@@ -1,5 +1,7 @@
package class28;
-
+/*
+这个算法,感觉得完整看一遍逻辑才行
+ */
public class Code01_Manacher {
public static int manacher(String s) {
@@ -10,7 +12,7 @@ public class Code01_Manacher {
char[] str = manacherString(s);
// 回文半径的大小
int[] pArr = new int[str.length];
- int C = -1;
+ int C = -1;//中心位置
// 讲述中:R代表最右的扩成功的位置
// coding:最右的扩成功位置的,再下一个位置
int R = -1;
@@ -18,6 +20,7 @@ public class Code01_Manacher {
for (int i = 0; i < str.length; i++) { // 0 1 2
// R第一个违规的位置,i>= R
// i位置扩出来的答案,i位置扩的区域,至少是多大。
+ //在确定是回文的基础上,继续向左右扩展比较,不符合立刻break
pArr[i] = R > i ? Math.min(pArr[2 * C - i], R - i) : 1;
while (i + pArr[i] < str.length && i - pArr[i] > -1) {
if (str[i + pArr[i]] == str[i - pArr[i]])
@@ -26,12 +29,15 @@ public class Code01_Manacher {
break;
}
}
+ //更新R和C
if (i + pArr[i] > R) {
R = i + pArr[i];
C = i;
}
max = Math.max(max, pArr[i]);
}
+ //最大回文半径-1 就是原始字符串中的最大回文子串长度,这个按奇偶举例就明白了
+ //121 #1#2#1# 就是4-1=3 ; 1221 #1#2#2#1# 就是5-1=4 均符合max-1
return max - 1;
}
diff --git a/src/class28/Code02_AddShortestEnd.java b/src/class28/Code02_AddShortestEnd.java
index 00d961c..8d9e3c4 100644
--- a/src/class28/Code02_AddShortestEnd.java
+++ b/src/class28/Code02_AddShortestEnd.java
@@ -1,7 +1,10 @@
package class28;
public class Code02_AddShortestEnd {
-
+ /*
+ 在一个字符串后面追加字符,添加最少的字符,使之成为回文串,返回追加的字符串
+ 在manacher算法基础之上,R到最右边时停止即可。
+ */
public static String shortestEnd(String s) {
if (s == null || s.length() == 0) {
return null;
@@ -29,6 +32,8 @@ public class Code02_AddShortestEnd {
break;
}
}
+ //倒着填 注意下标转换,举例说明
+ //ab1221 需要ab #a#b#1#2#2#1#
char[] res = new char[s.length() - maxContainsEnd + 1];
for (int i = 0; i < res.length; i++) {
res[res.length - 1 - i] = str[i * 2 + 1];
diff --git a/src/class33/Hash.java b/src/class33/Hash.java
index 2c54b7d..572a839 100644
--- a/src/class33/Hash.java
+++ b/src/class33/Hash.java
@@ -1,48 +1,48 @@
-package class33;
-
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.Security;
-
-import javax.xml.bind.DatatypeConverter;
-
-public class Hash {
-
- private MessageDigest hash;
-
- public Hash(String algorithm) {
- try {
- hash = MessageDigest.getInstance(algorithm);
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- }
-
- public String hashCode(String input) {
- return DatatypeConverter.printHexBinary(hash.digest(input.getBytes())).toUpperCase();
- }
-
- public static void main(String[] args) {
- System.out.println("支持的算法 : ");
- for (String str : Security.getAlgorithms("MessageDigest")) {
- System.out.println(str);
- }
- System.out.println("=======");
-
- String algorithm = "MD5";
- Hash hash = new Hash(algorithm);
-
- String input1 = "zuochengyunzuochengyun1";
- String input2 = "zuochengyunzuochengyun2";
- String input3 = "zuochengyunzuochengyun3";
- String input4 = "zuochengyunzuochengyun4";
- String input5 = "zuochengyunzuochengyun5";
- System.out.println(hash.hashCode(input1));
- System.out.println(hash.hashCode(input2));
- System.out.println(hash.hashCode(input3));
- System.out.println(hash.hashCode(input4));
- System.out.println(hash.hashCode(input5));
-
- }
-
-}
+//package class33;
+//
+//import java.security.MessageDigest;
+//import java.security.NoSuchAlgorithmException;
+//import java.security.Security;
+//
+//import javax.xml.bind.DatatypeConverter;
+//
+//public class Hash {
+//
+// private MessageDigest hash;
+//
+// public Hash(String algorithm) {
+// try {
+// hash = MessageDigest.getInstance(algorithm);
+// } catch (NoSuchAlgorithmException e) {
+// e.printStackTrace();
+// }
+// }
+//
+// public String hashCode(String input) {
+// return DatatypeConverter.printHexBinary(hash.digest(input.getBytes())).toUpperCase();
+// }
+//
+// public static void main(String[] args) {
+// System.out.println("支持的算法 : ");
+// for (String str : Security.getAlgorithms("MessageDigest")) {
+// System.out.println(str);
+// }
+// System.out.println("=======");
+//
+// String algorithm = "MD5";
+// Hash hash = new Hash(algorithm);
+//
+// String input1 = "zuochengyunzuochengyun1";
+// String input2 = "zuochengyunzuochengyun2";
+// String input3 = "zuochengyunzuochengyun3";
+// String input4 = "zuochengyunzuochengyun4";
+// String input5 = "zuochengyunzuochengyun5";
+// System.out.println(hash.hashCode(input1));
+// System.out.println(hash.hashCode(input2));
+// System.out.println(hash.hashCode(input3));
+// System.out.println(hash.hashCode(input4));
+// System.out.println(hash.hashCode(input5));
+//
+// }
+//
+//}