From 202b96e27b290932d4a4c7edf01e465d91a82895 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 25 Aug 2018 17:46:00 +0800 Subject: [PATCH 01/96] v2.0 --- .DS_Store | Bin 8196 -> 6148 bytes Leetcode-Java.iml | 19 --- ProFile | 0 README.md | 2 + amazon/.gitignore | 1 - amazon/amazon.iml | 32 ---- amazon/build.gradle | 9 - .../com/leetcode/amazon/AddTwoNumbers.java | 40 ----- .../amazon/BestTimeToBuyAndSellStock.java | 22 --- .../amazon/BinaryTreeLevelOrderTraversal.java | 57 ------- .../amazon/BinaryTreeRightSideView.java | 47 ----- .../BinaryTreeVerticalOrderTraversal.java | 68 -------- .../amazon/CopyListWithRandomPointer.java | 37 ---- .../java/com/leetcode/amazon/CountPrimes.java | 22 --- .../amazon/EncodeAndDecodeTinyUrl.java | 39 ----- .../amazon/FindAllAnagramsInAString.java | 52 ------ .../amazon/FirstUniqueCharacterInAString.java | 21 --- .../com/leetcode/amazon/GroupAnagrams.java | 34 ---- .../amazon/InsertDeleteGetRandom.java | 71 -------- .../com/leetcode/amazon/InsertInterval.java | 37 ---- .../amazon/IntersectionOfTwoLinkedLists.java | 33 ---- .../amazon/KthLargestElementInAnArray.java | 22 --- .../java/com/leetcode/amazon/LRUCache.java | 77 --------- .../LetterCombinationsOfAPhoneNumber.java | 34 ---- .../com/leetcode/amazon/LinkedListCycle.java | 23 --- .../amazon/LongestPalindromicSubstring.java | 32 ---- ...stSubstringWithoutRepeatingCharacters.java | 26 --- ...westCommonAncestorOfABinarySearchTree.java | 26 --- .../LowestCommonAncestorOfABinaryTree.java | 25 --- .../main/java/com/leetcode/amazon/Main.java | 53 ------ .../com/leetcode/amazon/MeetingRoomII.java | 43 ----- .../com/leetcode/amazon/MeetingRooms.java | 30 ---- .../com/leetcode/amazon/MergeIntervals.java | 45 ----- .../leetcode/amazon/MergeKSortedLists.java | 48 ------ .../leetcode/amazon/MergeTwoSortedLists.java | 33 ---- .../java/com/leetcode/amazon/MinStack.java | 41 ----- .../com/leetcode/amazon/NumberOfIslands.java | 58 ------- .../leetcode/amazon/PalindromeLinkedList.java | 42 ----- .../com/leetcode/amazon/PascalTriangleII.java | 28 --- .../amazon/ProductOfArrayExceptSelf.java | 28 --- .../leetcode/amazon/ReverseLinkedList.java | 25 --- .../amazon/ReverseWordsInAString.java | 30 ---- .../java/com/leetcode/amazon/RotateImage.java | 28 --- .../leetcode/amazon/SearchA2DMatrixII.java | 24 --- .../amazon/SerializeAndDeserializeBST.java | 44 ----- .../SerializeAndDeserializeBinaryTree.java | 46 ----- .../com/leetcode/amazon/SetMatrixZeroes.java | 69 -------- .../leetcode/amazon/SlidingWindowMaximum.java | 44 ----- .../com/leetcode/amazon/StringToInteger.java | 56 ------ .../java/com/leetcode/amazon/Subsets.java | 30 ---- .../leetcode/amazon/ThirdMaximumNumber.java | 38 ----- .../java/com/leetcode/amazon/ThreeSum.java | 40 ----- .../leetcode/amazon/TrappingRainWater.java | 37 ---- .../main/java/com/leetcode/amazon/TwoSum.java | 26 --- .../java/com/leetcode/amazon/TwoSumII.java | 22 --- .../java/com/leetcode/amazon/TwoSumIII.java | 38 ----- .../com/leetcode/amazon/ValidAnagram.java | 25 --- .../com/leetcode/amazon/ValidParentheses.java | 44 ----- .../java/com/leetcode/amazon/ValidSudoku.java | 56 ------ .../amazon/ValidateBinarySearchTree.java | 23 --- .../java/com/leetcode/amazon/WordBreak.java | 26 --- .../java/com/leetcode/amazon/WordLadder.java | 52 ------ app/.gitignore | 1 - app/build.gradle | 28 --- app/proguard-rules.pro | 17 -- .../leetcode/ExampleInstrumentedTest.java | 26 --- app/src/main/AndroidManifest.xml | 20 --- .../com/inuker/leetcode/MainActivity.java | 17 -- app/src/main/res/layout/activity_main.xml | 17 -- app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3418 -> 0 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2206 -> 0 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4842 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 7718 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 10486 -> 0 bytes app/src/main/res/values-w820dp/dimens.xml | 6 - app/src/main/res/values/colors.xml | 6 - app/src/main/res/values/dimens.xml | 5 - app/src/main/res/values/strings.xml | 3 - app/src/main/res/values/styles.xml | 8 - .../com/inuker/leetcode/ExampleUnitTest.java | 17 -- build.gradle | 25 --- doc/.DS_Store | Bin 6148 -> 0 bytes ebook/.DS_Store | Bin 10244 -> 10244 bytes facebook/.gitignore | 1 - facebook/build.gradle | 9 - facebook/facebook.iml | 32 ---- .../leetcode/facebook/AddAndSearchWord.java | 67 -------- .../java/com/leetcode/facebook/AddBinary.java | 23 --- .../facebook/BinarySearchTreeIterator.java | 42 ----- .../leetcode/facebook/BinaryTreePaths.java | 35 ---- .../com/leetcode/facebook/DecodeWays.java | 43 ----- .../leetcode/facebook/FindTheCelebrity.java | 30 ---- .../leetcode/facebook/FirstBadVersion.java | 28 --- .../facebook/FlattenNestedListIterator.java | 42 ----- .../com/leetcode/facebook/ImplementTrie.java | 57 ------- .../facebook/InorderSuccessorInBST.java | 23 --- .../facebook/IntegerToEnglishWords.java | 49 ------ .../MaximumSizeSubarraySumEqualsk.java | 31 ---- .../facebook/MinimalRuntimeScheduler.java | 14 -- .../com/leetcode/facebook/MoveZeroes.java | 22 --- .../facebook/ReadNCharactersGivenRead4.java | 29 ---- .../facebook/ReadNCharactersGivenRead4II.java | 36 ---- .../facebook/RegularExpressionMatching.java | 28 --- .../facebook/RemoveInvalidParentheses.java | 54 ------ .../com/leetcode/facebook/SortColors.java | 27 --- .../facebook/SparseMatrixMultiplication.java | 24 --- .../leetcode/facebook/ValidPalindrome.java | 29 ---- .../leetcode/facebook/WildcardMatching.java | 31 ---- google/.gitignore | 1 - google/RECORDS.md | 22 --- google/build.gradle | 9 - google/google.iml | 32 ---- .../com/leetcode/google/AlienDictionary.java | 85 ---------- .../BinaryTreeLongestConsecutiveSequence.java | 33 ---- .../java/com/leetcode/google/BombEnemy.java | 50 ------ .../java/com/leetcode/google/CloneGraph.java | 66 -------- .../com/leetcode/google/CourseSchedule.java | 54 ------ .../com/leetcode/google/CourseScheduleII.java | 57 ------- .../com/leetcode/google/DecodeString.java | 51 ------ .../google/EncodeAndDecodeStrings.java | 32 ---- .../com/leetcode/google/EvaluateDivision.java | 68 -------- .../google/GeneralizedAbbreviation.java | 30 ---- .../leetcode/google/GenerateParentheses.java | 29 ---- .../com/leetcode/google/GraphValidTree.java | 55 ------ .../LetterCombinationsOfAPhoneNumber.java | 36 ---- .../leetcode/google/LoggerRateLimiter.java | 34 ---- .../google/LongestAbsoluteFilePath.java | 36 ---- .../LongestIncreasingPathInAMatrix.java | 49 ------ ...ubstringWithAtMostKDistinctCharacters.java | 33 ---- ...stringWithAtMostTwoDistinctCharacters.java | 29 ---- .../main/java/com/leetcode/google/Main.java | 11 -- .../google/MedianOfTwoSortedArrays.java | 40 ----- .../leetcode/google/MinimumHeightTrees.java | 49 ------ .../com/leetcode/google/MissingRanges.java | 39 ----- .../google/MovingAverageFromDataStream.java | 33 ---- .../java/com/leetcode/google/NumMatrixII.java | 61 ------- ...onnectedComponentsInAnUndirectedGraph.java | 44 ----- .../com/leetcode/google/NumberOfIslands.java | 35 ---- .../leetcode/google/NumberOfIslandsII.java | 65 ------- .../java/com/leetcode/google/PathSumIII.java | 36 ---- .../com/leetcode/google/PerfectRectangle.java | 67 -------- .../com/leetcode/google/PerfectSquares.java | 23 --- .../java/com/leetcode/google/PlusOne.java | 27 --- .../google/QueueReconstructionByHeight.java | 27 --- .../google/RangeSumQuery2DImmutable.java | 26 --- .../google/RangeSumQueryImmutable.java | 23 --- .../leetcode/google/RangeSumQueryMutable.java | 82 --------- .../leetcode/google/ReconstructItinerary.java | 142 ---------------- .../google/RecoverBinarySearchTree.java | 41 ----- .../google/RegularExpressionMatching.java | 29 ---- .../google/ReverseVowelsOfaString.java | 35 ---- .../google/SentenceScreenFitting.java | 26 --- .../ShortestDistanceFromAllBuildings.java | 83 --------- .../google/StrobogrammaticNumber.java | 17 -- .../google/StrobogrammaticNumberII.java | 38 ----- .../leetcode/google/TheSkylineProblem.java | 51 ------ .../com/leetcode/google/ThreeSumSmaller.java | 28 --- .../google/UniqueWordAbbreviation.java | 36 ---- .../com/leetcode/google/ValidWordSquare.java | 26 --- .../com/leetcode/google/WallsAndGates.java | 52 ------ .../java/com/leetcode/google/WiggleSort.java | 28 --- .../java/com/leetcode/google/WordBreak.java | 30 ---- .../java/com/leetcode/google/WordBreakII.java | 42 ----- .../java/com/leetcode/google/WordSquares.java | 60 ------- .../com/leetcode/google/ZigzagIterator.java | 46 ----- gradle.properties | 17 -- gradle/wrapper/gradle-wrapper.jar | Bin 53636 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 6 - gradlew | 160 ------------------ gradlew.bat | 90 ---------- leetcode.iml | 19 --- leetcode/common/common.iml | 11 ++ .../common/src}/CommonUtils.java | 2 - .../common/src}/Interval.java | 2 - .../common/src}/ListNode.java | 2 - .../common/src}/NestedInteger.java | 2 - .../common/src}/Point.java | 2 - .../common/src}/RandomListNode.java | 2 - .../common/src}/TreeLinkNode.java | 2 - .../common/src}/TreeNode.java | 2 - .../common/src}/TrieNode.java | 2 - .../common/src}/UndirectedGraphNode.java | 2 - leetcode/leetcode.iml | 13 ++ leetcode/out/production/leetcode/Main.class | Bin 0 -> 517 bytes leetcode/solution/solution.iml | 12 ++ .../solution/src}/AddBinary.java | 2 - .../solution/src}/AddTwoNumber.java | 4 - .../solution/src}/AddTwoNumbersII.java | 4 - .../solution/src}/AlienDictionary.java | 9 +- .../solution/src}/AndroidUnlockPatterns.java | 2 - .../src}/AverageOfLevelsInBinaryTree.java | 4 - .../solution/src}/BSTIterator.java | 4 - .../solution/src}/BalancedBinaryTree.java | 4 - .../solution/src}/BasicCalculator.java | 2 - .../solution/src}/BeautifulArrangement.java | 2 - .../solution/src}/BestTimeBuySellStock.java | 2 - .../solution/src}/BestTimeBuySellStockII.java | 2 - .../src}/BestTimeBuySellStockIII.java | 2 - .../solution/src}/BestTimeBuySellStockIV.java | 2 - .../BestTimeBuySellStockWithCoolDown.java | 2 - .../src}/BinaryTreeInorderTraversal.java | 4 - .../src}/BinaryTreeLevelOrderTraversal.java | 4 - .../src}/BinaryTreeLevelOrderTraversalII.java | 4 - .../BinaryTreeLongestConsecutiveSequence.java | 4 - .../src}/BinaryTreeMaximumPathSum.java | 4 - .../solution/src}/BinaryTreePaths.java | 4 - .../src}/BinaryTreePostorderTraversal.java | 4 - .../src}/BinaryTreePreorderTraversal.java | 4 - .../src}/BinaryTreeRightSideView.java | 4 - .../solution/src}/BinaryTreeUpsideDown.java | 4 - .../BinaryTreeVerticalOrderTraversal.java | 4 - .../BinaryTreeZigzagLevelOrderTraversal.java | 4 - .../solution/src}/BinaryWatch.java | 2 - .../solution/src}/BombEnemy.java | 2 - .../solution/src}/BulbSwitcher.java | 2 - .../solution/src}/BurstBalloons.java | 2 - .../solution/src}/CanArrangeWords.java | 2 - .../solution/src}/CloneGraph.java | 4 - .../src}/ClosestBinarySearchTreeValue.java | 4 - .../src}/ClosestBinarySearchTreeValueII.java | 5 - .../solution/src}/Codec.java | 10 +- .../solution/src}/CombinationSum.java | 3 - .../solution/src}/CombinationSumII.java | 2 - .../solution/src}/CombinationSumIII.java | 2 - .../solution/src}/CombinationSumIV.java | 2 - .../solution/src}/Combinations.java | 2 - ...yTreeFromInorderAndPostorderTraversal.java | 4 - ...inaryTreeFromPreorderInorderTraversal.java | 4 - .../solution/src}/ContainerWithMostWater.java | 2 - .../solution/src}/ContainsDuplicate.java | 4 - .../solution/src}/ContainsDuplicateII.java | 3 - .../solution/src}/ContainsDuplicateIII.java | 2 - .../ConvertSortedArrayToBinarySearchTree.java | 4 - .../ConvertSortedListToBinarySearchTree.java | 5 - .../src}/CopyListWithRandomPointer.java | 4 - .../solution/src}/CountAndSay.java | 2 - .../solution/src}/CountCompleteTreeNodes.java | 4 - .../src}/CountNumberWithUniqueDigits.java | 2 - .../src}/CountOfSmallerNumbersAfterSelf.java | 2 - .../solution/src}/CountPrimes.java | 4 - .../solution/src}/CountUnivalueSubtrees.java | 4 - .../solution/src}/CourseSchedule.java | 9 +- .../solution/src}/CourseScheduleII.java | 3 - .../solution/src}/DecodeString.java | 4 - .../solution/src}/DecodeWays.java | 2 - .../src}/DeleteNodeInALinkedList.java | 4 - .../solution/src}/DeleteNodeInBST.java | 4 - .../src}/DifferenceWaysToAddParentheses.java | 2 - .../solution/src}/DivideTwoIntegers.java | 2 - .../solution/src}/EditDistance.java | 2 - .../solution/src}/EncodeAndDecodeStrings.java | 2 - .../solution/src}/EncodeAndDecodeTinyURL.java | 2 - .../solution/src}/EvaluateDivision.java | 2 - .../src}/EvaluateReversePolishNotation.java | 2 - .../solution/src}/ExcelSheetColumnNumber.java | 4 - .../solution/src}/ExcelSheetColumnTitle.java | 2 - .../solution/src}/ExpressionAddOperators.java | 2 - .../solution/src}/FactorCombinations.java | 2 - .../src}/FactorialTrailingZeroes.java | 2 - .../src}/FindAllAnagramsInString.java | 3 - .../src}/FindAllDuplicatesInAnArray.java | 2 - .../FindAllNumbersDisappearedInAnArray.java | 2 - .../src}/FindBottomLeftTreeValue.java | 4 - .../solution/src}/FindCelebrity.java | 2 - .../solution/src}/FindDuplicateSubtrees.java | 4 - .../src}/FindKPairsWithSmallestSums.java | 2 - .../src}/FindLargestValueInEachTreeRow.java | 4 - .../solution/src}/FindLeavesOfBinaryTree.java | 4 - .../src}/FindMedianFromDataStream.java | 3 - .../src}/FindMinimumInRotatedSortedArray.java | 2 - .../FindMinimumInRotatedSortedArrayII.java | 2 - .../src}/FindModeInBinarySearchTree.java | 5 - .../solution/src}/FindPeakElement.java | 2 - .../solution/src}/FindRightInterval.java | 4 - .../solution/src}/FindTheDuplicateNumber.java | 2 - .../solution/src}/FirstBadVersion.java | 2 - .../solution/src}/FirstMissingPositive.java | 2 - .../src}/FirstUniqueCharacterInAString.java | 4 - .../solution/src}/FizzBuzz.java | 2 - .../src}/FlattenBinaryTreeToLinkedList.java | 4 - .../src}/FlattenNestedListIterator.java | 4 - .../solution/src}/FlipGame.java | 2 - .../solution/src}/FlipGameII.java | 5 - .../solution/src}/FourSum.java | 2 - .../solution/src}/GameOfLife.java | 2 - .../src}/GeneralizedAbbreviation.java | 2 - .../solution/src}/GenerateParentheses.java | 2 - .../solution/src}/GraphValidTree.java | 9 +- .../solution/src}/GrayCode.java | 2 - .../solution/src}/GroupAnagrams.java | 2 - .../solution/src}/GroupShiftedStrings.java | 8 +- .../src}/GuessNumberHigherOrLower.java | 2 - .../src}/GuessNumberHigherOrLowerII.java | 2 - .../solution/src}/HIndex.java | 2 - .../solution/src}/HIndexII.java | 2 - .../solution/src}/HammingDistance.java | 2 - .../solution/src}/HouseRobber.java | 2 - .../solution/src}/HouseRobberII.java | 2 - .../solution/src}/HouseRobberIII.java | 4 - .../src}/IncreasingTripletSubsequence.java | 2 - .../solution/src}/InorderSuccessorInBST.java | 4 - .../solution/src}/InsertDeleteGetRandom.java | 2 - .../src}/InsertDeleteGetRandomII.java | 9 +- .../solution/src}/InsertInterval.java | 4 - .../solution/src}/InsertionSortList.java | 4 - .../solution/src}/IntegerToEnglishWords.java | 2 - .../solution/src}/IntegerToRoman.java | 2 - .../src}/IntersectionOfTwoArrays.java | 2 - .../src}/IntersectionOfTwoArraysII.java | 2 - .../src}/IntersectionOfTwoLinkedLists.java | 4 - .../solution/src}/InvertBinaryTree.java | 16 +- .../solution/src}/JumpGame.java | 2 - .../solution/src}/JumpGameII.java | 2 - .../src}/KthLargestElementInArray.java | 3 - .../KthSmallestElementInASortedMatrix.java | 2 - .../src}/KthSmallestElementInBST.java | 4 - .../solution/src}/LFUCache.java | 2 - .../solution/src}/LargestBSTSubtree.java | 4 - .../solution/src}/LargestNumber.java | 2 - .../src}/LargestRectangleInHistogram.java | 2 - .../src}/LetterCombinationOfPhoneNumber.java | 2 - .../solution/src}/LicenseKeyFormatting.java | 2 - .../solution/src}/LinkedListCycle.java | 4 - .../solution/src}/LinkedListCycleII.java | 4 - .../solution/src}/LinkedListRandomNode.java | 4 - .../solution/src}/LoggerRateLimiter.java | 2 - .../src}/LongestAbsoluteFilePath.java | 4 - .../solution/src}/LongestCommonPrefix.java | 2 - .../src}/LongestConsecutiveSequence.java | 2 - .../src}/LongestIncreasingPathInAMatrix.java | 2 - .../src}/LongestIncreasingSubsequence.java | 2 - .../solution/src}/LongestPalindrome.java | 2 - .../src}/LongestPalindromicSubstring.java | 2 - ...stringWithAtLeastKRepeatingCharacters.java | 2 - ...ubstringWithAtMostKDistinctCharacters.java | 4 - ...stringWithAtMostTwoDistinctCharacters.java | 4 - ...stSubstringWithoutRepeatingCharacters.java | 2 - .../src}/LongestValidParentheses.java | 2 - ...ongestWordInDictionaryThroughDeleting.java | 2 - ...owestCommonAncestorOfBinarySearchTree.java | 4 - .../LowestCommonAncestorOfBinaryTree.java | 10 +- .../solution/src}/MajorityElement.java | 2 - .../solution/src}/MajorityElementII.java | 2 - .../solution/src}/MaxConsecutiveOnes.java | 2 - .../solution/src}/MaxConsecutiveOnesII.java | 2 - .../solution/src}/MaxPointsOnALine.java | 2 - .../solution/src}/MaximalRectangle.java | 2 - .../solution/src}/MaximalSquare.java | 2 - .../src}/MaximumDepthOfBinaryTree.java | 5 +- .../solution/src}/MaximumGap.java | 2 - .../solution/src}/MaximumProductSubarray.java | 2 - .../src}/MaximumSizeSubarraySumEqualsK.java | 2 - .../solution/src}/MaximumSubarray.java | 2 - .../src}/MedianOfTwoSortedArrays.java | 2 - .../solution/src}/MeetingRooms.java | 4 - .../solution/src}/MeetingRoomsII.java | 4 - .../solution/src}/MergeIntervals.java | 4 - .../solution/src}/MergeKSortedList.java | 5 - .../solution/src}/MergeSortedArray.java | 2 - .../solution/src/MergeTwoBinaryTrees.java | 13 ++ .../solution/src}/MergeTwoSortedList.java | 4 - .../solution/src}/MinStack.java | 2 - .../src}/MinimumDepthOfBinaryTree.java | 4 - .../solution/src}/MinimumHeightTrees.java | 8 +- .../solution/src}/MinimumSizeSubarraySum.java | 2 - .../solution/src}/MinimumWindowSubstring.java | 2 - .../solution/src}/MissingNumber.java | 2 - .../solution/src}/MissingRanges.java | 2 - .../solution/src}/MostFrequentSubtreeSum.java | 4 - .../solution/src}/MoveZeroes.java | 2 - .../solution/src}/MovingAverage.java | 3 - .../solution/src}/MultiplyStrings.java | 2 - .../solution/src}/MyQueue.java | 2 - .../solution/src}/MyStack.java | 2 - .../solution/src}/NQueens.java | 2 - .../solution/src}/NQueensII.java | 2 - .../solution/src}/NestedListWeightSum.java | 2 - .../solution/src}/NestedListWeightSumII.java | 2 - .../solution/src}/NextPermutation.java | 2 - .../solution/src}/NumArray.java | 2 - .../solution/src}/NumArrayII.java | 2 - .../solution/src}/NumMatrix.java | 2 - .../solution/src}/NumMatrixII.java | 2 - .../src}/NumberOfConnectedComponents.java | 2 - .../solution/src}/NumberOfDigitOne.java | 2 - .../solution/src}/NumberOfIslands.java | 2 - .../solution/src}/NumberOfIslandsII.java | 2 - .../solution/src}/OddEvenLinkedList.java | 4 - .../solution/src}/OneEditDistance.java | 2 - .../solution/src}/PaintHouse.java | 2 - .../solution/src}/PaintHouseII.java | 2 - .../solution/src}/PalindromeLinkedList.java | 4 - .../solution/src}/PalindromeNumber.java | 2 - .../solution/src}/PalindromePairs.java | 2 - .../solution/src}/PalindromePartitioning.java | 2 - .../src}/PalindromePartitioningII.java | 2 - .../solution/src}/PalindromePermutation.java | 2 - .../src}/PalindromePermutationII.java | 2 - .../solution/src}/PartitionList.java | 4 - .../solution/src}/PascalTriangleII.java | 2 - .../solution/src}/PascalsTriangle.java | 2 - .../solution/src}/PathSum.java | 4 - .../solution/src}/PathSumII.java | 4 - .../solution/src}/PathSumIII.java | 7 - .../solution/src}/PeekingIterator.java | 2 - .../solution/src}/PerfectRectangle.java | 2 - .../solution/src}/PerfectSquares.java | 2 - .../solution/src}/PermutationSequence.java | 2 - .../solution/src}/Permutations.java | 2 - .../solution/src}/PermutationsII.java | 3 - .../solution/src}/PlusOne.java | 2 - .../solution/src}/PlusOneLinkedList.java | 4 - ...PopulatingNextRightPointersInEachNode.java | 4 - ...pulatingNextRightPointersInEachNodeII.java | 4 - .../solution/src}/Pow.java | 2 - .../src}/ProductOfArrayExceptSelf.java | 2 - .../src}/QueueReconstructionByHeight.java | 2 - .../solution/src}/RandomPickIndex.java | 2 - .../solution/src}/RangeAddition.java | 2 - .../src}/ReadNCharactersGivenRead4.java | 2 - .../src}/ReadNCharactersGivenRead4II.java | 2 - .../src}/RearrangeStringKDistanceApart.java | 2 - .../solution/src}/ReconstructItinerary.java | 12 +- .../src}/RecoverBinarySearchTree.java | 4 - .../solution/src}/RectangleArea.java | 2 - .../solution/src}/RedundantConnection.java | 2 - .../src}/RegularExpressionMatching.java | 2 - .../solution/src}/RemoveDuplicateLetters.java | 2 - .../src}/RemoveDuplicatesFromSortedArray.java | 2 - .../RemoveDuplicatesFromSortedArrayII.java | 2 - .../src}/RemoveDuplicatesFromSortedList.java | 4 - .../RemoveDuplicatesFromSortedListII.java | 4 - .../solution/src}/RemoveElement.java | 2 - .../src}/RemoveInvalidParentheses.java | 2 - .../solution/src}/RemoveKDigits.java | 2 - .../src}/RemoveLinkedListElements.java | 4 - .../src}/RemoveNthNodeFromEndOfList.java | 4 - .../solution/src}/ReorderList.java | 4 - .../src}/RepeatedSubstringPattern.java | 2 - .../solution/src}/RestoreIPAddresses.java | 2 - .../solution/src}/ReverseBits.java | 2 - .../solution/src}/ReverseInteger.java | 2 - .../solution/src}/ReverseLinkedList.java | 4 - .../solution/src}/ReverseLinkedListII.java | 4 - .../solution/src}/ReverseNodesInKGroup.java | 4 - .../solution/src}/ReverseString.java | 2 - .../solution/src}/ReverseStringII.java | 2 - .../solution/src}/ReverseVowelsOfaString.java | 2 - .../solution/src}/ReverseWordsInAString.java | 2 - .../src}/ReverseWordsInAStringII.java | 2 - .../src}/ReverseWordsInAStringIII.java | 2 - .../solution/src}/RomanToInteger.java | 2 - .../solution/src}/RotateArray.java | 2 - .../solution/src}/RotateImage.java | 2 - .../solution/src}/RotateList.java | 4 - .../solution/src}/SameTree.java | 4 - .../solution/src}/Search2DMatrix.java | 4 - .../solution/src}/Search2DMatrixII.java | 2 - .../solution/src}/SearchForARange.java | 2 - .../src}/SearchInRotatedSortedArray.java | 2 - .../src}/SearchInRotatedSortedArrayII.java | 2 - .../solution/src}/SearchInsertPosition.java | 2 - .../solution/src}/SegmentTreeNode.java | 2 - .../solution/src}/SelfCrossing.java | 2 - .../solution/src}/SentenceScreenFitting.java | 2 - .../src}/SerializeAndDeserializeBST.java | 2 - .../solution/src}/SetMatrixZeroes.java | 2 - .../ShortestDistanceFromAllBuildings.java | 2 - .../solution/src}/ShortestPalindrome.java | 2 - .../solution/src}/ShortestWordDistance.java | 5 - .../solution/src}/ShortestWordDistanceII.java | 3 - .../src}/ShortestWordDistanceIII.java | 2 - .../solution/src}/ShuffleAnArray.java | 2 - .../solution/src}/SimplifyPath.java | 2 - .../solution/src}/SlidingWindowMaximum.java | 8 +- .../solution/src}/SlidingWindowMedian.java | 3 - .../solution/src}/SmallestGoodBase.java | 2 - ...SmallestRectangleEnclosingBlackPixels.java | 2 - .../src}/SortCharactersByFrequency.java | 9 +- .../solution/src}/SortColors.java | 2 - .../solution/src}/SortList.java | 4 - .../src}/SparseMatrixMultiplication.java | 2 - .../solution/src}/SpiralMatrix.java | 2 - .../solution/src}/SplitArrayLargestSum.java | 2 - .../solution/src}/Sqrt.java | 2 - .../solution/src}/StrStr.java | 2 - .../solution/src}/String2Integer.java | 2 - .../solution/src}/StrobogrammaticNumber.java | 2 - .../solution/src}/SubarraySumEqualsK.java | 2 - .../solution/src}/Subsets.java | 2 - .../solution/src}/SubsetsII.java | 2 - .../SubstringWithConcatenationOfAllWords.java | 2 - .../solution/src}/SudokuSolver.java | 2 - .../solution/src}/SumOfLeftLeaves.java | 4 - .../solution/src}/SumRootToLeafNumbers.java | 4 - .../solution/src}/SummaryRanges.java | 3 - .../solution/src}/SuperUglyNumber.java | 2 - .../solution/src}/SurroundedRegions.java | 2 - .../solution/src}/SwapNodesInPairs.java | 4 - .../solution/src}/SymmetricTree.java | 4 - .../solution/src}/TextJustification.java | 2 - .../solution/src}/TheSkylineProblem.java | 10 +- .../solution/src}/ThirdMaximumNumber.java | 2 - .../solution/src}/ThreeSum.java | 2 - .../solution/src}/ThreeSumClosest.java | 2 - .../solution/src}/ThreeSumSmaller.java | 2 - .../solution/src}/TopKFrequentElements.java | 12 +- .../solution/src}/TotalHammingDistance.java | 2 - .../solution/src}/TrappingRainWater.java | 2 - .../solution/src}/TrappingRainWaterII.java | 2 - .../solution/src}/Trie.java | 2 - .../solution/src/TrimABinarySearchTree.java | 22 +++ .../solution/src}/TwoSum.java | 3 - .../solution/src}/TwoSumII.java | 2 - .../solution/src}/TwoSumIII.java | 2 - .../solution/src}/TwoSumIV.java | 5 - .../solution/src}/UTFValidation.java | 2 - .../solution/src}/UglyNumber.java | 2 - .../solution/src}/UglyNumberII.java | 2 - .../src}/UniqueBinarySearchTrees.java | 2 - .../src}/UniqueBinarySearchTreesII.java | 4 - .../solution/src}/ValidAnagram.java | 2 - .../solution/src}/ValidPalindrome.java | 2 - .../solution/src}/ValidParentheses.java | 2 - .../solution/src}/ValidPerfectSquare.java | 2 - .../solution/src}/ValidSudoku.java | 2 - .../solution/src}/ValidWordAbbr.java | 2 - .../solution/src}/ValidWordAbbreviation.java | 2 - .../solution/src}/ValidWordSquare.java | 2 - .../src}/ValidateBinarySearchTree.java | 4 - .../solution/src}/Vector2D.java | 2 - ...ifyPreorderSequenceInBinarySearchTree.java | 2 - .../solution/src}/WallsAndGates.java | 2 - .../solution/src}/WiggleSort.java | 4 - .../solution/src}/WiggleSortII.java | 2 - .../solution/src}/WildcardMatching.java | 2 - .../solution/src}/WordBreak.java | 3 - .../solution/src}/WordBreakII.java | 11 +- .../solution/src}/WordDictionary.java | 2 - .../solution/src}/WordLadder.java | 2 - .../solution/src}/WordLadderII.java | 8 +- .../solution/src}/WordSearch.java | 2 - .../solution/src}/WordSearchII.java | 2 - .../solution/src}/WordSquares.java | 9 +- .../solution/src}/ZigZagConversion.java | 2 - .../solution/src}/ZigzagIterator.java | 2 - .../solution/src}/system/DesignTinyURL.java | 2 +- .../solution/src}/system/Info.java | 2 +- leetcode/src/Main.java | 29 ++++ library/.gitignore | 1 - library/build.gradle | 8 - library/library.iml | 30 ---- library/src/main/java/.DS_Store | Bin 6148 -> 0 bytes library/src/main/java/com/.DS_Store | Bin 6148 -> 0 bytes library/src/main/java/com/leetcode/.DS_Store | Bin 6148 -> 0 bytes progen.txt | 2 - settings.gradle | 1 - solution/.gitignore | 1 - solution/build.gradle | 13 -- solution/solution.iml | 32 ---- .../main/java/com/inuker/solution/.DS_Store | Bin 6148 -> 0 bytes .../solution/ReverseWordsInAStringII.java | 28 --- .../com/inuker/solution/UTFValidation.java | 37 ---- temp.txt | 1 - test.txt | 12 -- test/.gitignore | 1 - test/build.gradle | 10 -- test/src/main/java/com/inuker/test/Test.java | 26 --- test/src/main/java/com/inuker/test/Test2.java | 25 --- test/src/main/java/com/inuker/test/main.java | 57 ------- test/test.iml | 34 ---- tools/.gitignore | 1 - tools/src/main/main3.iml | 11 ++ 573 files changed, 133 insertions(+), 7252 deletions(-) delete mode 100644 Leetcode-Java.iml delete mode 100644 ProFile delete mode 100644 amazon/.gitignore delete mode 100644 amazon/amazon.iml delete mode 100644 amazon/build.gradle delete mode 100644 amazon/src/main/java/com/leetcode/amazon/AddTwoNumbers.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/BestTimeToBuyAndSellStock.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/BinaryTreeLevelOrderTraversal.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/BinaryTreeRightSideView.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/BinaryTreeVerticalOrderTraversal.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/CopyListWithRandomPointer.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/CountPrimes.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/EncodeAndDecodeTinyUrl.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/FindAllAnagramsInAString.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/FirstUniqueCharacterInAString.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/GroupAnagrams.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/InsertDeleteGetRandom.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/InsertInterval.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/IntersectionOfTwoLinkedLists.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/KthLargestElementInAnArray.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/LRUCache.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/LetterCombinationsOfAPhoneNumber.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/LinkedListCycle.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/LongestPalindromicSubstring.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/LongestSubstringWithoutRepeatingCharacters.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/LowestCommonAncestorOfABinarySearchTree.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/LowestCommonAncestorOfABinaryTree.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/Main.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/MeetingRoomII.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/MeetingRooms.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/MergeIntervals.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/MergeKSortedLists.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/MergeTwoSortedLists.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/MinStack.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/NumberOfIslands.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/PalindromeLinkedList.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/PascalTriangleII.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ProductOfArrayExceptSelf.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ReverseLinkedList.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ReverseWordsInAString.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/RotateImage.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/SearchA2DMatrixII.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/SerializeAndDeserializeBST.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/SerializeAndDeserializeBinaryTree.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/SetMatrixZeroes.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/SlidingWindowMaximum.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/StringToInteger.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/Subsets.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ThirdMaximumNumber.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ThreeSum.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/TrappingRainWater.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/TwoSum.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/TwoSumII.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/TwoSumIII.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ValidAnagram.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ValidParentheses.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ValidSudoku.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/ValidateBinarySearchTree.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/WordBreak.java delete mode 100644 amazon/src/main/java/com/leetcode/amazon/WordLadder.java delete mode 100644 app/.gitignore delete mode 100644 app/build.gradle delete mode 100644 app/proguard-rules.pro delete mode 100644 app/src/androidTest/java/com/inuker/leetcode/ExampleInstrumentedTest.java delete mode 100644 app/src/main/AndroidManifest.xml delete mode 100644 app/src/main/java/com/inuker/leetcode/MainActivity.java delete mode 100644 app/src/main/res/layout/activity_main.xml delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/values-w820dp/dimens.xml delete mode 100644 app/src/main/res/values/colors.xml delete mode 100644 app/src/main/res/values/dimens.xml delete mode 100644 app/src/main/res/values/strings.xml delete mode 100644 app/src/main/res/values/styles.xml delete mode 100644 app/src/test/java/com/inuker/leetcode/ExampleUnitTest.java delete mode 100644 build.gradle delete mode 100644 doc/.DS_Store delete mode 100644 facebook/.gitignore delete mode 100644 facebook/build.gradle delete mode 100644 facebook/facebook.iml delete mode 100644 facebook/src/main/java/com/leetcode/facebook/AddAndSearchWord.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/AddBinary.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/BinarySearchTreeIterator.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/BinaryTreePaths.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/DecodeWays.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/FindTheCelebrity.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/FirstBadVersion.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/FlattenNestedListIterator.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/ImplementTrie.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/InorderSuccessorInBST.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/IntegerToEnglishWords.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/MaximumSizeSubarraySumEqualsk.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/MinimalRuntimeScheduler.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/MoveZeroes.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/ReadNCharactersGivenRead4.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/ReadNCharactersGivenRead4II.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/RegularExpressionMatching.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/RemoveInvalidParentheses.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/SortColors.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/SparseMatrixMultiplication.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/ValidPalindrome.java delete mode 100644 facebook/src/main/java/com/leetcode/facebook/WildcardMatching.java delete mode 100644 google/.gitignore delete mode 100644 google/RECORDS.md delete mode 100644 google/build.gradle delete mode 100644 google/google.iml delete mode 100644 google/src/main/java/com/leetcode/google/AlienDictionary.java delete mode 100644 google/src/main/java/com/leetcode/google/BinaryTreeLongestConsecutiveSequence.java delete mode 100644 google/src/main/java/com/leetcode/google/BombEnemy.java delete mode 100644 google/src/main/java/com/leetcode/google/CloneGraph.java delete mode 100644 google/src/main/java/com/leetcode/google/CourseSchedule.java delete mode 100644 google/src/main/java/com/leetcode/google/CourseScheduleII.java delete mode 100644 google/src/main/java/com/leetcode/google/DecodeString.java delete mode 100644 google/src/main/java/com/leetcode/google/EncodeAndDecodeStrings.java delete mode 100644 google/src/main/java/com/leetcode/google/EvaluateDivision.java delete mode 100644 google/src/main/java/com/leetcode/google/GeneralizedAbbreviation.java delete mode 100644 google/src/main/java/com/leetcode/google/GenerateParentheses.java delete mode 100644 google/src/main/java/com/leetcode/google/GraphValidTree.java delete mode 100644 google/src/main/java/com/leetcode/google/LetterCombinationsOfAPhoneNumber.java delete mode 100644 google/src/main/java/com/leetcode/google/LoggerRateLimiter.java delete mode 100644 google/src/main/java/com/leetcode/google/LongestAbsoluteFilePath.java delete mode 100644 google/src/main/java/com/leetcode/google/LongestIncreasingPathInAMatrix.java delete mode 100644 google/src/main/java/com/leetcode/google/LongestSubstringWithAtMostKDistinctCharacters.java delete mode 100644 google/src/main/java/com/leetcode/google/LongestSubstringWithAtMostTwoDistinctCharacters.java delete mode 100644 google/src/main/java/com/leetcode/google/Main.java delete mode 100644 google/src/main/java/com/leetcode/google/MedianOfTwoSortedArrays.java delete mode 100644 google/src/main/java/com/leetcode/google/MinimumHeightTrees.java delete mode 100644 google/src/main/java/com/leetcode/google/MissingRanges.java delete mode 100644 google/src/main/java/com/leetcode/google/MovingAverageFromDataStream.java delete mode 100644 google/src/main/java/com/leetcode/google/NumMatrixII.java delete mode 100644 google/src/main/java/com/leetcode/google/NumberOfConnectedComponentsInAnUndirectedGraph.java delete mode 100644 google/src/main/java/com/leetcode/google/NumberOfIslands.java delete mode 100644 google/src/main/java/com/leetcode/google/NumberOfIslandsII.java delete mode 100644 google/src/main/java/com/leetcode/google/PathSumIII.java delete mode 100644 google/src/main/java/com/leetcode/google/PerfectRectangle.java delete mode 100644 google/src/main/java/com/leetcode/google/PerfectSquares.java delete mode 100644 google/src/main/java/com/leetcode/google/PlusOne.java delete mode 100644 google/src/main/java/com/leetcode/google/QueueReconstructionByHeight.java delete mode 100644 google/src/main/java/com/leetcode/google/RangeSumQuery2DImmutable.java delete mode 100644 google/src/main/java/com/leetcode/google/RangeSumQueryImmutable.java delete mode 100644 google/src/main/java/com/leetcode/google/RangeSumQueryMutable.java delete mode 100644 google/src/main/java/com/leetcode/google/ReconstructItinerary.java delete mode 100644 google/src/main/java/com/leetcode/google/RecoverBinarySearchTree.java delete mode 100644 google/src/main/java/com/leetcode/google/RegularExpressionMatching.java delete mode 100644 google/src/main/java/com/leetcode/google/ReverseVowelsOfaString.java delete mode 100644 google/src/main/java/com/leetcode/google/SentenceScreenFitting.java delete mode 100644 google/src/main/java/com/leetcode/google/ShortestDistanceFromAllBuildings.java delete mode 100644 google/src/main/java/com/leetcode/google/StrobogrammaticNumber.java delete mode 100644 google/src/main/java/com/leetcode/google/StrobogrammaticNumberII.java delete mode 100644 google/src/main/java/com/leetcode/google/TheSkylineProblem.java delete mode 100644 google/src/main/java/com/leetcode/google/ThreeSumSmaller.java delete mode 100644 google/src/main/java/com/leetcode/google/UniqueWordAbbreviation.java delete mode 100644 google/src/main/java/com/leetcode/google/ValidWordSquare.java delete mode 100644 google/src/main/java/com/leetcode/google/WallsAndGates.java delete mode 100644 google/src/main/java/com/leetcode/google/WiggleSort.java delete mode 100644 google/src/main/java/com/leetcode/google/WordBreak.java delete mode 100644 google/src/main/java/com/leetcode/google/WordBreakII.java delete mode 100644 google/src/main/java/com/leetcode/google/WordSquares.java delete mode 100644 google/src/main/java/com/leetcode/google/ZigzagIterator.java delete mode 100644 gradle.properties delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties delete mode 100644 gradlew delete mode 100644 gradlew.bat delete mode 100644 leetcode.iml create mode 100644 leetcode/common/common.iml rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/CommonUtils.java (91%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/Interval.java (90%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/ListNode.java (93%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/NestedInteger.java (95%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/Point.java (95%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/RandomListNode.java (86%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/TreeLinkNode.java (89%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/TreeNode.java (97%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/TrieNode.java (86%) rename {library/src/main/java/com/leetcode/library => leetcode/common/src}/UndirectedGraphNode.java (91%) create mode 100644 leetcode/leetcode.iml create mode 100644 leetcode/out/production/leetcode/Main.class create mode 100644 leetcode/solution/solution.iml rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/AddBinary.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/AddTwoNumber.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/AddTwoNumbersII.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/AlienDictionary.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/AndroidUnlockPatterns.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/AverageOfLevelsInBinaryTree.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BSTIterator.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BalancedBinaryTree.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BasicCalculator.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BeautifulArrangement.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BestTimeBuySellStock.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BestTimeBuySellStockII.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BestTimeBuySellStockIII.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BestTimeBuySellStockIV.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BestTimeBuySellStockWithCoolDown.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeInorderTraversal.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeLevelOrderTraversal.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeLevelOrderTraversalII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeLongestConsecutiveSequence.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeMaximumPathSum.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreePaths.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreePostorderTraversal.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreePreorderTraversal.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeRightSideView.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeUpsideDown.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeVerticalOrderTraversal.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryTreeZigzagLevelOrderTraversal.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BinaryWatch.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BombEnemy.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BulbSwitcher.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/BurstBalloons.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CanArrangeWords.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CloneGraph.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ClosestBinarySearchTreeValue.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ClosestBinarySearchTreeValueII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Codec.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CombinationSum.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CombinationSumII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CombinationSumIII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CombinationSumIV.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Combinations.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ConstructBinaryTreeFromInorderAndPostorderTraversal.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ConstructBinaryTreeFromPreorderInorderTraversal.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ContainerWithMostWater.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ContainsDuplicate.java (84%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ContainsDuplicateII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ContainsDuplicateIII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ConvertSortedArrayToBinarySearchTree.java (89%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ConvertSortedListToBinarySearchTree.java (86%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CopyListWithRandomPointer.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CountAndSay.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CountCompleteTreeNodes.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CountNumberWithUniqueDigits.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CountOfSmallerNumbersAfterSelf.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CountPrimes.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CountUnivalueSubtrees.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CourseSchedule.java (85%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/CourseScheduleII.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/DecodeString.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/DecodeWays.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/DeleteNodeInALinkedList.java (79%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/DeleteNodeInBST.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/DifferenceWaysToAddParentheses.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/DivideTwoIntegers.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/EditDistance.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/EncodeAndDecodeStrings.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/EncodeAndDecodeTinyURL.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/EvaluateDivision.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/EvaluateReversePolishNotation.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ExcelSheetColumnNumber.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ExcelSheetColumnTitle.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ExpressionAddOperators.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FactorCombinations.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FactorialTrailingZeroes.java (87%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindAllAnagramsInString.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindAllDuplicatesInAnArray.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindAllNumbersDisappearedInAnArray.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindBottomLeftTreeValue.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindCelebrity.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindDuplicateSubtrees.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindKPairsWithSmallestSums.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindLargestValueInEachTreeRow.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindLeavesOfBinaryTree.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindMedianFromDataStream.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindMinimumInRotatedSortedArray.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindMinimumInRotatedSortedArrayII.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindModeInBinarySearchTree.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindPeakElement.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindRightInterval.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FindTheDuplicateNumber.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FirstBadVersion.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FirstMissingPositive.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FirstUniqueCharacterInAString.java (88%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FizzBuzz.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FlattenBinaryTreeToLinkedList.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FlattenNestedListIterator.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FlipGame.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FlipGameII.java (86%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/FourSum.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GameOfLife.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GeneralizedAbbreviation.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GenerateParentheses.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GraphValidTree.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GrayCode.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GroupAnagrams.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GroupShiftedStrings.java (86%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GuessNumberHigherOrLower.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/GuessNumberHigherOrLowerII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/HIndex.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/HIndexII.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/HammingDistance.java (88%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/HouseRobber.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/HouseRobberII.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/HouseRobberIII.java (89%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/IncreasingTripletSubsequence.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/InorderSuccessorInBST.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/InsertDeleteGetRandom.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/InsertDeleteGetRandomII.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/InsertInterval.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/InsertionSortList.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/IntegerToEnglishWords.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/IntegerToRoman.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/IntersectionOfTwoArrays.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/IntersectionOfTwoArraysII.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/IntersectionOfTwoLinkedLists.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/InvertBinaryTree.java (75%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/JumpGame.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/JumpGameII.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/KthLargestElementInArray.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/KthSmallestElementInASortedMatrix.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/KthSmallestElementInBST.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LFUCache.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LargestBSTSubtree.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LargestNumber.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LargestRectangleInHistogram.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LetterCombinationOfPhoneNumber.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LicenseKeyFormatting.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LinkedListCycle.java (86%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LinkedListCycleII.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LinkedListRandomNode.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LoggerRateLimiter.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestAbsoluteFilePath.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestCommonPrefix.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestConsecutiveSequence.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestIncreasingPathInAMatrix.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestIncreasingSubsequence.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestPalindrome.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestPalindromicSubstring.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestSubstringWithAtLeastKRepeatingCharacters.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestSubstringWithAtMostKDistinctCharacters.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestSubstringWithAtMostTwoDistinctCharacters.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestSubstringWithoutRepeatingCharacters.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestValidParentheses.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LongestWordInDictionaryThroughDeleting.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LowestCommonAncestorOfBinarySearchTree.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/LowestCommonAncestorOfBinaryTree.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MajorityElement.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MajorityElementII.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaxConsecutiveOnes.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaxConsecutiveOnesII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaxPointsOnALine.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaximalRectangle.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaximalSquare.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaximumDepthOfBinaryTree.java (67%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaximumGap.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaximumProductSubarray.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaximumSizeSubarraySumEqualsK.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MaximumSubarray.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MedianOfTwoSortedArrays.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MeetingRooms.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MeetingRoomsII.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MergeIntervals.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MergeKSortedList.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MergeSortedArray.java (95%) create mode 100644 leetcode/solution/src/MergeTwoBinaryTrees.java rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MergeTwoSortedList.java (89%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MinStack.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MinimumDepthOfBinaryTree.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MinimumHeightTrees.java (89%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MinimumSizeSubarraySum.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MinimumWindowSubstring.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MissingNumber.java (89%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MissingRanges.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MostFrequentSubtreeSum.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MoveZeroes.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MovingAverage.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MultiplyStrings.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MyQueue.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/MyStack.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NQueens.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NQueensII.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NestedListWeightSum.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NestedListWeightSumII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NextPermutation.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NumArray.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NumArrayII.java (99%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NumMatrix.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NumMatrixII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NumberOfConnectedComponents.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NumberOfDigitOne.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NumberOfIslands.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/NumberOfIslandsII.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/OddEvenLinkedList.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/OneEditDistance.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PaintHouse.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PaintHouseII.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PalindromeLinkedList.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PalindromeNumber.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PalindromePairs.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PalindromePartitioning.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PalindromePartitioningII.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PalindromePermutation.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PalindromePermutationII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PartitionList.java (88%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PascalTriangleII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PascalsTriangle.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PathSum.java (85%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PathSumII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PathSumIII.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PeekingIterator.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PerfectRectangle.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PerfectSquares.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PermutationSequence.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Permutations.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PermutationsII.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PlusOne.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PlusOneLinkedList.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PopulatingNextRightPointersInEachNode.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/PopulatingNextRightPointersInEachNodeII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Pow.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ProductOfArrayExceptSelf.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/QueueReconstructionByHeight.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RandomPickIndex.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RangeAddition.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReadNCharactersGivenRead4.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReadNCharactersGivenRead4II.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RearrangeStringKDistanceApart.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReconstructItinerary.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RecoverBinarySearchTree.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RectangleArea.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RedundantConnection.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RegularExpressionMatching.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveDuplicateLetters.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveDuplicatesFromSortedArray.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveDuplicatesFromSortedArrayII.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveDuplicatesFromSortedList.java (88%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveDuplicatesFromSortedListII.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveElement.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveInvalidParentheses.java (99%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveKDigits.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveLinkedListElements.java (86%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RemoveNthNodeFromEndOfList.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReorderList.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RepeatedSubstringPattern.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RestoreIPAddresses.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseBits.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseInteger.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseLinkedList.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseLinkedListII.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseNodesInKGroup.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseString.java (86%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseStringII.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseVowelsOfaString.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseWordsInAString.java (97%) rename {amazon/src/main/java/com/leetcode/amazon => leetcode/solution/src}/ReverseWordsInAStringII.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ReverseWordsInAStringIII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RomanToInteger.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RotateArray.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RotateImage.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/RotateList.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SameTree.java (84%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Search2DMatrix.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Search2DMatrixII.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SearchForARange.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SearchInRotatedSortedArray.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SearchInRotatedSortedArrayII.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SearchInsertPosition.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SegmentTreeNode.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SelfCrossing.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SentenceScreenFitting.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SerializeAndDeserializeBST.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SetMatrixZeroes.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ShortestDistanceFromAllBuildings.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ShortestPalindrome.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ShortestWordDistance.java (88%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ShortestWordDistanceII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ShortestWordDistanceIII.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ShuffleAnArray.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SimplifyPath.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SlidingWindowMaximum.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SlidingWindowMedian.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SmallestGoodBase.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SmallestRectangleEnclosingBlackPixels.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SortCharactersByFrequency.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SortColors.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SortList.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SparseMatrixMultiplication.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SpiralMatrix.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SplitArrayLargestSum.java (99%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Sqrt.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/StrStr.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/String2Integer.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/StrobogrammaticNumber.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SubarraySumEqualsK.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Subsets.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SubsetsII.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SubstringWithConcatenationOfAllWords.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SudokuSolver.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SumOfLeftLeaves.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SumRootToLeafNumbers.java (88%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SummaryRanges.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SuperUglyNumber.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SurroundedRegions.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SwapNodesInPairs.java (89%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/SymmetricTree.java (89%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TextJustification.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TheSkylineProblem.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ThirdMaximumNumber.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ThreeSum.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ThreeSumClosest.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ThreeSumSmaller.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TopKFrequentElements.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TotalHammingDistance.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TrappingRainWater.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TrappingRainWaterII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Trie.java (97%) create mode 100644 leetcode/solution/src/TrimABinarySearchTree.java rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TwoSum.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TwoSumII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TwoSumIII.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/TwoSumIV.java (88%) rename {google/src/main/java/com/leetcode/google => leetcode/solution/src}/UTFValidation.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/UglyNumber.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/UglyNumberII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/UniqueBinarySearchTrees.java (93%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/UniqueBinarySearchTreesII.java (94%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidAnagram.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidPalindrome.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidParentheses.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidPerfectSquare.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidSudoku.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidWordAbbr.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidWordAbbreviation.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidWordSquare.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ValidateBinarySearchTree.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/Vector2D.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/VerifyPreorderSequenceInBinarySearchTree.java (96%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WallsAndGates.java (99%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WiggleSort.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WiggleSortII.java (99%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WildcardMatching.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WordBreak.java (92%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WordBreakII.java (90%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WordDictionary.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WordLadder.java (99%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WordLadderII.java (95%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WordSearch.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WordSearchII.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/WordSquares.java (91%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ZigZagConversion.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/ZigzagIterator.java (97%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/system/DesignTinyURL.java (98%) rename {solution/src/main/java/com/inuker/solution => leetcode/solution/src}/system/Info.java (79%) create mode 100644 leetcode/src/Main.java delete mode 100644 library/.gitignore delete mode 100644 library/build.gradle delete mode 100644 library/library.iml delete mode 100644 library/src/main/java/.DS_Store delete mode 100644 library/src/main/java/com/.DS_Store delete mode 100644 library/src/main/java/com/leetcode/.DS_Store delete mode 100644 progen.txt delete mode 100644 settings.gradle delete mode 100644 solution/.gitignore delete mode 100644 solution/build.gradle delete mode 100644 solution/solution.iml delete mode 100644 solution/src/main/java/com/inuker/solution/.DS_Store delete mode 100644 solution/src/main/java/com/inuker/solution/ReverseWordsInAStringII.java delete mode 100644 solution/src/main/java/com/inuker/solution/UTFValidation.java delete mode 100644 temp.txt delete mode 100644 test.txt delete mode 100644 test/.gitignore delete mode 100644 test/build.gradle delete mode 100644 test/src/main/java/com/inuker/test/Test.java delete mode 100644 test/src/main/java/com/inuker/test/Test2.java delete mode 100644 test/src/main/java/com/inuker/test/main.java delete mode 100644 test/test.iml delete mode 100644 tools/.gitignore create mode 100644 tools/src/main/main3.iml diff --git a/.DS_Store b/.DS_Store index f6ffae72182de685a3a0518908c15b8e0be93e2b..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 100644 GIT binary patch delta 105 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{MGpJ516q~502;ws^0>w5KPGg_gAhnpCgF}!R pBnTAa1`@77th%xAJM(0I8AV3M$)+;eJWLRCKt?lcj^~-f3;-`E4{!hg literal 8196 zcmeHM&u`l{6n;#cL~hbWX_GcZcMuj72+*K#nshk~MLjoNmjy$-IOrUttt;D%BUBa* zNsjYl8T=RQ-1TqRZI}H612$my4ZG~R!wv%m?3#U~%4>x)FQM5G~0sgI+$Ajy82`_fR@aubq4pGc6iW{Xd$$*Rx2C|g-P<8{ULI(7v+#z()acMN6r5N-kZGARkTTHE zfV{hpl1WYEqs09kTZ#RGJzhRlNhuEl*P>SBmM=HlN67OL)C5(jO%~Zyr#sXj7g}{Z z@wgt_Oy~^*C8!ohDeJF*WT&Sni9%Gh}w&nS`+|O)iI5RRjre(8Q_OkY@ zv?n?x-}KvF!E|@jlU3){u)ZaPeO5QCPb}W4=+h5{lX=TA!T3$R^FpgJNatp@t()%YTns)ux;{CN3&BLSPFHXMvS~);0 zjAAqyJfD@X&)wTExsENI23jO~gg8hQ_`Q6*SUsfvml>}~+*Pov^Z5_6NnLck& zwjR5jJ39^6s&DM>dfYEp^hvMg3fnFU&+;wdY)5*xpL$rxYd&wTIlBTQ?qjKLv?R=X z!d(xtPrtlvx~}Ooc;WDwZC1Ix;S_}Li>5?MYjC9Ka%oA8RBD+u%W2F#_!DahX)a&v zRpx_=PIEy8cLtqpIcAe*vvc|Nuu-Gi^dWshCEBA7eMPV78~TpEr(fw0`kQ6gHTE96 z&6e4H_JDoN*4R2Lvd>fqfPtajj(E2>L?GD?WaMQgc7;Z}2raeqy^&b?2uwpiL{|PN zf|1-qjs9RnKV5(w5V$0kUPbIqMS~ndUJD^lpyZG~b|@z=J~QQa)WTTILMMSn7>Sk zmhZv=cOJ9`9!rY1-y^(fzzg`&R_`+Yky{>r(x*7y$7oG>HrStjya($SMzV@J~DGW4o<^C*Q~t%KN|e~f3ShHCuJaI;D65m%dD1G3vi=%1}8m|cWndt w1+q*M*A1jnL7}eWkm@=PdG?1P>IR@vCm+ggAkl*K-+u^5&;RuNPtX5<0J~HF$N&HU diff --git a/Leetcode-Java.iml b/Leetcode-Java.iml deleted file mode 100644 index 943250f..0000000 --- a/Leetcode-Java.iml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ProFile b/ProFile deleted file mode 100644 index e69de29..0000000 diff --git a/README.md b/README.md index a0c2910..711336a 100644 --- a/README.md +++ b/README.md @@ -373,7 +373,9 @@ |541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseStringII.java)|100|| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SubarraySumEqualsK.java)|70|| +|617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|Java|100|很简单| |637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AverageOfLevelsInBinaryTree.java)|100|| |652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindDuplicateSubtrees.java)|70|开始还没思路| |653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TwoSumIV.java)|90|| +|669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|Java|100|| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RedundantConnection.java)||| \ No newline at end of file diff --git a/amazon/.gitignore b/amazon/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/amazon/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/amazon/amazon.iml b/amazon/amazon.iml deleted file mode 100644 index c9e9249..0000000 --- a/amazon/amazon.iml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/amazon/build.gradle b/amazon/build.gradle deleted file mode 100644 index 7ab6e83..0000000 --- a/amazon/build.gradle +++ /dev/null @@ -1,9 +0,0 @@ -apply plugin: 'java' - -dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - compile project(':library') -} - -sourceCompatibility = "1.7" -targetCompatibility = "1.7" diff --git a/amazon/src/main/java/com/leetcode/amazon/AddTwoNumbers.java b/amazon/src/main/java/com/leetcode/amazon/AddTwoNumbers.java deleted file mode 100644 index 5b700cf..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/AddTwoNumbers.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.ListNode; - -/** - * Created by liwentian on 17/8/11. - */ - -public class AddTwoNumbers { - - public ListNode addTwoNumbers(ListNode l1, ListNode l2) { - if (l1 == null) { - return l2; - } - if (l2 == null) { - return l1; - } - ListNode dummy = new ListNode(0), node = dummy; - - int flag = 0; - for (ListNode p1 = l1, p2 = l2; p1 != null || p2 != null || flag > 0; ) { - int n1 = p1 != null ? p1.val : 0; - int n2 = p2 != null ? p2.val : 0; - int sum = n1 + n2 + flag; - ListNode p = new ListNode(sum % 10); - flag = sum / 10; - node.next = p; - node = node.next; - - if (p1 != null) { - p1 = p1.next; - } - if (p2 != null) { - p2 = p2.next; - } - } - - return dummy.next; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/BestTimeToBuyAndSellStock.java b/amazon/src/main/java/com/leetcode/amazon/BestTimeToBuyAndSellStock.java deleted file mode 100644 index 55badd3..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/BestTimeToBuyAndSellStock.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/10. - */ - -public class BestTimeToBuyAndSellStock { - - public int maxProfit(int[] prices) { - int maxProfit = 0, min = Integer.MAX_VALUE; - - for (int price : prices) { - int profit = price - min; - if (profit > maxProfit) { - maxProfit = profit; - } - min = Math.min(min, price); - } - - return maxProfit; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/BinaryTreeLevelOrderTraversal.java b/amazon/src/main/java/com/leetcode/amazon/BinaryTreeLevelOrderTraversal.java deleted file mode 100644 index 470d700..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/BinaryTreeLevelOrderTraversal.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; - -/** - * Created by liwentian on 17/8/12. - */ - -public class BinaryTreeLevelOrderTraversal { - - public List> levelOrder(TreeNode root) { - List> result = new LinkedList<>(); - - if (root == null) { - return result; - } - - Queue queue = new LinkedList<>(); - Queue next = new LinkedList<>(); - - queue.add(root); - - List list = null; - - while (!queue.isEmpty()) { - TreeNode node = queue.poll(); - - if (list == null) { - list = new LinkedList<>(); - } - - list.add(node.val); - - if (node.left != null) { - next.add(node.left); - } - - if (node.right != null) { - next.add(node.right); - } - - if (queue.isEmpty()) { - result.add(list); - list = null; - - queue.addAll(next); - next.clear(); - } - } - - return result; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/BinaryTreeRightSideView.java b/amazon/src/main/java/com/leetcode/amazon/BinaryTreeRightSideView.java deleted file mode 100644 index 62ff01d..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/BinaryTreeRightSideView.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; - -/** - * Created by liwentian on 17/8/12. - */ - -public class BinaryTreeRightSideView { - - public List rightSideView(TreeNode root) { - List list = new LinkedList<>(); - - if (root == null) { - return list; - } - - Queue queue = new LinkedList<>(); - Queue next = new LinkedList<>(); - queue.add(root); - - while (!queue.isEmpty()) { - TreeNode node = queue.poll(); - - if (node.left != null) { - next.offer(node.left); - } - - if (node.right != null) { - next.offer(node.right); - } - - if (queue.isEmpty()) { - list.add(node.val); - - queue.addAll(next); - next.clear(); - } - } - - return list; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/BinaryTreeVerticalOrderTraversal.java b/amazon/src/main/java/com/leetcode/amazon/BinaryTreeVerticalOrderTraversal.java deleted file mode 100644 index 83d6639..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/BinaryTreeVerticalOrderTraversal.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; - -/** - * Created by liwentian on 17/8/14. - */ - -public class BinaryTreeVerticalOrderTraversal { - - public List> verticalOrder(TreeNode root) { - List> result = new LinkedList<>(); - - if (root == null) { - return result; - } - - HashMap> map = new HashMap<>(); - HashMap valueMap = new HashMap<>(); - - Queue queue = new LinkedList<>(); - queue.offer(root); - addNode(root, map, valueMap, 0); - - int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE; - - while (!queue.isEmpty()) { - TreeNode node = queue.poll(); - - int val = valueMap.get(node); - - if (node.left != null) { - queue.offer(node.left); - addNode(node.left, map, valueMap, val - 1); - } - - if (node.right != null) { - queue.offer(node.right); - addNode(node.right, map, valueMap, val + 1); - } - - min = Math.min(min, val); - max = Math.max(max, val); - } - - for (int i = min; i <= max; i++) { - result.add(map.get(i)); - } - - return result; - } - - private void addNode(TreeNode node, HashMap> map, HashMap values, int level) { - List list = map.get(level); - if (list == null) { - list = new LinkedList<>(); - map.put(level, list); - } - list.add(node.val); - values.put(node, level); - } - -} diff --git a/amazon/src/main/java/com/leetcode/amazon/CopyListWithRandomPointer.java b/amazon/src/main/java/com/leetcode/amazon/CopyListWithRandomPointer.java deleted file mode 100644 index 52bfbf6..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/CopyListWithRandomPointer.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.RandomListNode; - -/** - * Created by liwentian on 17/8/9. - */ - -public class CopyListWithRandomPointer { - - public RandomListNode copyRandomList(RandomListNode head) { - for (RandomListNode node = head; node != null; ) { - RandomListNode next = node.next; - - RandomListNode copy = new RandomListNode(node.label); - copy.next = next; - node.next = copy; - node = next; - } - - for (RandomListNode node = head; node != null; ) { - node.next.random = node.random != null ? node.random.next : null; - node = node.next.next; - } - - RandomListNode dummy = new RandomListNode(0), cur = dummy; - for (RandomListNode node = head; node != null; ) { - cur.next = node.next; - cur = cur.next; - - node.next = node.next.next; - node = node.next; - } - - return dummy.next; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/CountPrimes.java b/amazon/src/main/java/com/leetcode/amazon/CountPrimes.java deleted file mode 100644 index 86a31b1..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/CountPrimes.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/12. - */ - -public class CountPrimes { - - public int countPrimes(int n) { - boolean[] f = new boolean[n]; - int count = 0; - for (int i = 2; i < n; i++) { - if (!f[i]) { - count++; - for (int j = 2; j * i < n; j++) { - f[i * j] = true; - } - } - } - return count; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/EncodeAndDecodeTinyUrl.java b/amazon/src/main/java/com/leetcode/amazon/EncodeAndDecodeTinyUrl.java deleted file mode 100644 index 7436d91..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/EncodeAndDecodeTinyUrl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.leetcode.amazon; - -import java.util.HashMap; -import java.util.Random; - -/** - * Created by liwentian on 2017/10/16. - */ - -public class EncodeAndDecodeTinyUrl { - - private static final String SRC = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - - private static final String URL_PREFIX = "http://tinyurl.com/"; - - private HashMap mMap = new HashMap<>(); - - private static final int SHORT_URL_LEN = 6; - - private Random mRandom = new Random(System.currentTimeMillis()); - - public String encode(String longUrl) { - String shortUrl = ""; - do { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < SHORT_URL_LEN; i++) { - sb.append(SRC.charAt(mRandom.nextInt(SRC.length()))); - } - shortUrl = sb.toString(); - } while (mMap.containsKey(shortUrl)); - mMap.put(shortUrl, longUrl); - return URL_PREFIX + shortUrl; - } - - // Decodes a shortened URL to its original URL. - public String decode(String shortUrl) { - return mMap.get(shortUrl.replaceAll(URL_PREFIX, "")); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/FindAllAnagramsInAString.java b/amazon/src/main/java/com/leetcode/amazon/FindAllAnagramsInAString.java deleted file mode 100644 index c576ec5..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/FindAllAnagramsInAString.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.leetcode.amazon; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/9. - */ - -public class FindAllAnagramsInAString { - - // abacbabc -> abc - public List findAnagrams(String s, String p) { - int[] count = new int[26], temp = new int[26]; - - for (char c : p.toCharArray()) { - count[c - 'a']++; - } - - List result = new LinkedList<>(); - - int sl = s.length(), pl = p.length(); - for (int start = 0, end = 0; end < sl; ) { - char c = s.charAt(end); - - if (count[c - 'a'] == 0) { - if (start <= end) { - temp[s.charAt(start++) - 'a']--; - } else { - end++; - } - continue; - } - - if (temp[c - 'a'] >= count[c - 'a']) { - temp[s.charAt(start++) - 'a']--; - continue; - } - - temp[c - 'a']++; - - if (end - start + 1 == pl) { - result.add(start); - temp[s.charAt(start++) - 'a']--; - } - - end++; - } - - return result; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/FirstUniqueCharacterInAString.java b/amazon/src/main/java/com/leetcode/amazon/FirstUniqueCharacterInAString.java deleted file mode 100644 index 206cba8..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/FirstUniqueCharacterInAString.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/10. - */ - -public class FirstUniqueCharacterInAString { - - public int firstUniqChar(String s) { - int[] cnt = new int[26]; - for (char c : s.toCharArray()) { - cnt[c - 'a']++; - } - for (int i = 0; i < s.length(); i++) { - if (cnt[s.charAt(i) - 'a'] == 1) { - return i; - } - } - return -1; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/GroupAnagrams.java b/amazon/src/main/java/com/leetcode/amazon/GroupAnagrams.java deleted file mode 100644 index 7b068c2..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/GroupAnagrams.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.leetcode.amazon; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/13. - */ - -public class GroupAnagrams { - - public List> groupAnagrams(String[] strs) { - HashMap> map = new HashMap<>(); - - for (String s : strs) { - char[] cc = s.toCharArray(); - Arrays.sort(cc); - - String t = new String(cc); - - List list = map.get(t); - if (list == null) { - list = new LinkedList<>(); - map.put(t, list); - } - - list.add(s); - } - - return new LinkedList<>(map.values()); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/InsertDeleteGetRandom.java b/amazon/src/main/java/com/leetcode/amazon/InsertDeleteGetRandom.java deleted file mode 100644 index 3feb1b2..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/InsertDeleteGetRandom.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.leetcode.amazon; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Random; - -/** - * Created by liwentian on 17/8/10. - */ - -public class InsertDeleteGetRandom { - - private HashMap mMap; - - private List mList; - - private Random mRandom; - - /** - * Initialize your data structure here. - */ - public InsertDeleteGetRandom() { - mMap = new HashMap<>(); - mList = new ArrayList<>(); - mRandom = new Random(); - } - - /** - * Inserts a value to the set. Returns true if the set did not already contain the specified element. - */ - public boolean insert(int val) { - if (mMap.containsKey(val)) { - return false; - } - mMap.put(val, mList.size()); - mList.add(val); - return true; - } - - /** - * Removes a value from the set. Returns true if the set contained the specified element. - */ - public boolean remove(int val) { - if (!mMap.containsKey(val)) { - return false; - } - - int idx = mMap.remove(val); - - if (idx != mList.size() - 1) { - int tail = mList.get(mList.size() - 1); - mList.set(idx, tail); - mMap.put(tail, idx); - } - - mList.remove(mList.size() - 1); - return true; - } - - /** - * Get a random element from the set. - */ - public int getRandom() { - if (mList.isEmpty()) { - return -1; - } - int idx = mRandom.nextInt(mList.size()); - return mList.get(idx); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/InsertInterval.java b/amazon/src/main/java/com/leetcode/amazon/InsertInterval.java deleted file mode 100644 index 44ed78f..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/InsertInterval.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.Interval; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/14. - */ - -public class InsertInterval { - - public List insert(List intervals, Interval newInterval) { - List result = new LinkedList<>(); - - for (int i = 0; i < intervals.size(); i++) { - Interval interval = intervals.get(i); - - if (newInterval.start > interval.end) { - result.add(interval); - } else if (newInterval.end < interval.start) { - result.add(newInterval); - newInterval = interval; - } else { - newInterval.start = Math.min(newInterval.start, interval.start); - newInterval.end = Math.max(newInterval.end, interval.end); - } - } - - if (newInterval != null) { - result.add(newInterval); - } - - return result; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/IntersectionOfTwoLinkedLists.java b/amazon/src/main/java/com/leetcode/amazon/IntersectionOfTwoLinkedLists.java deleted file mode 100644 index 9b16ad2..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/IntersectionOfTwoLinkedLists.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.ListNode; - -/** - * Created by liwentian on 17/8/10. - */ - -public class IntersectionOfTwoLinkedLists { - - public ListNode getIntersectionNode(ListNode headA, ListNode headB) { - int lenA = 0, lenB = 0; - for (ListNode node = headA; node != null; node = node.next) { - lenA++; - } - for (ListNode node = headB; node != null; node = node.next) { - lenB++; - } - ListNode node1 = lenA > lenB ? headA : headB; - ListNode node2 = lenA > lenB ? headB : headA; - - for (int i = 0; i < Math.abs(lenA - lenB); i++) { - node1 = node1.next; - } - - while (node1 != null && node1 != node2) { - node1 = node1.next; - node2 = node2.next; - } - - return node1; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/KthLargestElementInAnArray.java b/amazon/src/main/java/com/leetcode/amazon/KthLargestElementInAnArray.java deleted file mode 100644 index fe04f14..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/KthLargestElementInAnArray.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.leetcode.amazon; - -import java.util.PriorityQueue; - -/** - * Created by liwentian on 17/8/11. - */ - -public class KthLargestElementInAnArray { - - // nlgn - public int findKthLargest(int[] nums, int k) { - PriorityQueue queue = new PriorityQueue<>(); - for (int n : nums) { - queue.offer(n); - if (queue.size() > k) { - queue.poll(); - } - } - return queue.peek(); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/LRUCache.java b/amazon/src/main/java/com/leetcode/amazon/LRUCache.java deleted file mode 100644 index 732cb6d..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/LRUCache.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.leetcode.amazon; - -import java.util.HashMap; - -/** - * Created by liwentian on 17/8/9. - */ - -public class LRUCache { - - private int mCapacity; - - private ListNode mHead; - - private HashMap mMap; - - public LRUCache(int capacity) { - mCapacity = capacity; - mHead = new ListNode(); - mMap = new HashMap<>(); - } - - public int get(int key) { - ListNode node = mMap.get(key); - if (node == null) { - return -1; - } - node.remove(); - mHead.add(node); - return node.value; - } - - public void put(int key, int value) { - ListNode node = mMap.get(key); - - if (node != null) { - node.remove(); - mHead.add(node); - node.value = value; - } else { - if (mMap.size() >= mCapacity) { - node = mHead.prev; - node.remove(); - mMap.remove(node.key); - } - node = new ListNode(); - node.key = key; - node.value = value; - mMap.put(key, node); - mHead.add(node); - } - } - - private class ListNode { - ListNode prev, next; - - int key, value; - - ListNode() { - prev = this; - next = this; - } - - void remove() { - prev.next = next; - next.prev = prev; - } - - void add(ListNode node) { - node.next = next; - next.prev = node; - - node.prev = this; - this.next = node; - } - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/LetterCombinationsOfAPhoneNumber.java b/amazon/src/main/java/com/leetcode/amazon/LetterCombinationsOfAPhoneNumber.java deleted file mode 100644 index 1f54c81..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/LetterCombinationsOfAPhoneNumber.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.leetcode.amazon; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/10. - */ - -public class LetterCombinationsOfAPhoneNumber { - - private final String[] ARR = { - "", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" - }; - - public List letterCombinations(String digits) { - List list = new LinkedList<>(); - if (!digits.isEmpty()) { - helper(digits, 0, list, ""); - } - return list; - } - - private void helper(String digits, int start, List list, String s) { - if (start >= digits.length()) { - list.add(s); - return; - } - int n = digits.charAt(start) - '0'; - for (char c : ARR[n].toCharArray()) { - helper(digits, start + 1, list, s + c); - } - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/LinkedListCycle.java b/amazon/src/main/java/com/leetcode/amazon/LinkedListCycle.java deleted file mode 100644 index d25dde4..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/LinkedListCycle.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.leetcode.amazon; - - -import com.leetcode.library.ListNode; - -/** - * Created by liwentian on 17/8/11. - */ - -public class LinkedListCycle { - - public boolean hasCycle(ListNode head) { - if (head == null || head.next == null) { - return false; - } - ListNode slow = head, fast = head.next.next; - while (slow != null && fast != null && fast.next != null && slow != fast) { - slow = slow.next; - fast = fast.next.next; - } - return slow == fast; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/LongestPalindromicSubstring.java b/amazon/src/main/java/com/leetcode/amazon/LongestPalindromicSubstring.java deleted file mode 100644 index 4161510..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/LongestPalindromicSubstring.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/10. - */ - -/** - * h - */ -public class LongestPalindromicSubstring { - - private int maxLen, begin; - - public String longestPalindrome(String s) { - for (int i = 0; i < s.length(); i++) { - helper(s, i, i); - helper(s, i, i + 1); - } - return s.substring(begin, begin + maxLen); - } - - private void helper(String s, int i, int j) { - for ( ; i >= 0 && j < s.length() && s.charAt(i) == s.charAt(j); i--, j++); - int len = j - i - 1; - if (len > maxLen) { - maxLen = len; - begin = i + 1; - } - } - - -} diff --git a/amazon/src/main/java/com/leetcode/amazon/LongestSubstringWithoutRepeatingCharacters.java b/amazon/src/main/java/com/leetcode/amazon/LongestSubstringWithoutRepeatingCharacters.java deleted file mode 100644 index e3749b7..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/LongestSubstringWithoutRepeatingCharacters.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/13. - */ - -public class LongestSubstringWithoutRepeatingCharacters { - - public int lengthOfLongestSubstring(String s) { - int[] count = new int[256]; - - int maxLen = 0; - - for (int i = 0, j = 0; j < s.length(); ) { - if (count[s.charAt(j)] == 0) { - count[s.charAt(j)]++; - maxLen = Math.max(maxLen, j - i + 1); - j++; - } else { - --count[s.charAt(i++)]; - } - } - - return maxLen; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/LowestCommonAncestorOfABinarySearchTree.java b/amazon/src/main/java/com/leetcode/amazon/LowestCommonAncestorOfABinarySearchTree.java deleted file mode 100644 index 4b8b13e..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/LowestCommonAncestorOfABinarySearchTree.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -/** - * Created by liwentian on 17/8/10. - */ - -public class LowestCommonAncestorOfABinarySearchTree { - - public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { - TreeNode node = root; - - while (node != null) { - if (p.val < node.val && q.val < node.val) { - node = node.left; - } else if (p.val > node.val && q.val > node.val) { - node = node.right; - } else { - return node; - } - } - - return null; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/LowestCommonAncestorOfABinaryTree.java b/amazon/src/main/java/com/leetcode/amazon/LowestCommonAncestorOfABinaryTree.java deleted file mode 100644 index ad5dea1..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/LowestCommonAncestorOfABinaryTree.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -/** - * Created by liwentian on 17/8/9. - */ - -public class LowestCommonAncestorOfABinaryTree { - - public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { - if (root == null || root == p || root == q) { - return root; - } - - TreeNode left = lowestCommonAncestor(root.left, p, q); - TreeNode right = lowestCommonAncestor(root.right, p, q); - - if (left != null) { - return right != null ? root : left; - } else { - return right; - } - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/Main.java b/amazon/src/main/java/com/leetcode/amazon/Main.java deleted file mode 100644 index f1b07ad..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/Main.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -import java.util.HashMap; -import java.util.LinkedHashMap; - -/** - * Created by liwentian on 2017/10/16. - */ - -public class Main { - - public class LargestBSTSubtree { - - class Result { - int count; - int lower; - int upper; - - Result(int count, int lower, int upper) { - this.count = count; - this.lower = lower; - this.upper = upper; - } - } - - public int largestBSTSubtree(TreeNode root) { - Result res = helper(root); - return Math.abs(res.count); - } - - private Result helper(TreeNode root) { - if (root == null) { - return new Result(0, Integer.MAX_VALUE, Integer.MIN_VALUE); - } - - Result left = helper(root.left); - Result right = helper(root.right); - - // 注意这里的等号千万别掉了,因为可能树中有节点相同 - if (left.count < 0 || right.count < 0 || left.upper >= root.val || right.lower <= root.val) { - return new Result(-1 * Math.max(Math.abs(left.count), Math.abs(right.count)), 0, 0); - } - - return new Result(left.count + right.count + 1, Math.min(left.lower, root.val), Math.max(right.upper, root.val)); - } - } - - public static void main(String[] args) { - - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/MeetingRoomII.java b/amazon/src/main/java/com/leetcode/amazon/MeetingRoomII.java deleted file mode 100644 index db58181..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/MeetingRoomII.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.Interval; - -import java.util.Arrays; -import java.util.Comparator; -import java.util.PriorityQueue; - -/** - * Created by liwentian on 17/8/14. - */ - -public class MeetingRoomII { - - - public int minMeetingRooms(Interval[] intervals) { - Arrays.sort(intervals, new Comparator() { - @Override - public int compare(Interval interval, Interval t1) { - return interval.start - t1.start; - } - }); - - PriorityQueue queue = new PriorityQueue<>(new Comparator() { - @Override - public int compare(Integer integer, Integer t1) { - return integer - t1; - } - }); - - int count = 0; - for (int i = 0; i < intervals.length; i++) { - if (queue.isEmpty() || intervals[i].start < queue.peek()) { - count++; - } else { - queue.poll(); - } - queue.offer(intervals[i].end); - } - - return count; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/MeetingRooms.java b/amazon/src/main/java/com/leetcode/amazon/MeetingRooms.java deleted file mode 100644 index 99da747..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/MeetingRooms.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.Interval; - -import java.util.Arrays; -import java.util.Comparator; - -/** - * Created by liwentian on 17/8/14. - */ - -public class MeetingRooms { - - public boolean canAttendMeetings(Interval[] intervals) { - Arrays.sort(intervals, new Comparator() { - @Override - public int compare(Interval interval, Interval t1) { - return interval.start - t1.start; - } - }); - - for (int i = 1; i < intervals.length; i++) { - if (intervals[i].start < intervals[i - 1].end) { - return false; - } - } - - return true; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/MergeIntervals.java b/amazon/src/main/java/com/leetcode/amazon/MergeIntervals.java deleted file mode 100644 index d3d418a..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/MergeIntervals.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.Interval; - -import java.util.Collections; -import java.util.Comparator; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/14. - */ - -public class MergeIntervals { - - public List merge(List intervals) { - Collections.sort(intervals, new Comparator() { - @Override - public int compare(Interval interval, Interval t1) { - return interval.start - t1.start; - } - }); - - List result = new LinkedList<>(); - - Interval curInterval = null; - - for (Interval interval : intervals) { - if (curInterval == null) { - curInterval = interval; - } else if (interval.start <= curInterval.end) { - curInterval.end = Math.max(curInterval.end, interval.end); - } else { - result.add(curInterval); - curInterval = interval; - } - } - - if (curInterval != null) { - result.add(curInterval); - } - - return result; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/MergeKSortedLists.java b/amazon/src/main/java/com/leetcode/amazon/MergeKSortedLists.java deleted file mode 100644 index 119a927..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/MergeKSortedLists.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.leetcode.amazon; - - -import com.leetcode.library.ListNode; - -import java.util.Comparator; -import java.util.PriorityQueue; - -/** - * Created by liwentian on 17/8/11. - */ - -public class MergeKSortedLists { - - public ListNode mergeKLists(ListNode[] lists) { - ListNode dummy = new ListNode(0), cur = dummy; - - PriorityQueue queue = new PriorityQueue<>(new Comparator() { - @Override - public int compare(ListNode node1, ListNode node2) { - if (node1.val == node2.val) { - return 0; - } else if (node1.val < node2.val) { - return -1; - } else { - return 1; - } - } - }); - - for (ListNode node : lists) { - if (node != null) { - queue.offer(node); - } - } - - while (!queue.isEmpty()) { - ListNode node = queue.poll(); - cur.next = node; - cur = cur.next; - if (node.next != null) { - queue.offer(node.next); - } - } - - return dummy.next; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/MergeTwoSortedLists.java b/amazon/src/main/java/com/leetcode/amazon/MergeTwoSortedLists.java deleted file mode 100644 index a06828f..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/MergeTwoSortedLists.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.ListNode; - -/** - * Created by liwentian on 17/8/11. - */ - -public class MergeTwoSortedLists { - - public ListNode mergeTwoLists(ListNode l1, ListNode l2) { - ListNode dummy = new ListNode(0), cur = dummy; - for (ListNode p1 = l1, p2 = l2; p1 != null || p2 != null; ) { - if (p1 == null) { - cur.next = p2; - break; - } - if (p2 == null) { - cur.next = p1; - break; - } - if (p1.val < p2.val) { - cur.next = p1; - p1 = p1.next; - } else { - cur.next = p2; - p2 = p2.next; - } - cur = cur.next; - } - return dummy.next; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/MinStack.java b/amazon/src/main/java/com/leetcode/amazon/MinStack.java deleted file mode 100644 index 4014510..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/MinStack.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.leetcode.amazon; - -import java.util.Stack; - -/** - * Created by liwentian on 17/8/10. - */ - -public class MinStack { - - private Stack mStack; - private Stack mStack2; - - public MinStack() { - mStack = new Stack(); - mStack2 = new Stack<>(); - } - - public void push(int x) { - mStack.push(x); - - if (mStack2.isEmpty() || x < mStack2.peek()) { - mStack2.push(x); - } else { - mStack2.push(mStack2.peek()); - } - } - - public void pop() { - mStack.pop(); - mStack2.pop(); - } - - public int top() { - return mStack.peek(); - } - - public int getMin() { - return mStack2.peek(); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/NumberOfIslands.java b/amazon/src/main/java/com/leetcode/amazon/NumberOfIslands.java deleted file mode 100644 index 723ad22..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/NumberOfIslands.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.leetcode.amazon; - -import java.util.LinkedList; -import java.util.Queue; - -/** - * Created by dingjikerbo on 2017/8/6. - */ - -public class NumberOfIslands { - - public int numIslands(char[][] grid) { - int num = 0; - for (int i = 0; i < grid.length; i++) { - for (int j = 0; j < grid[0].length; j++) { - if (grid[i][j] == '1') { - num++; - dfs(grid, i, j); - } - } - } - return num; - } - - - private void bfs(char[][] grid, int i0, int j0) { - int[] dx = {-1, 1, 0, 0}, dy = {0, 0, -1, 1}; - - Queue queue = new LinkedList<>(); - queue.add(new int[] {i0, j0}); - - while (!queue.isEmpty()) { - int[] cur = queue.poll(); - int i = cur[0], j = cur[1]; - - for (int k = 0; k < dx.length; k++) { - int x = i + dx[k], y = j + dy[k]; - if (x < 0 || x >= grid.length || y < 0 || y >= grid[0].length || grid[x][y] != '1') { - continue; - } - grid[x][y] = '0'; - queue.add(new int[] {x, y}); - } - } - } - - private void dfs(char[][] grid, int i, int j) { - if (i < 0 || i >= grid.length || j < 0 || j >= grid[0].length || grid[i][j] != '1') { - return; - } - - grid[i][j] = '0'; - dfs(grid, i + 1, j); - dfs(grid, i - 1, j); - dfs(grid, i, j + 1); - dfs(grid, i, j - 1); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/PalindromeLinkedList.java b/amazon/src/main/java/com/leetcode/amazon/PalindromeLinkedList.java deleted file mode 100644 index 150ad57..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/PalindromeLinkedList.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.ListNode; - -/** - * Created by liwentian on 17/8/11. - */ - -public class PalindromeLinkedList { - - public boolean isPalindrome(ListNode head) { - if (head == null) { - return true; - } - ListNode slow = head; - for (ListNode fast = head; fast != null && fast.next != null && fast.next.next != null; ) { - slow = slow.next; - fast = fast.next.next; - } - - ListNode node = reverse(slow.next); - slow.next = null; - - for ( ; head != null && node != null; head = head.next, node = node.next) { - if (head.val != node.val) { - return false; - } - } - return true; - } - - private ListNode reverse(ListNode head) { - ListNode dummy = new ListNode(0); - while (head != null) { - ListNode next = head.next; - head.next = dummy.next; - dummy.next = head; - head = next; - } - return dummy.next; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/PascalTriangleII.java b/amazon/src/main/java/com/leetcode/amazon/PascalTriangleII.java deleted file mode 100644 index c9ee057..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/PascalTriangleII.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.leetcode.amazon; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by liwentian on 17/8/12. - */ - -public class PascalTriangleII { - - public List getRow(int rowIndex) { - List list = new ArrayList<>(); - - for (int i = 0; i <= rowIndex; i++) { - int prev = 1; - for (int j = 1; j < list.size(); j++) { - int n = list.get(j) + prev; - prev = list.get(j); - list.set(j, n); - } - list.add(1); - } - - return list; - } - -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ProductOfArrayExceptSelf.java b/amazon/src/main/java/com/leetcode/amazon/ProductOfArrayExceptSelf.java deleted file mode 100644 index 3c99992..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ProductOfArrayExceptSelf.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/9. - */ - -public class ProductOfArrayExceptSelf { - - public int[] productExceptSelf(int[] nums) { - if (nums.length == 0) { - return null; - } - - int[] result = new int[nums.length]; - result[0] = 1; - - for (int i = 1; i < nums.length; i++) { - result[i] = result[i - 1] * nums[i - 1]; - } - - for (int i = nums.length - 1, right = 1; i >= 0; i--) { - result[i] *= right; - right *= nums[i]; - } - - return result; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ReverseLinkedList.java b/amazon/src/main/java/com/leetcode/amazon/ReverseLinkedList.java deleted file mode 100644 index 0b08f09..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ReverseLinkedList.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.ListNode; - -/** - * Created by liwentian on 17/8/10. - */ - -public class ReverseLinkedList { - - public ListNode reverseList(ListNode head) { - ListNode dummy = new ListNode(0); - - for (ListNode node = head; node != null; ) { - ListNode next = node.next; - - node.next = dummy.next; - dummy.next = node; - - node = next; - } - - return dummy.next; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ReverseWordsInAString.java b/amazon/src/main/java/com/leetcode/amazon/ReverseWordsInAString.java deleted file mode 100644 index 93250ea..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ReverseWordsInAString.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/14. - */ - -public class ReverseWordsInAString { - - public String reverseWords(String s) { - StringBuilder sb = new StringBuilder(); - - for (int i = 0, j = 0; i < s.length(); ) { - if (s.charAt(i) == ' ') { - i++; - j = i; - } else if (j >= s.length() || s.charAt(j) == ' ') { - sb.insert(0, s.substring(i, j) + " "); - i = j; - } else { - j++; - } - } - - if (sb.length() > 0) { - sb.setLength(sb.length() - 1); - } - - return sb.toString(); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/RotateImage.java b/amazon/src/main/java/com/leetcode/amazon/RotateImage.java deleted file mode 100644 index b24b160..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/RotateImage.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/9. - */ - -public class RotateImage { - - public void rotate(int[][] matrix) { - int n = matrix.length; - - for (int i = 0; i < n / 2; i++) { - for (int j = 0; j < n; j++) { - int t = matrix[i][j]; - matrix[i][j] = matrix[n - 1 - i][j]; - matrix[n - 1 - i][j] = t; - } - } - - for (int i = 0; i < n; i++) { - for (int j = 0; j < i; j++) { - int t = matrix[i][j]; - matrix[i][j] = matrix[j][i]; - matrix[j][i] = t; - } - } - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/SearchA2DMatrixII.java b/amazon/src/main/java/com/leetcode/amazon/SearchA2DMatrixII.java deleted file mode 100644 index ac449b1..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/SearchA2DMatrixII.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/11. - */ - -public class SearchA2DMatrixII { - - public boolean searchMatrix(int[][] matrix, int target) { - if (matrix.length == 0) { - return false; - } - for (int i = 0, j = matrix[0].length - 1; j >= 0 && i < matrix.length; ) { - if (target < matrix[i][j]) { - j--; - } else if (target > matrix[i][j]) { - i++; - } else { - return true; - } - } - return false; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/SerializeAndDeserializeBST.java b/amazon/src/main/java/com/leetcode/amazon/SerializeAndDeserializeBST.java deleted file mode 100644 index 16e9ff3..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/SerializeAndDeserializeBST.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.Queue; - -/** - * Created by liwentian on 17/8/12. - */ - -public class SerializeAndDeserializeBST { - - // Encodes a tree to a single string. - public String serialize(TreeNode root) { - if (root == null) { - return "X"; - } - - return root.val + "," + serialize(root.left) + "," + serialize(root.right); - } - - // Decodes your encoded data to tree. - public TreeNode deserialize(String data) { - String[] texts = data.split(","); - Queue queue = new LinkedList<>(Arrays.asList(texts)); - return helper(queue); - } - - private TreeNode helper(Queue queue) { - if (queue.isEmpty()) { - return null; - } - String s = queue.poll(); - if (s.equals("X")) { - return null; - } - TreeNode root = new TreeNode(Integer.parseInt(s)); - root.left = helper(queue); - root.right = helper(queue); - return root; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/SerializeAndDeserializeBinaryTree.java b/amazon/src/main/java/com/leetcode/amazon/SerializeAndDeserializeBinaryTree.java deleted file mode 100644 index e136913..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/SerializeAndDeserializeBinaryTree.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.Queue; - -/** - * Created by dingjikerbo on 2017/8/7. - */ - -public class SerializeAndDeserializeBinaryTree { - - // Encodes a tree to a single string. - public String serialize(TreeNode root) { - if (root == null) { - return "x"; - } - String s = String.valueOf(root.val) + ","; - s += serialize(root.left) + ","; - s += serialize(root.right); - return s; - } - - // Decodes your encoded data to tree. - public TreeNode deserialize(String data) { - String[] texts = data.split(","); - Queue queue = new LinkedList<>(Arrays.asList(texts)); - return helper(queue); - } - - private TreeNode helper(Queue queue) { - if (queue.isEmpty()) { - return null; - } - String s = queue.poll(); - if (s.equals("x")) { - return null; - } - TreeNode root = new TreeNode(Integer.parseInt(s)); - root.left = helper(queue); - root.right = helper(queue); - return root; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/SetMatrixZeroes.java b/amazon/src/main/java/com/leetcode/amazon/SetMatrixZeroes.java deleted file mode 100644 index d103ff9..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/SetMatrixZeroes.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/12. - */ - -public class SetMatrixZeroes { - - public void setZeroes(int[][] matrix) { - if (matrix.length == 0) { - return; - } - - int row = matrix.length, col = matrix[0].length; - - boolean clearRow = false, clearCol = false; - - for (int i = 0; i < col; i++) { - if (matrix[0][i] == 0) { - clearRow = true; - break; - } - } - - for (int i = 0; i < row; i++) { - if (matrix[i][0] == 0) { - clearCol = true; - break; - } - } - - for (int i = 1; i < row; i++) { - for (int j = 1; j < col; j++) { - if (matrix[i][j] == 0) { - matrix[0][j] = 0; - matrix[i][0] = 0; - } - } - } - - for (int i = 1; i < col; i++) { - if (matrix[0][i] == 0) { - for (int j = 0; j < row; j++) { - matrix[j][i] = 0; - } - } - } - - for (int i = 1; i < row; i++) { - if (matrix[i][0] == 0) { - for (int j = 0; j < col; j++) { - matrix[i][j] = 0; - } - } - } - - if (clearRow) { - for (int i = 0; i < col; i++) { - matrix[0][i] = 0; - } - } - - if (clearCol) { - for (int i = 0; i < row; i++) { - matrix[i][0] = 0; - } - } - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/SlidingWindowMaximum.java b/amazon/src/main/java/com/leetcode/amazon/SlidingWindowMaximum.java deleted file mode 100644 index 94fa163..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/SlidingWindowMaximum.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.leetcode.amazon; - -import java.util.Comparator; -import java.util.TreeMap; - -/** - * Created by liwentian on 17/8/10. - */ - -public class SlidingWindowMaximum { - - public int[] maxSlidingWindow(int[] nums, int k) { - if (nums.length == 0) { - return new int[0]; - } - - TreeMap map = new TreeMap<>(new Comparator() { - @Override - public int compare(Integer i1, Integer i2) { - return i2 - i1; - } - }); - - for (int i = 0; i < k; i++) { - map.put(nums[i], map.getOrDefault(nums[i], 0) + 1); - } - - int[] result = new int[nums.length - k + 1]; - result[0] = map.firstKey(); - - for (int i = 1; i < result.length; i++) { - int count = map.getOrDefault(nums[i - 1], 0); - if (count <= 1) { - map.remove(nums[i - 1]); - } else { - map.put(nums[i - 1], count - 1); - } - map.put(nums[i + k - 1], map.getOrDefault(nums[i + k - 1], 0) + 1); - result[i] = map.firstKey(); - } - - return result; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/StringToInteger.java b/amazon/src/main/java/com/leetcode/amazon/StringToInteger.java deleted file mode 100644 index 3982085..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/StringToInteger.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/12. - */ - -public class StringToInteger { - - // 非法字符 - // 前后空格 - // 空字符 - // 正负号 - // 溢出 - public int myAtoi(String str) { - str = str.trim(); - - if (str.isEmpty()) { - return 0; - } - - int sign = 1; - long result = 0; - - int i = 0; - - char c = str.charAt(0); - if (c == '+' || c == '-') { - sign = c == '-' ? -1 : 1; - i++; - } - - for (; i < str.length(); i++) { - c = str.charAt(i); - - if (c >= '0' && c <= '9') { - result = result * 10 + (c - '0'); - - if (result * sign > Integer.MAX_VALUE || result * sign < Integer.MIN_VALUE) { - break; - } - } else { - break; - } - } - - result *= sign; - - if (result > Integer.MAX_VALUE) { - return Integer.MAX_VALUE; - } else if (result < Integer.MIN_VALUE) { - return Integer.MIN_VALUE; - } else { - return (int) result; - } - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/Subsets.java b/amazon/src/main/java/com/leetcode/amazon/Subsets.java deleted file mode 100644 index a481784..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/Subsets.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.leetcode.amazon; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/12. - */ - -public class Subsets { - - public List> subsets(int[] nums) { - List> result = new LinkedList<>(); - helper(nums, result, new LinkedList(), 0); - return result; - } - - private void helper(int[] nums, List> result, LinkedList list, int index) { - if (index == nums.length) { - result.add(new LinkedList<>(list)); - return; - } - - list.add(nums[index]); - helper(nums, result, list, index + 1); - list.remove(list.size() - 1); - - helper(nums, result, list, index + 1); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ThirdMaximumNumber.java b/amazon/src/main/java/com/leetcode/amazon/ThirdMaximumNumber.java deleted file mode 100644 index e90e298..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ThirdMaximumNumber.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/12. - */ - -public class ThirdMaximumNumber { - - public int thirdMax(int[] nums) { - int count = 0; - - long first = (long) Integer.MIN_VALUE - 1; - long second = (long) Integer.MIN_VALUE - 1; - long third = (long) Integer.MIN_VALUE - 1; - - for (int n : nums) { - if (n == first || n == second || n == third) { - continue; - } - - if (n > first) { - count++; - third = second; - second = first; - first = n; - } else if (n > second) { - count++; - third = second; - second = n; - } else if (n >= third) { - count++; - third = n; - } - } - - return (int) (count >= 3 ? third : first); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ThreeSum.java b/amazon/src/main/java/com/leetcode/amazon/ThreeSum.java deleted file mode 100644 index d6c4b9f..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ThreeSum.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.leetcode.amazon; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/11. - */ - -public class ThreeSum { - - public List> threeSum(int[] nums) { - Arrays.sort(nums); - - List> result = new LinkedList<>(); - - for (int i = 0; i < nums.length; i++) { - if (i > 0 && nums[i] == nums[i - 1]) { - continue; - } - for (int j = i + 1, k = nums.length - 1; j < k; ) { - int sum = nums[i] + nums[j] + nums[k]; - - if (sum > 0) { - k--; - } else if (sum < 0) { - j++; - } else { - result.add(Arrays.asList(nums[i], nums[j], nums[k])); - for (j++, k--; j < k && nums[j] == nums[j - 1]; j++); - } - } - } - - - return result; - } - -} diff --git a/amazon/src/main/java/com/leetcode/amazon/TrappingRainWater.java b/amazon/src/main/java/com/leetcode/amazon/TrappingRainWater.java deleted file mode 100644 index c899201..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/TrappingRainWater.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/11. - */ - -public class TrappingRainWater { - - public int trap(int[] height) { - int len = height.length; - - if (len == 0) { - return 0; - } - - int[] left = new int[len]; - int[] right = new int[len]; - - left[0] = 0; - right[len - 1] = 0; - - for (int i = 1; i < len; i++) { - left[i] = Math.max(left[i - 1], height[i - 1]); - } - for (int i = len - 2; i>= 0; i--) { - right[i] = Math.max(right[i + 1], height[i + 1]); - } - int sum = 0; - for (int i = 0; i < len; i++) { - int high = Math.min(left[i], right[i]); - if (high > height[i]) { - sum += high - height[i]; - } - } - return sum; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/TwoSum.java b/amazon/src/main/java/com/leetcode/amazon/TwoSum.java deleted file mode 100644 index 10f0ce8..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/TwoSum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.leetcode.amazon; - -import java.util.HashMap; - -/** - * Created by liwentian on 17/8/5. - */ - -public class TwoSum { - - public int[] twoSum(int[] nums, int target) { - HashMap map = new HashMap<>(); - for (int i = 0; i < nums.length; i++) { - map.put(nums[i], i); - } - for (int i = 0; i < nums.length; i++) { - Integer index = map.get(target - nums[i]); - if (index != null && index != i) { - return new int[] { - i, index - }; - } - } - return null; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/TwoSumII.java b/amazon/src/main/java/com/leetcode/amazon/TwoSumII.java deleted file mode 100644 index 9ceaae7..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/TwoSumII.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/5. - */ - -public class TwoSumII { - - public int[] twoSum(int[] numbers, int target) { - for (int i = 0, j = numbers.length - 1; i < j; ) { - int s = numbers[i] + numbers[j]; - if (s > target) { - j--; - } else if (s < target) { - i++; - } else { - return new int[] {i + 1, j + 1}; - } - } - return null; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/TwoSumIII.java b/amazon/src/main/java/com/leetcode/amazon/TwoSumIII.java deleted file mode 100644 index a2cb113..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/TwoSumIII.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.leetcode.amazon; - -import java.util.HashMap; - -/** - * Created by liwentian on 17/8/5. - */ - -/** - * 本题支持相同数存在 - */ -public class TwoSumIII { - - private HashMap mMap; - - public TwoSumIII() { - mMap = new HashMap<>(); - } - - /** Add the number to an internal data structure.. */ - public void add(int number) { - mMap.put(number, mMap.getOrDefault(number, 0) + 1); - } - - /** Find if there exists any pair of numbers which sum is equal to the value. */ - public boolean find(int value) { - for (Integer n : mMap.keySet()) { - int cnt = mMap.getOrDefault(value - n, 0); - if (value - n != n && cnt > 0) { - return true; - } - if (value - n == n && cnt > 1) { - return true; - } - } - return false; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ValidAnagram.java b/amazon/src/main/java/com/leetcode/amazon/ValidAnagram.java deleted file mode 100644 index 6c6d32a..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ValidAnagram.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/11. - */ - -public class ValidAnagram { - - public boolean isAnagram(String s, String t) { - if (s.length() != t.length()) { - return false; - } - int[] count = new int[256]; - for (int i = 0; i < s.length(); i++) { - count[s.charAt(i)]++; - count[t.charAt(i)]--; - } - for (int i = 'a'; i <= 'z'; i++) { - if (count[i] != 0) { - return false; - } - } - return true; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ValidParentheses.java b/amazon/src/main/java/com/leetcode/amazon/ValidParentheses.java deleted file mode 100644 index 2e429b2..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ValidParentheses.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.leetcode.amazon; - -/** - * Created by liwentian on 17/8/9. - */ - -public class ValidParentheses { - - public boolean isValid(String s) { - char[] stack = new char[s.length()]; - int top = -1; - - for (char c : s.toCharArray()) { - switch (c) { - case ')': - if (top >= 0 && stack[top] == '(') { - top--; - } else { - return false; - } - break; - case '}': - if (top >= 0 && stack[top] == '{') { - top--; - } else { - return false; - } - break; - case ']': - if (top >= 0 && stack[top] == '[') { - top--; - } else { - return false; - } - break; - default: - stack[++top] = c; - break; - } - } - - return top < 0; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ValidSudoku.java b/amazon/src/main/java/com/leetcode/amazon/ValidSudoku.java deleted file mode 100644 index 9bb195d..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ValidSudoku.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.leetcode.amazon; - -import java.util.Arrays; - -/** - * Created by liwentian on 17/8/14. - */ - -public class ValidSudoku { - - private boolean check(char c, boolean[] f) { - if (c == '.') { - return true; - } - if (f[c - '1']) { - return false; - } - f[c - '1'] = true; - return true; - } - - public boolean isValidSudoku(char[][] board) { - boolean[] f = new boolean[9]; - for (int i = 0; i < 9; i++) { - Arrays.fill(f, false); - for (int j = 0; j < 9; j++) { - if (!check(board[i][j], f)) { - return false; - } - } - } - - for (int i = 0; i < 9; i++) { - Arrays.fill(f, false); - for (int j = 0; j < 9; j++) { - if (!check(board[j][i], f)) { - return false; - } - } - } - for (int i = 0; i < 3; i++) { - for (int j = 0; j < 3; j++) { - Arrays.fill(f, false); - for (int m = 0; m < 3; m++) { - for (int n = 0; n < 3; n++) { - int x = i * 3 + m, y = j * 3 + n; - if (!check(board[x][y], f)) { - return false; - } - } - } - } - } - return true; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/ValidateBinarySearchTree.java b/amazon/src/main/java/com/leetcode/amazon/ValidateBinarySearchTree.java deleted file mode 100644 index 9975996..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/ValidateBinarySearchTree.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.leetcode.amazon; - -import com.leetcode.library.TreeNode; - -/** - * Created by liwentian on 17/8/11. - */ - -public class ValidateBinarySearchTree { - - public boolean isValidBST(TreeNode root) { - return isValidBST(root, (long) Integer.MIN_VALUE - 1, (long) Integer.MAX_VALUE + 1); - } - - private boolean isValidBST(TreeNode root, long lower, long upper) { - if (root == null) { - return true; - } - return root.val > lower && root.val < upper - && isValidBST(root.left, lower, root.val) - && isValidBST(root.right, root.val, upper); - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/WordBreak.java b/amazon/src/main/java/com/leetcode/amazon/WordBreak.java deleted file mode 100644 index a83b175..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/WordBreak.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.leetcode.amazon; - -import java.util.List; - -/** - * Created by liwentian on 17/8/13. - */ - -public class WordBreak { - - public boolean wordBreak(String s, List wordDict) { - boolean[] f = new boolean[s.length() + 1]; - f[0] = true; - - for (int i = 1; i <= s.length(); i++) { - for (int j = 0; j < i; j++) { - if (f[j] && wordDict.contains(s.substring(j, i))) { - f[i] = true; - break; - } - } - } - - return f[s.length()]; - } -} diff --git a/amazon/src/main/java/com/leetcode/amazon/WordLadder.java b/amazon/src/main/java/com/leetcode/amazon/WordLadder.java deleted file mode 100644 index edec35c..0000000 --- a/amazon/src/main/java/com/leetcode/amazon/WordLadder.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.leetcode.amazon; - -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; - -/** - * Created by liwentian on 17/8/10. - */ - -public class WordLadder { - - public int ladderLength(String beginWord, String endWord, List wordList) { - Queue queue = new LinkedList<>(); - Queue next = new LinkedList<>(); - - queue.add(beginWord); - - int level = 1; - - while (!queue.isEmpty()) { - String word = queue.poll(); - - for (int i = 0; i < word.length(); i++) { - for (char c = 'a'; c <= 'z'; c++) { - if (c == word.charAt(i)) { - continue; - } - String s = word.substring(0, i) + c + word.substring(i + 1); - - if (s.equals(endWord)) { - return level + 1; - } - - if (wordList.contains(s)) { - wordList.remove(s); - System.out.println(String.format("level %d, add %s", level, s)); - next.add(s); - } - } - } - - if (queue.isEmpty()) { - level++; - queue.addAll(next); - next.clear(); - } - } - - return 0; - } -} diff --git a/app/.gitignore b/app/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index 532a5a6..0000000 --- a/app/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 24 - buildToolsVersion '26.0.2' - defaultConfig { - applicationId "com.inuker.leetcode" - minSdkVersion 18 - targetSdkVersion 24 - versionCode 1 - versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } -} - -dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { - exclude group: 'com.android.support', module: 'support-annotations' - }) - testCompile 'junit:junit:4.12' -} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro deleted file mode 100644 index 07d416a..0000000 --- a/app/proguard-rules.pro +++ /dev/null @@ -1,17 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in D:\android\sdk/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/app/src/androidTest/java/com/inuker/leetcode/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/inuker/leetcode/ExampleInstrumentedTest.java deleted file mode 100644 index add180a..0000000 --- a/app/src/androidTest/java/com/inuker/leetcode/ExampleInstrumentedTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.inuker.leetcode; - -import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.runner.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumentation test, which will execute on an Android device. - * - * @see Testing documentation - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() throws Exception { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); - - assertEquals("com.inuker.leetcode", appContext.getPackageName()); - } -} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml deleted file mode 100644 index 74f2694..0000000 --- a/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/inuker/leetcode/MainActivity.java b/app/src/main/java/com/inuker/leetcode/MainActivity.java deleted file mode 100644 index 3a9ccca..0000000 --- a/app/src/main/java/com/inuker/leetcode/MainActivity.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.inuker.leetcode; - -import android.app.Activity; -import android.os.Bundle; - -import java.util.concurrent.DelayQueue; - -public class MainActivity extends Activity { - - private DelayQueue - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - } -} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index 0694e9a..0000000 --- a/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index cde69bcccec65160d92116f20ffce4fce0b5245c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3418 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 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index bfa42f0e7b91d006d22352c9ff2f134e504e3c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4842 zcmZ{oXE5C1x5t0WvTCfdv7&7fy$d2l*k#q|U5FAbL??P!61}%ovaIM)mL!5G(V|6J zAtDH(OY|Du^}l!K&fFLG%sJ2JIp@rG=9y>Ci)Wq~U2RobsvA@Q0MM$dq4lq5{hy#9 zzgp+B{O(-=?1<7r0l>Q?>N6X%s~lmgrmqD6fjj_!c?AF`S0&6U06Z51fWOuNAe#jM z%pSN#J-Mp}`ICpL=qp~?u~Jj$6(~K_%)9}Bn(;pY0&;M00H9x2N23h=CpR7kr8A9X zU%oh4-E@i!Ac}P+&%vOPQ3warO9l!SCN)ixGW54Jsh!`>*aU)#&Mg7;#O_6xd5%I6 zneGSZL3Kn-4B^>#T7pVaIHs3^PY-N^v1!W=%gzfioIWosZ!BN?_M)OOux&6HCyyMf z3ToZ@_h75A33KyC!T)-zYC-bp`@^1n;w3~N+vQ0#4V7!f|JPMlWWJ@+Tg~8>1$GzLlHGuxS)w&NAF*&Y;ef`T^w4HP7GK%6UA8( z{&ALM(%!w2U7WFWwq8v4H3|0cOjdt7$JLh(;U8VcTG;R-vmR7?21nA?@@b+XPgJbD z*Y@v&dTqo5Bcp-dIQQ4@?-m{=7>`LZ{g4jvo$CE&(+7(rp#WShT9&9y>V#ikmXFau03*^{&d(AId0Jg9G;tc7K_{ivzBjqHuJx08cx<8U`z2JjtOK3( zvtuduBHha>D&iu#))5RKXm>(|$m=_;e?7ZveYy=J$3wjL>xPCte-MDcVW<;ng`nf= z9);CVVZjI-&UcSAlhDB{%0v$wPd=w6MBwsVEaV!hw~8G(rs`lw@|#AAHbyA&(I-7Y zFE&1iIGORsaskMqSYfX33U%&17oTszdHPjr&Sx(`IQzoccST*}!cU!ZnJ+~duBM6f z{Lf8PITt%uWZ zTY09Jm5t<2+Un~yC-%DYEP>c-7?=+|reXO4Cd^neCQ{&aP@yODLN8}TQAJ8ogsnkb zM~O>~3&n6d+ee`V_m@$6V`^ltL&?uwt|-afgd7BQ9Kz|g{B@K#qQ#$o4ut`9lQsYfHofccNoqE+`V zQ&UXP{X4=&Z16O_wCk9SFBQPKyu?<&B2zDVhI6%B$12c^SfcRYIIv!s1&r|8;xw5t zF~*-cE@V$vaB;*+91`CiN~1l8w${?~3Uy#c|D{S$I? zb!9y)DbLJ3pZ>!*+j=n@kOLTMr-T2>Hj^I~lml-a26UP1_?#!5S_a&v zeZ86(21wU0)4(h&W0iE*HaDlw+-LngX=}es#X$u*1v9>qR&qUGfADc7yz6$WN`cx9 zzB#!5&F%AK=ed|-eV6kb;R>Atp2Rk=g3lU6(IVEP3!;0YNAmqz=x|-mE&8u5W+zo7 z-QfwS6uzp9K4wC-Te-1~u?zPb{RjjIVoL1bQ=-HK_a_muB>&3I z*{e{sE_sI$CzyK-x>7abBc+uIZf?#e8;K_JtJexgpFEBMq92+Fm0j*DziUMras`o= zTzby8_XjyCYHeE@q&Q_7x?i|V9XY?MnSK;cLV?k>vf?!N87)gFPc9#XB?p)bEWGs$ zH>f$8?U7In{9@vsd%#sY5u!I$)g^%ZyutkNBBJ0eHQeiR5!DlQbYZJ-@09;c?IP7A zx>P=t*xm1rOqr@ec>|ziw@3e$ymK7YSXtafMk30i?>>1lC>LLK1~JV1n6EJUGJT{6 zWP4A(129xkvDP09j<3#1$T6j6$mZaZ@vqUBBM4Pi!H>U8xvy`bkdSNTGVcfkk&y8% z=2nfA@3kEaubZ{1nwTV1gUReza>QX%_d}x&2`jE*6JZN{HZtXSr{{6v6`r47MoA~R zejyMpeYbJ$F4*+?*=Fm7E`S_rUC0v+dHTlj{JnkW-_eRa#9V`9o!8yv_+|lB4*+p1 zUI-t)X$J{RRfSrvh80$OW_Wwp>`4*iBr|oodPt*&A9!SO(x|)UgtVvETLuLZ<-vRp z&zAubgm&J8Pt647V?Qxh;`f6E#Zgx5^2XV($YMV7;Jn2kx6aJn8T>bo?5&;GM4O~| zj>ksV0U}b}wDHW`pgO$L@Hjy2`a)T}s@(0#?y3n zj;yjD76HU&*s!+k5!G4<3{hKah#gBz8HZ6v`bmURyDi(wJ!C7+F%bKnRD4=q{(Fl0 zOp*r}F`6~6HHBtq$afFuXsGAk58!e?O(W$*+3?R|cDO88<$~pg^|GRHN}yml3WkbL zzSH*jmpY=`g#ZX?_XT`>-`INZ#d__BJ)Ho^&ww+h+3>y8Z&T*EI!mtgEqiofJ@5&E z6M6a}b255hCw6SFJ4q(==QN6CUE3GYnfjFNE+x8T(+J!C!?v~Sbh`Sl_0CJ;vvXsP z5oZRiPM-Vz{tK(sJM~GI&VRbBOd0JZmGzqDrr9|?iPT(qD#M*RYb$>gZi*i)xGMD`NbmZt;ky&FR_2+YqpmFb`8b`ry;}D+y&WpUNd%3cfuUsb8 z7)1$Zw?bm@O6J1CY9UMrle_BUM<$pL=YI^DCz~!@p25hE&g62n{j$?UsyYjf#LH~b z_n!l6Z(J9daalVYSlA?%=mfp(!e+Hk%%oh`t%0`F`KR*b-Zb=7SdtDS4`&&S@A)f>bKC7vmRWwT2 zH}k+2Hd7@>jiHwz^GrOeU8Y#h?YK8>a*vJ#s|8-uX_IYp*$9Y=W_Edf%$V4>w;C3h z&>ZDGavV7UA@0QIQV$&?Z_*)vj{Q%z&(IW!b-!MVDGytRb4DJJV)(@WG|MbhwCx!2 z6QJMkl^4ju9ou8Xjb*pv=Hm8DwYsw23wZqQFUI)4wCMjPB6o8yG7@Sn^5%fmaFnfD zSxp8R-L({J{p&cR7)lY+PA9#8Bx87;mB$zXCW8VDh0&g#@Z@lktyArvzgOn&-zerA zVEa9h{EYvWOukwVUGWUB5xr4{nh}a*$v^~OEasKj)~HyP`YqeLUdN~f!r;0dV7uho zX)iSYE&VG67^NbcP5F*SIE@T#=NVjJ1=!Mn!^oeCg1L z?lv_%(ZEe%z*pGM<(UG{eF1T(#PMw}$n0aihzGoJAP^UceQMiBuE8Y`lZ|sF2_h_6 zQw*b*=;2Ey_Flpfgsr4PimZ~8G~R(vU}^Zxmri5)l?N>M_dWyCsjZw<+a zqjmL0l*}PXNGUOh)YxP>;ENiJTd|S^%BARx9D~%7x?F6u4K(Bx0`KK2mianotlX^9 z3z?MW7Coqy^ol0pH)Z3+GwU|Lyuj#7HCrqs#01ZF&KqEg!olHc$O#Wn>Ok_k2`zoD z+LYbxxVMf<(d2OkPIm8Xn>bwFsF6m8@i7PA$sdK~ZA4|ic?k*q2j1YQ>&A zjPO%H@H(h`t+irQqx+e)ll9LGmdvr1zXV;WTi}KCa>K82n90s|K zi`X}C*Vb12p?C-sp5maVDP5{&5$E^k6~BuJ^UxZaM=o+@(LXBWChJUJ|KEckEJTZL zI2K&Nd$U65YoF3_J6+&YU4uKGMq2W6ZQ%BG>4HnIM?V;;Ohes{`Ucs56ue^7@D7;4 z+EsFB)a_(%K6jhxND}n!UBTuF3wfrvll|mp7)3wi&2?LW$+PJ>2)2C-6c@O&lKAn zOm=$x*dn&dI8!QCb(ul|t3oDY^MjHqxl~lp{p@#C%Od-U4y@NQ4=`U!YjK$7b=V}D z%?E40*f8DVrvV2nV>`Z3f5yuz^??$#3qR#q6F($w>kmKK`x21VmX=9kb^+cPdBY2l zGkIZSf%C+`2nj^)j zo}g}v;5{nk<>%xj-2OqDbJ3S`7|tQWqdvJdgiL{1=w0!qS9$A`w9Qm7>N0Y*Ma%P_ zr@fR4>5u{mKwgZ33Xs$RD6(tcVH~Mas-87Fd^6M6iuV^_o$~ql+!eBIw$U)lzl`q9 z=L6zVsZzi0IIW=DT&ES9HajKhb5lz4yQxT-NRBLv_=2sn7WFX&Wp6Y!&}P+%`!A;s zrCwXO3}jrdA7mB`h~N~HT64TM{R$lNj*~ekqSP^n9P~z;P zWPlRPz0h6za8-P>!ARb+A1-r>8VF*xhrGa8W6J$p*wy`ULrD$CmYV7Gt^scLydQWbo7XN-o9X1i7;l+J_8Ncu zc=EX&dg`GRo4==cz2d_Rz28oLS`Suf6OCp~f{0-aQ`t5YZ=!CAMc6-RZw#}A%;s44 znf2`6gcgm=0SezTH9h+JzeR3Lcm;8?*@+?FDfguK^9)z(Z`I!RKrSAI?H~4et6GTkz07Qgq4B6%Q*8Y0yPc4x z8(^YwtZjYIeOvVLey#>@$UzIciJ#x0pJLFg=8UaZv%-&?Yzp7gWNIo_x^(d75=x2c zv|LQ`HrKP(8TqFxTiP5gdT2>aTN0S7XW*pilASS$UkJ2*n+==D)0mgTGxv43t61fr z47GkfMnD-zSH@|mZ26r*d3WEtr+l-xH@L}BM)~ThoMvKqGw=Ifc}BdkL$^wC}=(XSf4YpG;sA9#OSJf)V=rs#Wq$?Wj+nTlu$YXn yn3SQon5>kvtkl(BT2@T#Mvca!|08g9w{vm``2PjZHg=b<1c17-HkzPl9sXa)&-Ts$ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 324e72cdd7480cb983fa1bcc7ce686e51ef87fe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7718 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 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index aee44e138434630332d88b1680f33c4b24c70ab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10486 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 - - 64dp - diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml deleted file mode 100644 index 3ab3e9c..0000000 --- a/app/src/main/res/values/colors.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - #3F51B5 - #303F9F - #FF4081 - diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml deleted file mode 100644 index 47c8224..0000000 --- a/app/src/main/res/values/dimens.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 16dp - 16dp - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml deleted file mode 100644 index 3577d86..0000000 --- a/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - leetcode - diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml deleted file mode 100644 index ff6c9d2..0000000 --- a/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/app/src/test/java/com/inuker/leetcode/ExampleUnitTest.java b/app/src/test/java/com/inuker/leetcode/ExampleUnitTest.java deleted file mode 100644 index b79e122..0000000 --- a/app/src/test/java/com/inuker/leetcode/ExampleUnitTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.inuker.leetcode; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Example local unit test, which will execute on the development machine (host). - * - * @see Testing documentation - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() throws Exception { - assertEquals(4, 2 + 2); - } -} \ No newline at end of file diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 19ccc6c..0000000 --- a/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - repositories { - jcenter() - maven { url 'https://maven.google.com' } - } - dependencies { - classpath 'com.android.tools.build:gradle:3.0.0' - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - jcenter() - maven { url 'https://maven.google.com' } - } -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/doc/.DS_Store b/doc/.DS_Store deleted file mode 100644 index af8dfbe1e4ed6426bbac199a5725fd6b52648508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%Wl&^6ur}?t=&?QMWuG>4HAn8C8Q#Y3dxuj)CCff5i9_;b{(}AjwebcL?xv1 zhJOJ5fKTBI_z*q-&OD$_;x3B-&6Vz)dE7H&pYhCih=>KFq(xLGA_p$9wvMF2WV`eQ zTQW70$5bCV2}+4mPInffZG~09D)6@{AlL2cP5ioyVLO6yRB)%n{+zOhPT_kH=R1p z_N~_a!{grhyUF|M#V5QDjA27ncGKW5_>4?RjJM$+&v<@{TFKbJBt>*`DOQ!Zw1>!# zrHORuv6A+bGB7J9kiN_@R_O`G=~u<7$u9T4j%gm@qv(M#pz}(OobECQMQhisfceCn zjq4uB_HPxi3jA{l$o;{COY{vE8r9Z;L|p-ZHB>7@Uj8abj%Uy}SZG8GjA<%RQ<=G9 zFil6jXX1Q=g+@&$W-cGhjLggpg{jfezo){9`5J9%6|f4-DzL1Jb$R|DTz&taCE1cy zz$)-xDZpy`;eLQuGH2_;%gM9WgCE1C$+$wJq98HHvC7D!cn7WwZJx{keS?KY)WGbI NfRe!`R)IgNz)$V@yiouE diff --git a/ebook/.DS_Store b/ebook/.DS_Store index f67cd4f47028a40fa3abd734cb4347d6df2e0496..b10b74302fb0ac4d721767fcf417837ec42f4fc1 100644 GIT binary patch delta 271 zcmZn(XbG6$&o9rwz`)4BAi%&->6w$CyfJPqzcxsWl_8O#2nZ7);z>FANkCDcG6p*! zw)zhS3=Erj1T+{~H-UsUTMBA2%76?(C}vbcQ5+>C&dA0%3nVtVT-c3`i4Uytu<$)5 zG>uG6C>p1V$uhDreFJOUA+E*-cEp{{PsCLqmfzXTE1Aa31GerC#BCc3g_t+9EBs>F RyjkQOy1P(~pFCCUCjew&QeyxB delta 195 zcmZn(XbG6$&o9Hkz`)4BAi%&-nN(g}urY2eKcmcMGXV`oUTdI~#(ywiV3-^uB(u3) zkd<-s1|fb%HinfT$;pBuVv}zR8?Z5ogSeXoMeZ?e78e&}WMgav%j-#~u`zyzG9@Or z3*MOQC27J6GI_@4X2~>Wh(R+pzn76fnO)%*%VvMk1&nx%;Q%=_DJMS(0Ew0| AeE - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/facebook/src/main/java/com/leetcode/facebook/AddAndSearchWord.java b/facebook/src/main/java/com/leetcode/facebook/AddAndSearchWord.java deleted file mode 100644 index 92cb5fc..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/AddAndSearchWord.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/18. - */ - -public class AddAndSearchWord { - - TriNode root; - - public AddAndSearchWord() { - root = new TriNode(); - } - - /** - * Adds a word into the data structure. - */ - public void addWord(String word) { - TriNode node = root; - for (char c : word.toCharArray()) { - if (node.nodes[c - 'a'] == null) { - node.nodes[c - 'a'] = new TriNode(); - } - node = node.nodes[c - 'a']; - } - node.word = word; - } - - /** - * Returns if the word is in the data structure. A word could contain the dot character '.' to represent any one letter. - */ - public boolean search(String word) { - return search(root, word); - } - - private boolean search(TriNode node, String word) { - if (node == null) { - return false; - } - - for (int i = 0; i < word.length(); i++) { - char c = word.charAt(i); - - if (c != '.') { - if (node.nodes[c - 'a'] == null) { - return false; - } - node = node.nodes[c - 'a']; - } else { - String s = word.substring(i + 1); - for (char cc = 'a'; cc <= 'z'; cc++) { - if (search(node.nodes[cc - 'a'], s)) { - return true; - } - } - return false; - } - } - - return node.word != null; - } - - class TriNode { - TriNode[] nodes = new TriNode[26]; - String word; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/AddBinary.java b/facebook/src/main/java/com/leetcode/facebook/AddBinary.java deleted file mode 100644 index e8e6085..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/AddBinary.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/17. - */ - -public class AddBinary { - - public String addBinary(String a, String b) { - StringBuilder sb = new StringBuilder(); - - int flag = 0; - for (int i = a.length() - 1, j = b.length() - 1; i >= 0 || j >= 0 || flag > 0; i--, j--) { - int a1 = i >= 0 ? a.charAt(i) - '0' : 0; - int a2 = j >= 0 ? b.charAt(j) - '0' : 0; - int sum = a1 + a2 + flag; - sb.insert(0, sum & 1); - flag = sum >> 1; - } - - return sb.toString(); - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/BinarySearchTreeIterator.java b/facebook/src/main/java/com/leetcode/facebook/BinarySearchTreeIterator.java deleted file mode 100644 index a0e8bca..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/BinarySearchTreeIterator.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.leetcode.facebook; - -import com.leetcode.library.TreeNode; - -import java.util.Stack; - -/** - * Created by liwentian on 17/8/18. - */ - -public class BinarySearchTreeIterator { - - Stack stack; - - TreeNode node; - - public BinarySearchTreeIterator(TreeNode root) { - stack = new Stack<>(); - node = root; - } - - /** @return whether we have a next smallest number */ - public boolean hasNext() { - return !stack.isEmpty() || node != null; - } - - /** @return the next smallest number */ - public int next() { - while (hasNext()) { - if (node != null) { - stack.push(node); - node = node.left; - } else { - node = stack.pop(); - int val = node.val; - node = node.right; - return val; - } - } - throw new IllegalStateException(); - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/BinaryTreePaths.java b/facebook/src/main/java/com/leetcode/facebook/BinaryTreePaths.java deleted file mode 100644 index 3a4ccc3..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/BinaryTreePaths.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.leetcode.facebook; - -import com.leetcode.library.TreeNode; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/18. - */ - -public class BinaryTreePaths { - - public List binaryTreePaths(TreeNode root) { - List list = new LinkedList<>(); - helper(root, list, ""); - return list; - } - - private void helper(TreeNode root, List list, String s) { - if (root == null) { - return; - } - - s += (s.isEmpty() ? "" : "->") + root.val; - - if (root.left == null && root.right == null) { - list.add(s); - return; - } - - helper(root.left, list, s); - helper(root.right, list, s); - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/DecodeWays.java b/facebook/src/main/java/com/leetcode/facebook/DecodeWays.java deleted file mode 100644 index e3bbd17..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/DecodeWays.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.leetcode.facebook; - -import java.util.Arrays; - -/** - * Created by liwentian on 17/8/17. - */ - -public class DecodeWays { - - public int numDecodings(String s) { - if (s.length() == 0) { - return 0; - } - int[] f = new int[s.length()]; - Arrays.fill(f, -1); - return helper(s.toCharArray(), f, 0); - } - - private int helper(char[] s, int[] f, int i) { - if (i >= s.length) { - return 1; - } - - if (s[i] == '0') { - return 0; - } - - if (f[i] >= 0) { - return f[i]; - } - - int sum = helper(s, f, i + 1); - - if (i + 1 < s.length && (s[i] == '1' || (s[i] == '2' && s[i + 1] <= '6'))) { - sum += helper(s, f, i + 2); - } - - f[i] = sum; - - return sum; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/FindTheCelebrity.java b/facebook/src/main/java/com/leetcode/facebook/FindTheCelebrity.java deleted file mode 100644 index 0709861..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/FindTheCelebrity.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/17. - */ - -public class FindTheCelebrity { - - public int findCelebrity(int n) { - int id = 0; - for (int i = 1; i < n; i++) { - if (knows(id, i)) { - id = i; - } - } - for (int i = 0; i < n; i++) { - if (i == id) { - continue; - } - if (knows(id, i) || !knows(i, id)) { - return -1; - } - } - return id; - } - - boolean knows(int a, int b) { - return false; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/FirstBadVersion.java b/facebook/src/main/java/com/leetcode/facebook/FirstBadVersion.java deleted file mode 100644 index 9dffc1f..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/FirstBadVersion.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/17. - */ - -public class FirstBadVersion { - - public int firstBadVersion(int n) { - int left = 1, right = n; - - while (left <= right) { - int mid = left + ((right - left) >> 1); - - if (isBadVersion(mid)) { - right = mid - 1; - } else { - left = mid + 1; - } - } - - return left; - } - - boolean isBadVersion(int version) { - return false; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/FlattenNestedListIterator.java b/facebook/src/main/java/com/leetcode/facebook/FlattenNestedListIterator.java deleted file mode 100644 index 54b87c3..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/FlattenNestedListIterator.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.leetcode.facebook; - -import com.leetcode.library.NestedInteger; - -import java.util.Iterator; -import java.util.List; -import java.util.Stack; - -/** - * Created by liwentian on 17/8/18. - */ - -public class FlattenNestedListIterator implements Iterator { - - private Stack stack; - - public FlattenNestedListIterator(List nestedList) { - stack = new Stack(); - push(nestedList); - } - - private void push(List nestedList) { - for (int i = nestedList.size() - 1; i >= 0; i--) { - NestedInteger nest = nestedList.get(i); - if (nest.isInteger()) { - stack.push(nest); - } else { - push(nest.getList()); - } - } - } - - @Override - public Integer next() { - return stack.pop().getInteger(); - } - - @Override - public boolean hasNext() { - return !stack.isEmpty(); - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/ImplementTrie.java b/facebook/src/main/java/com/leetcode/facebook/ImplementTrie.java deleted file mode 100644 index 5f451af..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/ImplementTrie.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/18. - * https://leetcode.com/articles/implement-trie-prefix-tree/ - */ - -public class ImplementTrie { - - class TriNode { - TriNode[] nodes = new TriNode[26]; - String word; - } - - TriNode root; - - /** Initialize your data structure here. */ - public ImplementTrie() { - root = new TriNode(); - } - - /** Inserts a word into the trie. */ - public void insert(String word) { - TriNode node = root; - for (char c : word.toCharArray()) { - if (node.nodes[c - 'a'] == null) { - node.nodes[c - 'a'] = new TriNode(); - } - node = node.nodes[c - 'a']; - } - node.word = word; - } - - /** Returns if the word is in the trie. */ - public boolean search(String word) { - TriNode node = root; - for (char c : word.toCharArray()) { - if (node.nodes[c - 'a'] == null) { - return false; - } - node = node.nodes[c - 'a']; - } - return word.equals(node.word); - } - - /** Returns if there is any word in the trie that starts with the given prefix. */ - public boolean startsWith(String prefix) { - TriNode node = root; - for (char c : prefix.toCharArray()) { - if (node.nodes[c - 'a'] == null) { - return false; - } - node = node.nodes[c - 'a']; - } - return true; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/InorderSuccessorInBST.java b/facebook/src/main/java/com/leetcode/facebook/InorderSuccessorInBST.java deleted file mode 100644 index 1d6584f..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/InorderSuccessorInBST.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.leetcode.facebook; - -import com.leetcode.library.TreeNode; - -/** - * Created by liwentian on 17/8/18. - */ - -public class InorderSuccessorInBST { - - public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { - TreeNode node = null; - while (root != null) { - if (p.val >= root.val) { - root = root.right; - } else if (p.val < root.val) { - node = root; - root = root.left; - } - } - return node; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/IntegerToEnglishWords.java b/facebook/src/main/java/com/leetcode/facebook/IntegerToEnglishWords.java deleted file mode 100644 index 35e4364..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/IntegerToEnglishWords.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/18. - */ - -public class IntegerToEnglishWords { - - private final String[] LESS_20 = { - "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", - "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" - }; - - private final String[] LESS_100 = { - "", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" - }; - - private final String[] THOUSANDS = { - "", "Thousand", "Million", "Billion" - }; - - public String numberToWords(int num) { - if (num == 0) { - return "Zero"; - } - - StringBuilder sb = new StringBuilder(); - - for (int i = 0; i < THOUSANDS.length && num > 0; i++) { - if (num % 1000 > 0) { - sb.insert(0, helper(num % 1000).trim() + " " + THOUSANDS[i] + " "); - } - - num /= 1000; - } - - return sb.toString().trim(); - } - - private String helper(int num) { - if (num < 20) { - return LESS_20[num]; - } else if (num < 100) { - return LESS_100[num / 10] + " " + helper(num % 10); - } else { - return LESS_20[num / 100] + " Hundred " + helper(num % 100); - } - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/MaximumSizeSubarraySumEqualsk.java b/facebook/src/main/java/com/leetcode/facebook/MaximumSizeSubarraySumEqualsk.java deleted file mode 100644 index 0b2a04a..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/MaximumSizeSubarraySumEqualsk.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.leetcode.facebook; - -import java.util.HashMap; - -/** - * Created by liwentian on 17/8/17. - */ - -public class MaximumSizeSubarraySumEqualsk { - - public int maxSubArrayLen(int[] nums, int k) { - HashMap map = new HashMap<>(); - int maxLen = 0; - - map.put(0, -1); - - for (int i = 0, sum = 0; i < nums.length; i++) { - sum += nums[i]; - if (!map.containsKey(sum)) { - map.put(sum, i); - } - - int idx = map.getOrDefault(sum - k, -2); - if (idx >= -1 && i - idx > maxLen) { - maxLen = i - idx; - } - } - - return maxLen; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/MinimalRuntimeScheduler.java b/facebook/src/main/java/com/leetcode/facebook/MinimalRuntimeScheduler.java deleted file mode 100644 index 4b6145c..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/MinimalRuntimeScheduler.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by dingjikerbo on 17/1/6. - */ - -/** - * https://discuss.leetcode.com/topic/112/minimal-run-time-scheduler - * 与358 [Rearrange String k Distance Apart]比较类似 - */ -public class MinimalRuntimeScheduler { - - -} diff --git a/facebook/src/main/java/com/leetcode/facebook/MoveZeroes.java b/facebook/src/main/java/com/leetcode/facebook/MoveZeroes.java deleted file mode 100644 index 68a6fde..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/MoveZeroes.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/17. - */ - -public class MoveZeroes { - - public void moveZeroes(int[] nums) { - for (int i = 0, j = 0; j < nums.length; j++) { - if (nums[j] != 0) { - swap(nums, i++, j); - } - } - } - - private void swap(int[] nums, int i, int j) { - int t = nums[i]; - nums[i] = nums[j]; - nums[j] = t; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/ReadNCharactersGivenRead4.java b/facebook/src/main/java/com/leetcode/facebook/ReadNCharactersGivenRead4.java deleted file mode 100644 index e4cba8d..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/ReadNCharactersGivenRead4.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/17. - */ - -public class ReadNCharactersGivenRead4 { - - public int read(char[] buf, int n) { - char[] tmp = new char[4]; - - int i = 0; - for ( ; i < n; i++) { - int size = read4(tmp); - for (int j = 0; j < size && i < n; ) { - buf[i++] = tmp[j++]; - } - if (size < 4) { - break; - } - } - - return i; - } - - int read4(char[] buf) { - return 0; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/ReadNCharactersGivenRead4II.java b/facebook/src/main/java/com/leetcode/facebook/ReadNCharactersGivenRead4II.java deleted file mode 100644 index 3cc8557..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/ReadNCharactersGivenRead4II.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/17. - */ - -public class ReadNCharactersGivenRead4II { - - int idx = 0, size = 0; - char[] tmp = new char[4]; - - public int read(char[] buf, int n) { - int i = 0; - - for ( ; i < n; ) { - if (idx >= size) { - size = read4(tmp); - idx = 0; - } - - for ( ; idx < size && i < n; ) { - buf[i++] = tmp[idx++]; - } - - if (size < 4) { - break; - } - } - - return i; - } - - int read4(char[] buf) { - return 0; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/RegularExpressionMatching.java b/facebook/src/main/java/com/leetcode/facebook/RegularExpressionMatching.java deleted file mode 100644 index 6105c83..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/RegularExpressionMatching.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/18. - */ - -public class RegularExpressionMatching { - - public boolean isMatch(String s, String p) { - if (p.isEmpty()) { - return s.isEmpty(); - } else if (p.length() == 1) { - return s.length() == 1 && isEquals(s, p); - } else if (p.charAt(1) != '*') { - return s.length() > 0 && isEquals(s, p) && isMatch(s.substring(1), p.substring(1)); - } else { - if (s.length() > 0 && isEquals(s, p)) { - return isMatch(s, p.substring(2)) || isMatch(s.substring(1), p); - } else { - return isMatch(s, p.substring(2)); - } - } - } - - private boolean isEquals(String s, String p) { - return s.charAt(0) == p.charAt(0) || p.charAt(0) == '.'; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/RemoveInvalidParentheses.java b/facebook/src/main/java/com/leetcode/facebook/RemoveInvalidParentheses.java deleted file mode 100644 index 816d18a..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/RemoveInvalidParentheses.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.leetcode.facebook; - -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 17/8/17. - */ - -public class RemoveInvalidParentheses { - - public List removeInvalidParentheses(String s) { - HashSet set = new HashSet<>(); - - int nL = 0, nR = 0; - for (char c : s.toCharArray()) { - if (c == '(') { - nL++; - } else if (c == ')') { - if (nL > 0) { - nL--; - } else { - nR++; - } - } - } - - dfs(s, "", set, 0, nL, nR, 0); - return new LinkedList<>(set); - } - - private void dfs(String s, String t, HashSet set, int i, int nL, int nR, int count) { - if (nL < 0 || nR < 0 || count < 0) { - return; - } - if (i == s.length()) { - if (nL == 0 && nR == 0 && count == 0) { - set.add(t); - } - return; - } - char c = s.charAt(i); - if (c == '(') { - dfs(s, t, set, i + 1, nL - 1, nR, count); - dfs(s, t + "(", set, i + 1, nL, nR, count + 1); - } else if (c == ')') { - dfs(s, t, set, i + 1, nL, nR - 1, count); - dfs(s, t + ")", set, i + 1, nL, nR, count - 1); - } else { - dfs(s, t + c, set, i + 1, nL, nR, count); - } - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/SortColors.java b/facebook/src/main/java/com/leetcode/facebook/SortColors.java deleted file mode 100644 index aff54f6..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/SortColors.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/18. - */ - -public class SortColors { - - public void sortColors(int[] nums) { - int zero = -1, two = nums.length; - for (int i = 0; i < two; ) { - if (nums[i] == 0) { - swap(nums, ++zero, i); - } else if (nums[i] == 2) { - swap(nums, --two, i); - } else { - i++; - } - } - } - - private void swap(int[] nums, int i, int j) { - int t = nums[i]; - nums[i] = nums[j]; - nums[j] = t; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/SparseMatrixMultiplication.java b/facebook/src/main/java/com/leetcode/facebook/SparseMatrixMultiplication.java deleted file mode 100644 index 4a609f5..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/SparseMatrixMultiplication.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/17. - */ - -public class SparseMatrixMultiplication { - - public int[][] multiply(int[][] A, int[][] B) { - int[][] C = new int[A.length][B[0].length]; - - for (int i = 0; i < A.length; i++) { - for (int k = 0; k < A[0].length; k++) { - if (A[i][k] != 0) { - for (int j = 0; j < B[0].length; j++) { - C[i][j] += A[i][k] * B[k][j]; - } - } - } - } - - return C; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/ValidPalindrome.java b/facebook/src/main/java/com/leetcode/facebook/ValidPalindrome.java deleted file mode 100644 index 6a381c6..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/ValidPalindrome.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/18. - */ - -public class ValidPalindrome { - - public boolean isPalindrome(String s) { - if (s.isEmpty()) { - return true; - } - - for (int i = 0, j = s.length() - 1; i < j; ) { - if (!Character.isLetterOrDigit(s.charAt(i))) { - i++; - } else if (!Character.isLetterOrDigit(s.charAt(j))) { - j--; - } else if (Character.toLowerCase(s.charAt(i)) == Character.toLowerCase(s.charAt(j))) { - i++; - j--; - } else { - return false; - } - } - - return true; - } -} diff --git a/facebook/src/main/java/com/leetcode/facebook/WildcardMatching.java b/facebook/src/main/java/com/leetcode/facebook/WildcardMatching.java deleted file mode 100644 index 3d7305e..0000000 --- a/facebook/src/main/java/com/leetcode/facebook/WildcardMatching.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.leetcode.facebook; - -/** - * Created by liwentian on 17/8/18. - */ - -public class WildcardMatching { - - public boolean isMatch(String s, String p) { - int is = 0, ip = 0, ks = -1, kp = -1; - - while (is < s.length()) { - if (ip < p.length() && (s.charAt(is) == p.charAt(ip) || p.charAt(ip) == '?')) { - is++; - ip++; - } else if (ip < p.length() && p.charAt(ip) == '*') { - ks = is; - kp = ip++; - } else if (ks != -1) { - is = ++ks; - ip = kp + 1; - } else { - return false; - } - } - - for ( ; ip < p.length() && p.charAt(ip) == '*'; ip++); - - return ip == p.length(); - } -} diff --git a/google/.gitignore b/google/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/google/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/google/RECORDS.md b/google/RECORDS.md deleted file mode 100644 index 265e96f..0000000 --- a/google/RECORDS.md +++ /dev/null @@ -1,22 +0,0 @@ -2017-9-4 -140. Word Break II - - - -2017-9-3 - -310. Minimum Height Trees -399. Evaluate Division -261. Graph Valid Tree -323. Number of Connected Components in an Undirected Graph -10. Regular Expression Matching -17. Letter Combinations of a Phone Number -22. Generate Parentheses -139. Word Break - -2017-9-2 -329. Longest Increasing Path in a Matrix -133. Clone Graph -269. Alien Dictionary -207. Course Schedule -210. Course Schedule II \ No newline at end of file diff --git a/google/build.gradle b/google/build.gradle deleted file mode 100644 index 5bb4b31..0000000 --- a/google/build.gradle +++ /dev/null @@ -1,9 +0,0 @@ -apply plugin: 'java' - -dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - compile project(':library') -} - -sourceCompatibility = "1.8" -targetCompatibility = "1.8" diff --git a/google/google.iml b/google/google.iml deleted file mode 100644 index 9652e06..0000000 --- a/google/google.iml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/google/src/main/java/com/leetcode/google/AlienDictionary.java b/google/src/main/java/com/leetcode/google/AlienDictionary.java deleted file mode 100644 index f250a4b..0000000 --- a/google/src/main/java/com/leetcode/google/AlienDictionary.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.leetcode.google; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.Queue; -import java.util.Set; - -/** - * Created by liwentian on 2017/9/2. - */ - -public class AlienDictionary { - - public String alienOrder(String[] words) { - HashMap> map = new HashMap<>(); - - int[] indegrees = new int[26]; - Arrays.fill(indegrees, -1); - - int count = 0; - for (String word : words) { - for (char c : word.toCharArray()) { - if (indegrees[c - 'a'] != 0) { - indegrees[c - 'a'] = 0; - count++; - } - } - } - - for (int i = 0; i < words.length - 1; i++) { - String prev = words[i], next = words[i + 1]; - - for (int j = 0; j < prev.length() && j < next.length(); j++) { - char c1 = prev.charAt(j), c2 = next.charAt(j); - - if (c1 != c2) { - Set set = map.get(c1); - if (set == null) { - set = new HashSet<>(); - map.put(c1, set); - } - if (set.add(c2)) { - indegrees[c2 - 'a']++; - } - break; - } else { - if (j + 1 < prev.length() && j + 1 >= next.length()) { - return ""; - } - } - } - } - - Queue queue = new LinkedList<>(); - for (char c = 'a'; c <= 'z'; c++) { - if (indegrees[c - 'a'] == 0) { - queue.add(c); - } - } - - StringBuilder sb = new StringBuilder(); - - while (!queue.isEmpty()) { - char c = queue.poll(); - sb.append(c); - - Set set = map.get(c); - if (set != null) { - for (char cc : set) { - if (--indegrees[cc - 'a'] == 0) { - queue.add(cc); - } - } - } - } - - if (sb.length() != count) { - return ""; - } - - return sb.toString(); - } -} diff --git a/google/src/main/java/com/leetcode/google/BinaryTreeLongestConsecutiveSequence.java b/google/src/main/java/com/leetcode/google/BinaryTreeLongestConsecutiveSequence.java deleted file mode 100644 index dc9af48..0000000 --- a/google/src/main/java/com/leetcode/google/BinaryTreeLongestConsecutiveSequence.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.leetcode.google; - -import com.leetcode.library.TreeNode; - -/** - * Created by liwentian on 17/8/26. - */ - -public class BinaryTreeLongestConsecutiveSequence { - - private int mMaxLen; - - public int longestConsecutive(TreeNode root) { - helper(root, 1); - return mMaxLen; - } - - private void helper(TreeNode node, int len) { - if (node == null) { - return; - } - - mMaxLen = Math.max(len, mMaxLen); - - if (node.left != null) { - helper(node.left, 1 + (node.left.val == node.val + 1 ? len : 0)); - } - - if (node.right != null) { - helper(node.right, 1 + (node.right.val == node.val + 1 ? len : 0)); - } - } -} diff --git a/google/src/main/java/com/leetcode/google/BombEnemy.java b/google/src/main/java/com/leetcode/google/BombEnemy.java deleted file mode 100644 index 0282fd7..0000000 --- a/google/src/main/java/com/leetcode/google/BombEnemy.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 17/8/26. - */ - -public class BombEnemy { - - public int maxKilledEnemies(char[][] grid) { - if (grid.length == 0) { - return 0; - } - int m = grid.length, n = grid[0].length; - - int rowHits = 0, result = 0; - int[] colHits = new int[n]; - - for (int i = 0; i < m; i++) { - for (int j = 0; j < n; j++) { - if (grid[i][j] == 'W') { - continue; - } - - if (j == 0 || grid[i][j - 1] == 'W') { - rowHits = 0; - for (int k = j; k < n && grid[i][k] != 'W'; k++) { - if (grid[i][k] == 'E') { - rowHits++; - } - } - } - - if (i == 0 || grid[i - 1][j] == 'W') { - colHits[j] = 0; - for (int k = i; k < m && grid[k][j] != 'W'; k++) { - if (grid[k][j] == 'E') { - colHits[j]++; - } - } - } - - if (grid[i][j] == '0') { - result = Math.max(result, rowHits + colHits[j]); - } - } - } - - return result; - } -} diff --git a/google/src/main/java/com/leetcode/google/CloneGraph.java b/google/src/main/java/com/leetcode/google/CloneGraph.java deleted file mode 100644 index 023489c..0000000 --- a/google/src/main/java/com/leetcode/google/CloneGraph.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.leetcode.google; - -import com.leetcode.library.UndirectedGraphNode; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.Queue; - -/** - * Created by liwentian on 2017/9/2. - */ - -public class CloneGraph { - -// public UndirectedGraphNode cloneGraph(UndirectedGraphNode node) { -// return dfs(node, new HashMap<>()); -// } -// -// private UndirectedGraphNode dfs(UndirectedGraphNode node, HashMap map) { -// if (node == null) { -// return null; -// } -// if (map.containsKey(node)) { -// return map.get(node); -// } -// -// UndirectedGraphNode copy = new UndirectedGraphNode(node.label); -// map.put(node, copy); -// -// for (UndirectedGraphNode child : node.neighbors) { -// UndirectedGraphNode childCopy = dfs(child, map); -// copy.neighbors.add(childCopy); -// } -// -// return copy; -// } - - public UndirectedGraphNode cloneGraph(UndirectedGraphNode node) { - if (node == null) { - return null; - } - - HashMap map = new HashMap<>(); - - UndirectedGraphNode newNode = new UndirectedGraphNode(node.label); - map.put(node, newNode); - - Queue queue = new LinkedList<>(); - queue.add(node); - - while (!queue.isEmpty()) { - UndirectedGraphNode node1 = queue.poll(); - UndirectedGraphNode cloned = map.get(node1); - - for (UndirectedGraphNode p : node1.neighbors) { - if (!map.containsKey(p)) { - map.put(p, new UndirectedGraphNode(p.label)); - queue.add(p); - } - cloned.neighbors.add(map.get(p)); - } - } - - return newNode; - } -} diff --git a/google/src/main/java/com/leetcode/google/CourseSchedule.java b/google/src/main/java/com/leetcode/google/CourseSchedule.java deleted file mode 100644 index edf4d7c..0000000 --- a/google/src/main/java/com/leetcode/google/CourseSchedule.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.leetcode.google; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; -import java.util.Set; - -/** - * Created by liwentian on 2017/9/2. - */ - -public class CourseSchedule { - - public boolean canFinish(int numCourses, int[][] prerequisites) { - HashMap> map = new HashMap<>(); - int[] indegrees = new int[numCourses]; - - for (int[] prerequisite : prerequisites) { - int from = prerequisite[0], to = prerequisite[1]; - Set set = map.get(from); - if (set == null) { - set = new HashSet<>(); - map.put(from, set); - } - if (set.add(to)) { - indegrees[to]++; - } - } - Queue queue = new LinkedList<>(); - for (int i = 0; i < numCourses; i++) { - if (indegrees[i] == 0) { - queue.add(i); - } - } - List list = new LinkedList<>(); - while (!queue.isEmpty()) { - int n = queue.poll(); - list.add(n); - - Set set = map.get(n); - if (set != null) { - for (Integer k : set) { - if (--indegrees[k] == 0) { - queue.offer(k); - } - } - } - } - - return list.size() == numCourses; - } -} diff --git a/google/src/main/java/com/leetcode/google/CourseScheduleII.java b/google/src/main/java/com/leetcode/google/CourseScheduleII.java deleted file mode 100644 index 9eea38a..0000000 --- a/google/src/main/java/com/leetcode/google/CourseScheduleII.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.leetcode.google; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; -import java.util.Set; - -/** - * Created by liwentian on 2017/9/2. - */ - -public class CourseScheduleII { - - public int[] findOrder(int numCourses, int[][] prerequisites) { - int[] indegree = new int[numCourses]; - HashMap> map = new HashMap<>(); - for (int[] f : prerequisites) { - int from = f[1], to = f[0]; - Set set = map.get(from); - if (set == null) { - set = new HashSet<>(); - map.put(from, set); - } - /** - * 这里要防止同一条边计了多次 - */ - if (set.add(to)) { - indegree[to]++; - } - } - Queue queue = new LinkedList<>(); - - int[] result = new int[numCourses]; - int idx = 0; - - for (int i = 0; i < indegree.length; i++) { - if (indegree[i] == 0) { - queue.add(i); - } - } - while (!queue.isEmpty()) { - Integer n = queue.poll(); - result[idx++] = n; - Set set = map.get(n); - if (set != null) { - for (Integer k : set) { - if (--indegree[k] == 0) { - queue.add(k); - } - } - } - } - return idx == result.length ? result : new int[0]; - } -} diff --git a/google/src/main/java/com/leetcode/google/DecodeString.java b/google/src/main/java/com/leetcode/google/DecodeString.java deleted file mode 100644 index feb97e7..0000000 --- a/google/src/main/java/com/leetcode/google/DecodeString.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.leetcode.google; - -import java.util.Deque; -import java.util.LinkedList; -import java.util.Queue; -import java.util.Stack; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class DecodeString { - - public String decodeString(String s) { - StringBuilder sb = new StringBuilder(); - - for (char c : s.toCharArray()) { - if (c != ']') { - sb.append(c); - } else { - String t = popString(sb); - for (int i = popCount(sb); i > 0; i--) { - sb.append(t); - } - } - } - - return sb.toString(); - } - - private String popString(StringBuilder sb) { - StringBuilder ss = new StringBuilder(); - - int i = sb.length() - 1; - for ( ; sb.charAt(i) != '['; i--) { - ss.append(sb.charAt(i)); - } - sb.setLength(i); - - return ss.reverse().toString(); - } - - private int popCount(StringBuilder sb) { - int i = sb.length() - 1, cnt = 0, t = 1; - for ( ; i >= 0 && Character.isDigit(sb.charAt(i)); i--, t *= 10) { - cnt += t * (sb.charAt(i) - '0'); - } - sb.setLength(i + 1); - return cnt; - } -} diff --git a/google/src/main/java/com/leetcode/google/EncodeAndDecodeStrings.java b/google/src/main/java/com/leetcode/google/EncodeAndDecodeStrings.java deleted file mode 100644 index 38d5131..0000000 --- a/google/src/main/java/com/leetcode/google/EncodeAndDecodeStrings.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.leetcode.google; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class EncodeAndDecodeStrings { - - // Encodes a list of strings to a single string. - public String encode(List strs) { - StringBuilder sb = new StringBuilder(); - for (String s : strs) { - sb.append(s.length()).append("/").append(s); - } - return sb.toString(); - } - - // Decodes a single string to a list of strings. - public List decode(String s) { - List list = new LinkedList<>(); - for (int i = 0; i < s.length(); ) { - int index = s.indexOf("/", i); - int size = Integer.parseInt(s.substring(i, index)); - i = index + 1 + size; - list.add(s.substring(index + 1, i)); - } - return list; - } -} diff --git a/google/src/main/java/com/leetcode/google/EvaluateDivision.java b/google/src/main/java/com/leetcode/google/EvaluateDivision.java deleted file mode 100644 index 9604f2a..0000000 --- a/google/src/main/java/com/leetcode/google/EvaluateDivision.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.leetcode.google; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class EvaluateDivision { - - public double[] calcEquation(String[][] equations, double[] values, String[][] queries) { - HashMap> valueMap = new HashMap<>(); - - for (int i = 0; i < equations.length; i++) { - String[] equation = equations[i]; - HashMap map = valueMap.get(equation[0]); - if (map == null) { - map = new HashMap<>(); - valueMap.put(equation[0], map); - } - map.put(equation[1], values[i]); - - map = valueMap.get(equation[1]); - if (map == null) { - map = new HashMap<>(); - valueMap.put(equation[1], map); - } - map.put(equation[0], 1 / values[i]); - } - - double[] result = new double[queries.length]; - for (int i = 0; i < queries.length; i++) { - double res = dfs(valueMap, queries[i][0], queries[i][1], new HashSet(), 1.0); - if (res == 0.0) { - result[i] = -1.0; - } else { - result[i] = res; - } - } - return result; - } - - private double dfs(HashMap> map, String start, String end, HashSet set, double value) { - if (set.contains(start)) { - return 0.0; - } - if (!map.containsKey(start) || !map.containsKey(end)) { - return 0.0; - } - if (start.equals(end)) { - return value; - } - set.add(start); - - double res = 0.0; - HashMap valueMap = map.get(start); - for (Map.Entry entry : valueMap.entrySet()) { - res = dfs(map, entry.getKey(), end, set, value * entry.getValue()); - if (res > 0) { - break; - } - } - set.remove(start); - return res; - } -} diff --git a/google/src/main/java/com/leetcode/google/GeneralizedAbbreviation.java b/google/src/main/java/com/leetcode/google/GeneralizedAbbreviation.java deleted file mode 100644 index a87aa88..0000000 --- a/google/src/main/java/com/leetcode/google/GeneralizedAbbreviation.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.leetcode.google; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/9/1. - */ - -public class GeneralizedAbbreviation { - - public List generateAbbreviations(String word) { - List list = new LinkedList<>(); - helper(word, 0, list, "", 0); - return list; - } - - private void helper(String word, int idx, List list, String cur, int count) { - if (idx == word.length()) { - if (count > 0) { - cur += count; - } - list.add(cur); - return; - } - - helper(word, idx + 1, list, cur, count + 1); - helper(word, idx + 1, list, cur + (count > 0 ? count : "") + word.charAt(idx), 0); - } -} diff --git a/google/src/main/java/com/leetcode/google/GenerateParentheses.java b/google/src/main/java/com/leetcode/google/GenerateParentheses.java deleted file mode 100644 index f6891d2..0000000 --- a/google/src/main/java/com/leetcode/google/GenerateParentheses.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.leetcode.google; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class GenerateParentheses { - - public List generateParenthesis(int n) { - List result = new LinkedList(); - dfs(result, n, "", 0, 0); - return result; - } - - private void dfs(List result, int n, String str, int left, int right) { - if (left == n && right == n) { - result.add(str); - return; - } - if (left > n || right > n || left < right) { - return; - } - dfs(result, n, str + "(", left + 1, right); - dfs(result, n, str + ")", left, right + 1); - } -} diff --git a/google/src/main/java/com/leetcode/google/GraphValidTree.java b/google/src/main/java/com/leetcode/google/GraphValidTree.java deleted file mode 100644 index a64204a..0000000 --- a/google/src/main/java/com/leetcode/google/GraphValidTree.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.leetcode.google; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class GraphValidTree { - - public boolean validTree(int n, int[][] edges) { - List[] graph = new ArrayList[n]; - for (int i = 0; i < n; i++) { - graph[i] = new ArrayList<>(); - } - for (int i = 0; i < edges.length; i++) { - graph[edges[i][0]].add(edges[i][1]); - graph[edges[i][1]].add(edges[i][0]); - } - boolean[] visited = new boolean[n]; - - if (!dfs(graph, visited, 0, -1)) { - return false; - } - - for (int i = 0; i < n; i++) { - if (!visited[i]) { - return false; - } - } - - return true; - } - - private boolean dfs(List[] graph, boolean[] visited, int start, int parent) { - visited[start] = true; - - for (int i = 0; i < graph[start].size(); i++) { - int to = graph[start].get(i); - if (to == parent) { - continue; - } - if (visited[to]) { - return false; - } - if (!dfs(graph, visited, to, start)) { - return false; - } - } - - return true; - } - -} diff --git a/google/src/main/java/com/leetcode/google/LetterCombinationsOfAPhoneNumber.java b/google/src/main/java/com/leetcode/google/LetterCombinationsOfAPhoneNumber.java deleted file mode 100644 index c6f7249..0000000 --- a/google/src/main/java/com/leetcode/google/LetterCombinationsOfAPhoneNumber.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.leetcode.google; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class LetterCombinationsOfAPhoneNumber { - - final String[] NUMS = { - "", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" - }; - - public List letterCombinations(String digits) { - List result = new LinkedList<>(); - if (digits.isEmpty()) { - return result; - } - dfs(digits, result, 0, ""); - return result; - } - - private void dfs(String digits, List result, int idx, String cur) { - if (idx == digits.length()) { - result.add(cur); - return; - } - - int n = digits.charAt(idx) - '0'; - for (char c : NUMS[n].toCharArray()) { - dfs(digits, result, idx + 1, cur + c); - } - } -} diff --git a/google/src/main/java/com/leetcode/google/LoggerRateLimiter.java b/google/src/main/java/com/leetcode/google/LoggerRateLimiter.java deleted file mode 100644 index 6f11ed7..0000000 --- a/google/src/main/java/com/leetcode/google/LoggerRateLimiter.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.leetcode.google; - -import java.util.Deque; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/8/31. - */ - -public class LoggerRateLimiter { - - private HashMap mMap; - - /** Initialize your data structure here. */ - public LoggerRateLimiter() { - mMap = new HashMap<>(); - } - - /** Returns true if the message should be printed in the given timestamp, otherwise returns false. - If this method returns false, the message will not be printed. - The timestamp is in seconds granularity. */ - public boolean shouldPrintMessage(int timestamp, String message) { - int time = mMap.getOrDefault(message, -100); - if (timestamp - time >= 10) { - mMap.put(message, timestamp); - return true; - } else { - return false; - } - } -} diff --git a/google/src/main/java/com/leetcode/google/LongestAbsoluteFilePath.java b/google/src/main/java/com/leetcode/google/LongestAbsoluteFilePath.java deleted file mode 100644 index a2efead..0000000 --- a/google/src/main/java/com/leetcode/google/LongestAbsoluteFilePath.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.leetcode.google; - -import java.util.Stack; - -/** - * Created by liwentian on 17/8/22. - */ - -public class LongestAbsoluteFilePath { - - public int lengthLongestPath(String input) { - Stack stack = new Stack(); - String[] lines = input.split("\n"); - - int max = 0; - for (String line : lines) { - int level = line.lastIndexOf('\t') + 1; - - while (stack.size() > level) { - stack.pop(); - } - - int parent = stack.isEmpty() ? 0 : stack.peek(); - - int len = parent + line.length() - level + 1; - - stack.push(len); - - if (line.contains(".")) { - max = Math.max(max, len - 1); - } - } - - return max; - } -} diff --git a/google/src/main/java/com/leetcode/google/LongestIncreasingPathInAMatrix.java b/google/src/main/java/com/leetcode/google/LongestIncreasingPathInAMatrix.java deleted file mode 100644 index 86a7f9e..0000000 --- a/google/src/main/java/com/leetcode/google/LongestIncreasingPathInAMatrix.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/9/1. - */ - -public class LongestIncreasingPathInAMatrix { - - public int longestIncreasingPath(int[][] matrix) { - if (matrix.length == 0) { - return 0; - } - int row = matrix.length, col = matrix[0].length; - int max = 0; - int[][] cache = new int[row][col]; - for (int i = 0; i < row; i++) { - for (int j = 0; j < col; j++) { - int len = dfs(matrix, i, j, cache); - max = Math.max(max, len); - } - } - return max; - } - - private int dfs(int[][] matrix, int i, int j, int[][] cache) { - if (i < 0 || i >= matrix.length || j < 0 || j >= matrix[0].length) { - return 0; - } - - if (cache[i][j] > 0) { - return cache[i][j]; - } - - int max = 1; - - int[] dx = {1, -1, 0, 0}, dy = {0, 0, 1, -1}; - - for (int k = 0; k < dx.length; k++) { - int x = i + dx[k], y = j + dy[k]; - if (x < 0 || x >= matrix.length || y < 0 || y >= matrix[0].length || matrix[x][y] <= matrix[i][j]) { - continue; - } - max = Math.max(max, dfs(matrix, x, y, cache) + 1); - } - - cache[i][j] = max; - return max; - } -} diff --git a/google/src/main/java/com/leetcode/google/LongestSubstringWithAtMostKDistinctCharacters.java b/google/src/main/java/com/leetcode/google/LongestSubstringWithAtMostKDistinctCharacters.java deleted file mode 100644 index 4f5dd35..0000000 --- a/google/src/main/java/com/leetcode/google/LongestSubstringWithAtMostKDistinctCharacters.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 17/8/22. - */ - -public class LongestSubstringWithAtMostKDistinctCharacters { - - public int lengthOfLongestSubstringTwoDistinct(String s, int k) { - if (k == 0) { - return 0; - } - - int[] count = new int[256]; - int distinct = 0, longest = 0; - - for (int i = 0, j = 0; j < s.length(); j++) { - if (count[s.charAt(j)]++ == 0) { - distinct++; - } - - for ( ; i < j && distinct > k; ) { - if (--count[s.charAt(i++)] == 0) { - --distinct; - } - } - - longest = Math.max(longest, j - i + 1); - } - - return longest; - } -} diff --git a/google/src/main/java/com/leetcode/google/LongestSubstringWithAtMostTwoDistinctCharacters.java b/google/src/main/java/com/leetcode/google/LongestSubstringWithAtMostTwoDistinctCharacters.java deleted file mode 100644 index e6d611c..0000000 --- a/google/src/main/java/com/leetcode/google/LongestSubstringWithAtMostTwoDistinctCharacters.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 17/8/22. - */ - -public class LongestSubstringWithAtMostTwoDistinctCharacters { - - public int lengthOfLongestSubstringTwoDistinct(String s) { - int[] count = new int[256]; - int distinct = 0, longest = 0; - - for (int i = 0, j = 0; j < s.length(); j++) { - if (count[s.charAt(j)]++ == 0) { - distinct++; - } - - for ( ; i < j && distinct > 2; ) { - if (--count[s.charAt(i++)] == 0) { - --distinct; - } - } - - longest = Math.max(longest, j - i + 1); - } - - return longest; - } -} diff --git a/google/src/main/java/com/leetcode/google/Main.java b/google/src/main/java/com/leetcode/google/Main.java deleted file mode 100644 index 6ba733a..0000000 --- a/google/src/main/java/com/leetcode/google/Main.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/11/29. - */ - -public class Main { - - public static void Main(String[] args) { - } -} diff --git a/google/src/main/java/com/leetcode/google/MedianOfTwoSortedArrays.java b/google/src/main/java/com/leetcode/google/MedianOfTwoSortedArrays.java deleted file mode 100644 index f5389ee..0000000 --- a/google/src/main/java/com/leetcode/google/MedianOfTwoSortedArrays.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.leetcode.google; - -/** - * Created by dingjikerbo on 2017/8/20. - */ - -public class MedianOfTwoSortedArrays { - - public double findMedianSortedArrays(int[] nums1, int[] nums2) { - int len = nums1.length + nums2.length; - if (len % 2 != 0) { - return findKth(nums1, 0, nums1.length - 1, nums2, 0, nums2.length - 1, 1 + len / 2); - } else { - return (findKth(nums1, 0, nums1.length - 1, nums2, 0, nums2.length - 1, len / 2) + - findKth(nums1, 0, nums1.length - 1, nums2, 0, nums2.length - 1, len / 2 + 1)) / 2f; - } - } - - private double findKth(int[] nums1, int start1, int end1, int[] nums2, int start2, int end2, int k) { - int len1 = end1 - start1 + 1; - int len2 = end2 - start2 + 1; - - if (len1 > len2) { - return findKth(nums2, start2, end2, nums1, start1, end1, k); - } else if (len1 == 0) { - return nums2[start2 + k - 1]; - } else if (k == 1) { - return Math.min(nums1[start1], nums2[start2]); - } else { - int ia = Math.min(k / 2, len1), ib = k - ia; - if (nums1[start1 + ia - 1] > nums2[start2 + ib - 1]) { - return findKth(nums1, start1, end1, nums2, start2 + ib, end2, k - ib); - } else if (nums1[start1 + ia - 1] < nums2[start2 + ib - 1]) { - return findKth(nums1, start1 + ia, end1, nums2, start2, end2, k - ia); - } else { - return nums1[start1 + ia - 1]; - } - } - } -} diff --git a/google/src/main/java/com/leetcode/google/MinimumHeightTrees.java b/google/src/main/java/com/leetcode/google/MinimumHeightTrees.java deleted file mode 100644 index 92170fe..0000000 --- a/google/src/main/java/com/leetcode/google/MinimumHeightTrees.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.leetcode.google; - -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class MinimumHeightTrees { - - public List findMinHeightTrees(int n, int[][] edges) { - if (n == 1) { - return Arrays.asList(0); - } - Set[] sets = new HashSet[n]; - for (int i = 0; i < n; i++) { - sets[i] = new HashSet<>(); - } - for (int[] edge : edges) { - sets[edge[0]].add(edge[1]); - sets[edge[1]].add(edge[0]); - } - List leaves = new LinkedList<>(); - for (int i = 0; i < n; i++) { - if (sets[i].size() == 1) { - leaves.add(i); - } - } - while (n > 2) { - n -= leaves.size(); - List newLeaves = new LinkedList<>(); - for (Integer k : leaves) { - int m = sets[k].iterator().next(); - sets[k].clear(); - sets[m].remove(k); - if (sets[m].size() == 1) { - newLeaves.add(m); - } - } - leaves = newLeaves; - } - return leaves; - } -} diff --git a/google/src/main/java/com/leetcode/google/MissingRanges.java b/google/src/main/java/com/leetcode/google/MissingRanges.java deleted file mode 100644 index da87e03..0000000 --- a/google/src/main/java/com/leetcode/google/MissingRanges.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.leetcode.google; - -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/8/29. - */ - -public class MissingRanges { - - public List findMissingRanges(int[] nums, int lower, int upper) { - List list = new LinkedList<>(); - - long cur = lower; - for (int i = 0; i < nums.length; i++) { - if (nums[i] > cur) { - list.add(get(cur, nums[i] - 1)); - cur = (long) nums[i] + 1; - } else if (nums[i] == cur) { - cur++; - } - } - - if (cur <= upper) { - list.add(get(cur, upper)); - } - - return list; - } - - private String get(long cur, long end) { - if (end > cur) { - return cur + "->" + end; - } else { - return cur + ""; - } - } -} diff --git a/google/src/main/java/com/leetcode/google/MovingAverageFromDataStream.java b/google/src/main/java/com/leetcode/google/MovingAverageFromDataStream.java deleted file mode 100644 index 75462df..0000000 --- a/google/src/main/java/com/leetcode/google/MovingAverageFromDataStream.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.leetcode.google; - -import java.util.LinkedList; -import java.util.Queue; - -/** - * Created by liwentian on 2017/8/29. - */ - -public class MovingAverageFromDataStream { - - private int mSize; - - private Queue mQueue; - - private double mSum; - - public MovingAverageFromDataStream(int size) { - mSize = size; - mQueue = new LinkedList<>(); - } - - public double next(int val) { - mQueue.add(val); - mSum += val; - - if (mQueue.size() > mSize) { - mSum -= mQueue.poll(); - } - - return mSum / mQueue.size(); - } -} diff --git a/google/src/main/java/com/leetcode/google/NumMatrixII.java b/google/src/main/java/com/leetcode/google/NumMatrixII.java deleted file mode 100644 index 3f06adc..0000000 --- a/google/src/main/java/com/leetcode/google/NumMatrixII.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 17/8/26. - */ - -public class NumMatrixII { - - private int m, n; - - private int[][] tree; - private int[][] nums; - - public NumMatrixII(int[][] matrix) { - if (matrix.length == 0 || matrix[0].length == 0) { - return; - } - - m = matrix.length; - n = matrix[0].length; - nums = new int[m][n]; - tree = new int[m + 1][n + 1]; - - for (int i = 0; i < m; i++) { - for (int j = 0; j < n; j++) { - update(i, j, matrix[i][j]); - } - } - } - - public void update(int row, int col, int val) { - if (m == 0 || n == 0) { - return; - } - int delta = val - nums[row][col]; - nums[row][col] = val; - - for (int i = row + 1; i <= m; i += i & (-i)) { - for (int j = col + 1; j <= n; j += j & (-j)) { - tree[i][j] += delta; - } - } - } - - private int sum(int row, int col) { - int sum = 0; - for (int i = row + 1; i > 0; i -= i & (-i)) { - for (int j = col + 1; j > 0; j -= j & (-j)) { - sum += tree[i][j]; - } - } - return sum; - } - - public int sumRegion(int row1, int col1, int row2, int col2) { - if (m == 0 || n == 0) { - return 0; - } - return sum(row2, col2) - sum(row2, col1 - 1) - sum(row1 - 1, col2) + sum(row1 - 1, col1 - 1); - } -} diff --git a/google/src/main/java/com/leetcode/google/NumberOfConnectedComponentsInAnUndirectedGraph.java b/google/src/main/java/com/leetcode/google/NumberOfConnectedComponentsInAnUndirectedGraph.java deleted file mode 100644 index 29949e1..0000000 --- a/google/src/main/java/com/leetcode/google/NumberOfConnectedComponentsInAnUndirectedGraph.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.leetcode.google; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class NumberOfConnectedComponentsInAnUndirectedGraph { - - public int countComponents(int n, int[][] edges) { - List[] graph = new ArrayList[n]; - for (int i = 0; i < n; i++) { - graph[i] = new ArrayList<>(); - } - for (int[] edge : edges) { - graph[edge[0]].add(edge[1]); - graph[edge[1]].add(edge[0]); - } - boolean[] visited = new boolean[n]; - int count = 0; - for (int i = 0; i < n; i++) { - if (!visited[i]) { - dfs(graph, i, visited); - count++; - } - } - return count; - } - - private void dfs(List[] graph, int i, boolean[] visited) { - if (visited[i]) { - return; - } - visited[i] = true; - for (Integer k : graph[i]) { - dfs(graph, k, visited); - } - } - -} diff --git a/google/src/main/java/com/leetcode/google/NumberOfIslands.java b/google/src/main/java/com/leetcode/google/NumberOfIslands.java deleted file mode 100644 index 212c513..0000000 --- a/google/src/main/java/com/leetcode/google/NumberOfIslands.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class NumberOfIslands { - - public int numIslands(char[][] grid) { - int num = 0; - for (int i = 0; i < grid.length; i++) { - for (int j = 0; j < grid[0].length; j++) { - if (grid[i][j] == '1') { - dfs(grid, i, j); - num++; - } - } - } - return num; - } - - private void dfs(char[][] grid, int i, int j) { - if (i < 0 || i >= grid.length || j < 0 || j >= grid[0].length) { - return; - } - if (grid[i][j] != '1') { - return; - } - grid[i][j] = 'X'; - dfs(grid, i - 1, j); - dfs(grid, i + 1, j); - dfs(grid, i, j + 1); - dfs(grid, i, j - 1); - } -} diff --git a/google/src/main/java/com/leetcode/google/NumberOfIslandsII.java b/google/src/main/java/com/leetcode/google/NumberOfIslandsII.java deleted file mode 100644 index b7d3025..0000000 --- a/google/src/main/java/com/leetcode/google/NumberOfIslandsII.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.leetcode.google; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class NumberOfIslandsII { - - private int[] mRoot; - - private int mCount; - - public List numIslands2(int m, int n, int[][] positions) { - mRoot = new int[m * n]; - - Arrays.fill(mRoot, -1); - - int[] dx = new int[]{1, -1, 0, 0}; - int[] dy = new int[]{0, 0, -1, 1}; - - List list = new LinkedList<>(); - - for (int[] pos : positions) { - int k = pos[0] * n + pos[1]; - - mRoot[k] = k; - - mCount++; - - for (int i = 0; i < dx.length; i++) { - for (int j = 0; j < dy.length; j++) { - int x = pos[0] + dx[i], y = pos[1] + dy[i], z = x * n + y; - if (x < 0 || x >= m || y < 0 || y >= n || mRoot[z] == -1) { - continue; - } - union(k, z); - } - } - - list.add(mCount); - } - - return list; - } - - private void union(int z, int z0) { - int z1 = find(z); - int z2 = find(z0); - if (z1 != z2) { - mRoot[z1] = z2; - mCount--; - } - } - - private int find(int z) { - while (mRoot[z] != z) { - z = mRoot[z]; - } - return z; - } -} diff --git a/google/src/main/java/com/leetcode/google/PathSumIII.java b/google/src/main/java/com/leetcode/google/PathSumIII.java deleted file mode 100644 index 1807bc9..0000000 --- a/google/src/main/java/com/leetcode/google/PathSumIII.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.leetcode.google; - -import com.leetcode.library.TreeNode; - -/** - * Created by liwentian on 2017/11/29. - */ - -public class PathSumIII { - - public int pathSum(TreeNode root, int sum) { - int[] count = new int[1]; - helperSum(root, sum, count); - return count[0]; - } - - private void helperSum(TreeNode root, int sum, int[] count) { - if (root == null) { - return; - } - helper(root, sum, count); - helperSum(root.left, sum, count); - helperSum(root.right, sum, count); - } - - private void helper(TreeNode root, int sum, int[] count) { - if (root == null) { - return; - } - if (root.val == sum) { - count[0]++; - } - helper(root.left, sum - root.val, count); - helper(root.right, sum - root.val, count); - } -} diff --git a/google/src/main/java/com/leetcode/google/PerfectRectangle.java b/google/src/main/java/com/leetcode/google/PerfectRectangle.java deleted file mode 100644 index 9d310d0..0000000 --- a/google/src/main/java/com/leetcode/google/PerfectRectangle.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.leetcode.google; - -import java.util.HashMap; -import java.util.HashSet; - -/** - * Created by liwentian on 2017/8/31. - */ - -public class PerfectRectangle { - - public boolean isRectangleCover(int[][] rectangles) { - - int x1 = Integer.MAX_VALUE, y1 = Integer.MAX_VALUE; - int x2 = 0, y2 = 0; - - HashSet set = new HashSet<>(); - - int area = 0; - - for (int[] rect : rectangles) { - int left = rect[0]; - int bottom = rect[1]; - int right = rect[2]; - int top = rect[3]; - - area += (right - left) * (top - bottom); - - x1 = Math.min(left, x1); - y1 = Math.min(bottom, y1); - x2 = Math.max(right, x2); - y2 = Math.max(top, y2); - - String s1 = left + "." + bottom; - String s2 = left + "." + top; - String s3 = right + "." + bottom; - String s4 = right + "." + top; - - if (!set.add(s1)) { - set.remove(s1); - } - - if (!set.add(s2)) { - set.remove(s2); - } - - if (!set.add(s3)) { - set.remove(s3); - } - - if (!set.add(s4)) { - set.remove(s4); - } - } - - String s1 = x1 + "." + y1; - String s2 = x1 + "." + y2; - String s3 = x2 + "." + y1; - String s4 = x2 + "." + y2; - - if (!set.contains(s1) || !set.contains(s2) || !set.contains(s3) || !set.contains(s4) || set.size() != 4) { - return false; - } - - return area == (x2 - x1) * (y2 - y1); - } -} diff --git a/google/src/main/java/com/leetcode/google/PerfectSquares.java b/google/src/main/java/com/leetcode/google/PerfectSquares.java deleted file mode 100644 index a51eac1..0000000 --- a/google/src/main/java/com/leetcode/google/PerfectSquares.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/8/31. - */ - -public class PerfectSquares { - - public int numSquares(int n) { - int[] dp = new int[n + 1]; - - for (int i = 1; i <= n; i++) { - int min = Integer.MAX_VALUE; - for (int j = 1; i - j * j >= 0; j++) { - min = Math.min(dp[i - j * j] + 1, min); - } - dp[i] = min; - } - - return dp[n]; - - } -} diff --git a/google/src/main/java/com/leetcode/google/PlusOne.java b/google/src/main/java/com/leetcode/google/PlusOne.java deleted file mode 100644 index acac9ea..0000000 --- a/google/src/main/java/com/leetcode/google/PlusOne.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class PlusOne { - - public int[] plusOne(int[] digits) { - int[] res = new int[digits.length + 1]; - - int flag = 1; - for (int i = digits.length - 1; i >= 0 || flag > 0; i--) { - int s = flag + (i >= 0 ? digits[i] : 0); - res[i + 1] = s % 10; - flag = s / 10; - } - - if (res[0] != 0) { - return res; - } - - int[] ret = new int[digits.length]; - System.arraycopy(res, 1, ret, 0, ret.length); - return ret; - } -} diff --git a/google/src/main/java/com/leetcode/google/QueueReconstructionByHeight.java b/google/src/main/java/com/leetcode/google/QueueReconstructionByHeight.java deleted file mode 100644 index 3b63290..0000000 --- a/google/src/main/java/com/leetcode/google/QueueReconstructionByHeight.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.leetcode.google; - -import java.util.Arrays; -import java.util.Comparator; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/9/1. - */ - -public class QueueReconstructionByHeight { - - public int[][] reconstructQueue(int[][] people) { - Arrays.sort(people,new Comparator(){ - @Override - public int compare(int[] o1, int[] o2){ - return o1[0]!=o2[0]?-o1[0]+o2[0]:o1[1]-o2[1]; - } - }); - List res = new LinkedList<>(); - for(int[] cur : people){ - res.add(cur[1],cur); - } - return res.toArray(new int[people.length][]); - } -} diff --git a/google/src/main/java/com/leetcode/google/RangeSumQuery2DImmutable.java b/google/src/main/java/com/leetcode/google/RangeSumQuery2DImmutable.java deleted file mode 100644 index 942428a..0000000 --- a/google/src/main/java/com/leetcode/google/RangeSumQuery2DImmutable.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 17/8/24. - */ - -public class RangeSumQuery2DImmutable { - - private int[][] dp; - - public RangeSumQuery2DImmutable(int[][] matrix) { - if (matrix.length == 0) { - return; - } - dp = new int[matrix.length + 1][matrix[0].length + 1]; - for (int i = 1; i <= matrix.length; i++) { - for (int j = 1; j <= matrix[0].length; j++) { - dp[i][j] = dp[i][j - 1] + dp[i - 1][j] - dp[i - 1][j - 1] + matrix[i - 1][j - 1]; - } - } - } - - public int sumRegion(int row1, int col1, int row2, int col2) { - return dp[row2 + 1][col2 + 1] - dp[row2 + 1][col1] - dp[row1][col2 + 1] + dp[row1][col1]; - } -} diff --git a/google/src/main/java/com/leetcode/google/RangeSumQueryImmutable.java b/google/src/main/java/com/leetcode/google/RangeSumQueryImmutable.java deleted file mode 100644 index babb9a0..0000000 --- a/google/src/main/java/com/leetcode/google/RangeSumQueryImmutable.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 17/8/23. - */ - -public class RangeSumQueryImmutable { - - private int[] sums; - - public RangeSumQueryImmutable(int[] nums) { - sums = new int[nums.length]; - for (int sum = 0, i = 0; i < nums.length; i++) { - sum += nums[i]; - sums[i] = sum; - } - } - - public int sumRange(int i, int j) { - int sum1 = i > 0 ? sums[i - 1] : 0; - return sums[j] - sum1; - } -} diff --git a/google/src/main/java/com/leetcode/google/RangeSumQueryMutable.java b/google/src/main/java/com/leetcode/google/RangeSumQueryMutable.java deleted file mode 100644 index eac5523..0000000 --- a/google/src/main/java/com/leetcode/google/RangeSumQueryMutable.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 17/8/23. - */ - -public class RangeSumQueryMutable { - - private SegmentTreeNode mRoot; - - public RangeSumQueryMutable(int[] nums) { - mRoot = buildTree(nums, 0, nums.length - 1); - } - - private SegmentTreeNode buildTree(int[] nums, int start, int end) { - if (start > end) { - return null; - } - - SegmentTreeNode root = new SegmentTreeNode(); - root.start = start; - root.end = end; - - if (start == end) { - root.sum = nums[start]; - return root; - } - - int mid = start + ((end - start) >> 1); - root.left = buildTree(nums, start, mid); - root.right = buildTree(nums, mid + 1, end); - root.sum = root.left.sum + root.right.sum; - return root; - } - - public void update(int i, int val) { - update(mRoot, i, val); - } - - private void update(SegmentTreeNode node, int i, int val) { - int start = node.start, end = node.end; - if (start == end) { - node.sum = val; - return; - } - - int mid = start + ((end - start) >> 1); - if (i <= mid) { - update(node.left, i, val); - } else { - update(node.right, i, val); - } - node.sum = node.left.sum + node.right.sum; - } - - public int sumRange(int i, int j) { - return sumRange(mRoot, i, j); - } - - private int sumRange(SegmentTreeNode node, int i, int j) { - int start = node.start, end = node.end; - if (i == start && j == end) { - return node.sum; - } - int mid = start + ((end - start) >> 1); - if (j <= mid) { - return sumRange(node.left, i, j); - } else if (i > mid) { - return sumRange(node.right, i, j); - } else { - return sumRange(node.left, i, mid) + sumRange(node.right, mid + 1, j); - } - } - - private class SegmentTreeNode { - SegmentTreeNode left, right; - - int sum; - - int start, end; - } -} diff --git a/google/src/main/java/com/leetcode/google/ReconstructItinerary.java b/google/src/main/java/com/leetcode/google/ReconstructItinerary.java deleted file mode 100644 index 6e3818a..0000000 --- a/google/src/main/java/com/leetcode/google/ReconstructItinerary.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.leetcode.google; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.PriorityQueue; -import java.util.Stack; -import java.util.function.BiConsumer; -import java.util.function.Function; - -/** - * Created by liwentian on 2017/9/2. - */ -/** - * 这题有两个前提 - * 1, 必须从JFK开始 - * 2, 解一定存在 - */ -/** - * 这题有两种解法: - * 1, 常规是DFS暴力解法,面试能写出这种就行了 - * 2, 欧拉解法 - */ -public class ReconstructItinerary { - - /** - * 常规DFS暴力列出所有可能的路径,可以一次走遍所有的边 - */ - public List> findItinerary(String[][] tickets) { - HashMap> map = new HashMap<>(); - for (String[] ticket : tickets) { - map.computeIfAbsent(ticket[0], k -> new ArrayList<>()).add(ticket[1]); - } - List> result = new LinkedList<>(); - dfs("JFK", result, map, new LinkedList<>(Arrays.asList("JFK")), tickets.length); - return result; - } - - void dfs(String airport, List> result, HashMap> map, LinkedList route, int n) { - if (route.size() == n + 1) { - result.add(new ArrayList<>(route)); - return; - } - if (!map.containsKey(airport) || map.get(airport).isEmpty()) { - return; - } - ArrayList list = map.get(airport); - for (int i = 0; i < list.size(); i++) { - String target = list.remove(i); - - route.add(target); - dfs(target, result, map, route, n); - route.removeLast(); - - list.add(i, target); - } - } - - /** - * 题目要求是列出字母顺序最小的 - */ - public List findItinerary2(String[][] tickets) { - HashMap> map = new HashMap<>(); - for (String[] ticket : tickets) { - map.computeIfAbsent(ticket[0], k -> new ArrayList<>()).add(ticket[1]); - } - for (List list : map.values()) { - Collections.sort(list); - } - LinkedList result = new LinkedList<>(Arrays.asList("JFK")); - dfs("JFK", map, result, tickets.length); - return result; - } - - boolean dfs(String airport, HashMap> map, LinkedList route, int n) { - if (route.size() == n + 1) { - return true; - } - if (!map.containsKey(airport) || map.get(airport).isEmpty()) { - return false; - } - ArrayList list = map.get(airport); - for (int i = 0; i < list.size(); i++) { - String target = list.remove(i); - - route.add(target); - if (dfs(target, map, route, n)) { - return true; - } - route.removeLast(); - - list.add(i, target); - } - return false; - } - - /** - * 欧拉递归解法如下 - */ - public List findItinerary3(String[][] tickets) { - for (String[] ticket : tickets) - targets.computeIfAbsent(ticket[0], k -> new PriorityQueue()).add(ticket[1]); - visit("JFK"); - return route; - } - - Map> targets = new HashMap<>(); - List route = new LinkedList(); - - void visit(String airport) { - while (targets.containsKey(airport) && !targets.get(airport).isEmpty()) - visit(targets.get(airport).poll()); - route.add(0, airport); - } - - /** - * 欧拉迭代写法 - */ - public List findItinerary4(String[][] tickets) { - for (String[] ticket : tickets) - targets.computeIfAbsent(ticket[0], k -> new PriorityQueue()).add(ticket[1]); - - Map> targets = new HashMap<>(); - List route = new LinkedList(); - - Stack stack = new Stack<>(); - stack.push("JFK"); - - while (!stack.isEmpty()) { - String s = stack.peek(); - while (targets.containsKey(s) && !targets.get(s).isEmpty()) - stack.push(targets.get(s).poll()); - route.add(0, stack.pop()); - } - - return route; - } -} \ No newline at end of file diff --git a/google/src/main/java/com/leetcode/google/RecoverBinarySearchTree.java b/google/src/main/java/com/leetcode/google/RecoverBinarySearchTree.java deleted file mode 100644 index f4dc05b..0000000 --- a/google/src/main/java/com/leetcode/google/RecoverBinarySearchTree.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.leetcode.google; - -import com.leetcode.library.TreeNode; - -import java.util.Stack; - -/** - * Created by liwentian on 2017/11/29. - */ - -public class RecoverBinarySearchTree { - - public void recoverTree(TreeNode root) { - Stack stack = new Stack<>(); - TreeNode prev = null, first = null, second = null; - - while (!stack.isEmpty() || root != null) { - if (root != null) { - stack.push(root); - root = root.left; - } else { - root = stack.pop(); - - if (prev != null) { - if (first == null && prev.val > root.val) { - first = prev; - } - if (first != null && prev.val > root.val) { - second = root; - } - } - prev = root; - root = root.right; - } - } - - int t = first.val; - first.val = second.val; - second.val = t; - } -} diff --git a/google/src/main/java/com/leetcode/google/RegularExpressionMatching.java b/google/src/main/java/com/leetcode/google/RegularExpressionMatching.java deleted file mode 100644 index d278bcb..0000000 --- a/google/src/main/java/com/leetcode/google/RegularExpressionMatching.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class RegularExpressionMatching { - - public boolean isMatch(String s, String p) { - if (p.isEmpty()) { - return s.isEmpty(); - } - if (p.length() == 1) { - return s.length() == 1 && equals(s, p); - } - if (p.charAt(1) != '*') { - return s.length() > 0 && equals(s, p) && isMatch(s.substring(1), p.substring(1)); - } - if (s.isEmpty() || !equals(s, p)) { - return isMatch(s, p.substring(2)); - } else { - return isMatch(s, p.substring(2)) || isMatch(s.substring(1), p); - } - } - - private boolean equals(String s, String p) { - return p.charAt(0) == '.' || s.charAt(0) == p.charAt(0); - } -} diff --git a/google/src/main/java/com/leetcode/google/ReverseVowelsOfaString.java b/google/src/main/java/com/leetcode/google/ReverseVowelsOfaString.java deleted file mode 100644 index ea96213..0000000 --- a/google/src/main/java/com/leetcode/google/ReverseVowelsOfaString.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/8/31. - */ - -public class ReverseVowelsOfaString { - - - - public String reverseVowels(String s) { - boolean[] flag = new boolean[256]; - for (char c : "aeiouAEIOU".toCharArray()) { - flag[c] = true; - } - - StringBuilder sb = new StringBuilder(s); - for (int i = 0, j = sb.length() - 1; i < j; ) { - if (!flag[sb.charAt(i)]) { - i++; - } else if (!flag[sb.charAt(j)]) { - j--; - } else { - char c = sb.charAt(i); - sb.setCharAt(i, sb.charAt(j)); - sb.setCharAt(j, c); - i++; - j--; - } - } - - return sb.toString(); - } - -} diff --git a/google/src/main/java/com/leetcode/google/SentenceScreenFitting.java b/google/src/main/java/com/leetcode/google/SentenceScreenFitting.java deleted file mode 100644 index 89fcb42..0000000 --- a/google/src/main/java/com/leetcode/google/SentenceScreenFitting.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 17/8/26. - */ - -public class SentenceScreenFitting { - - public int wordsTyping(String[] sentence, int rows, int cols) { - String s = String.join(" ", sentence) + " "; - - int start = 0, len = s.length(); - - for (int i = 0; i < rows; i++) { - start += cols; - - if (s.charAt(start % len) == ' ') { - start++; - } else { - for ( ; start > 0 && s.charAt((start - 1) % len) != ' '; start--); - } - } - - return start / len; - } -} diff --git a/google/src/main/java/com/leetcode/google/ShortestDistanceFromAllBuildings.java b/google/src/main/java/com/leetcode/google/ShortestDistanceFromAllBuildings.java deleted file mode 100644 index 6c2f3d4..0000000 --- a/google/src/main/java/com/leetcode/google/ShortestDistanceFromAllBuildings.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.leetcode.google; - -import java.util.LinkedList; -import java.util.Queue; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class ShortestDistanceFromAllBuildings { - - public int shortestDistance(int[][] grid) { - if (grid.length == 0) { - return -1; - } - int row = grid.length, col = grid[0].length; - - int[][] dis = new int[row][col]; - int[][] building = new int[row][col]; - int buildings = 0; - - for (int i = 0; i < row; i++) { - for (int j = 0; j < col; j++) { - if (grid[i][j] != 1) { - continue; - } - - buildings++; - bfs(grid, dis, building, i, j); - } - } - - int shortest = Integer.MAX_VALUE; - for (int i = 0; i < row; i++) { - for (int j = 0; j < col; j++) { - if (grid[i][j] == 0 && building[i][j] == buildings) { - shortest = Math.min(shortest, dis[i][j]); - } - } - } - return shortest == Integer.MAX_VALUE ? -1 : shortest; - } - - private void bfs(int[][] grid, int[][] dis, int[][] building, int i, int j) { - Queue queue = new LinkedList<>(); - queue.add(new int[] {i, j}); - - Queue next = new LinkedList<>(); - - boolean[][] visited = new boolean[grid.length][grid[0].length]; - - int level = 0; - - while (!queue.isEmpty()) { - int[] pos = queue.poll(); - int x0 = pos[0], y0 = pos[1]; - - dis[x0][y0] += level; - building[x0][y0]++; - - int[] dx = {1, -1, 0, 0}, dy = {0, 0, 1, -1}; - - for (int m = 0; m < dx.length; m++) { - int x = x0 + dx[m], y = y0 + dy[m]; - - if (x < 0 || x >= grid.length || y < 0 || y >= grid[0].length) { - continue; - } - - if (grid[x][y] == 0 && !visited[x][y]) { - visited[x][y] = true; - next.offer(new int[]{x, y}); - } - } - - if (queue.isEmpty()) { - queue.addAll(next); - next.clear(); - level++; - } - } - } -} diff --git a/google/src/main/java/com/leetcode/google/StrobogrammaticNumber.java b/google/src/main/java/com/leetcode/google/StrobogrammaticNumber.java deleted file mode 100644 index b50369b..0000000 --- a/google/src/main/java/com/leetcode/google/StrobogrammaticNumber.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/8/31. - */ - -public class StrobogrammaticNumber { - - public boolean isStrobogrammatic(String num) { - for (int i = 0, j = num.length() - 1; i <= j; i++, j--) { - if (!"11 88 00 696".contains(num.charAt(i) + "" + num.charAt(j))) { - return false; - } - } - return true; - } -} diff --git a/google/src/main/java/com/leetcode/google/StrobogrammaticNumberII.java b/google/src/main/java/com/leetcode/google/StrobogrammaticNumberII.java deleted file mode 100644 index 448e6e0..0000000 --- a/google/src/main/java/com/leetcode/google/StrobogrammaticNumberII.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.leetcode.google; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/8/31. - */ - -public class StrobogrammaticNumberII { - - - public List findStrobogrammatic(int n) { - return helper(n, n); - } - - private List helper(int k, int n) { - if (k == 0) { - return Arrays.asList(""); - } else if (k == 1) { - return Arrays.asList("0", "1", "8"); - } - List result = new LinkedList<>(); - for (String s : helper(k - 2, n)) { - if (k != n) { - result.add("0" + s + "0"); - } - - result.add("1" + s + "1"); - result.add("8" + s + "8"); - result.add("6" + s + "9"); - result.add("9" + s + "6"); - } - return result; - } -} diff --git a/google/src/main/java/com/leetcode/google/TheSkylineProblem.java b/google/src/main/java/com/leetcode/google/TheSkylineProblem.java deleted file mode 100644 index d4d71aa..0000000 --- a/google/src/main/java/com/leetcode/google/TheSkylineProblem.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.leetcode.google; - -import java.util.Collections; -import java.util.Comparator; -import java.util.LinkedList; -import java.util.List; -import java.util.PriorityQueue; - -/** - * Created by liwentian on 2017/8/31. - */ - -public class TheSkylineProblem { - - public List getSkyline(int[][] buildings) { - List list = new LinkedList<>(); - for (int[] building : buildings) { - list.add(new int[] {building[0], -building[2]}); - list.add(new int[] {building[1], building[2]}); - } - - Collections.sort(list, new Comparator() { - @Override - public int compare(int[] o1, int[] o2) { - return o1[0] != o2[0] ? o1[0] - o2[0] : o1[1] - o2[1]; - } - }); - - List result = new LinkedList<>(); - - PriorityQueue queue = new PriorityQueue<>(Comparator.reverseOrder()); - queue.add(0); - - int prev = 0; - for (int[] pos : list) { - if (pos[1] < 0) { - queue.add(-pos[1]); - } else { - queue.remove(pos[1]); - } - - int cur = queue.peek(); - if (cur != prev) { - result.add(new int[] {pos[0], cur}); - prev = cur; - } - } - - return result; - } -} diff --git a/google/src/main/java/com/leetcode/google/ThreeSumSmaller.java b/google/src/main/java/com/leetcode/google/ThreeSumSmaller.java deleted file mode 100644 index 5dfb0f1..0000000 --- a/google/src/main/java/com/leetcode/google/ThreeSumSmaller.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.leetcode.google; - -import java.util.Arrays; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class ThreeSumSmaller { - // -4 -1 -1 0 1 2 ,target=-5 - public int threeSumSmaller(int[] nums, int target) { - Arrays.sort(nums); - - int count = 0; - for (int i = 0; i < nums.length - 2; i++) { - for (int j = i + 1, k = nums.length - 1; j < k; ) { - if (nums[i] + nums[j] + nums[k] < target) { - count += k - j; - j++; - } else { - k--; - } - } - } - - return count; - } -} diff --git a/google/src/main/java/com/leetcode/google/UniqueWordAbbreviation.java b/google/src/main/java/com/leetcode/google/UniqueWordAbbreviation.java deleted file mode 100644 index aef97a9..0000000 --- a/google/src/main/java/com/leetcode/google/UniqueWordAbbreviation.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.leetcode.google; - -import java.util.HashMap; -import java.util.HashSet; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class UniqueWordAbbreviation { - - private HashMap> mMap; - - public UniqueWordAbbreviation(String[] dictionary) { - mMap = new HashMap<>(); - for (String s : dictionary) { - String t = abbr(s); - HashSet set = mMap.get(t); - if (set == null) { - set = new HashSet<>(); - mMap.put(t, set); - } - set.add(s); - } - } - - private String abbr(String s) { - return s.length() > 2 ? s.charAt(0) + String.valueOf(s.length() - 2) + s.charAt(s.length() - 1) : s; - } - - public boolean isUnique(String word) { - String t = abbr(word); - HashSet set = mMap.get(t); - return set == null || (set.size() == 1 && set.contains(word)); - } -} diff --git a/google/src/main/java/com/leetcode/google/ValidWordSquare.java b/google/src/main/java/com/leetcode/google/ValidWordSquare.java deleted file mode 100644 index a2ecca7..0000000 --- a/google/src/main/java/com/leetcode/google/ValidWordSquare.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.leetcode.google; - -import java.util.List; - -/** - * Created by liwentian on 17/8/26. - */ - -public class ValidWordSquare { - - public boolean validWordSquare(List words) { - for (int i = 0; i < words.size(); i++) { - String word = words.get(i); - if (word.length() > words.size()) { - return false; - } - for (int j = 0; j < word.length(); j++) { - String s = words.get(j); - if (i >= s.length() || word.charAt(j) != s.charAt(i)) { - return false; - } - } - } - return true; - } -} diff --git a/google/src/main/java/com/leetcode/google/WallsAndGates.java b/google/src/main/java/com/leetcode/google/WallsAndGates.java deleted file mode 100644 index 8dd6280..0000000 --- a/google/src/main/java/com/leetcode/google/WallsAndGates.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.leetcode.google; - -import java.util.LinkedList; -import java.util.Queue; - -/** - * Created by liwentian on 2017/9/1. - */ - -public class WallsAndGates { - - public void wallsAndGates(int[][] rooms) { - Queue queue = new LinkedList<>(); - Queue next = new LinkedList<>(); - for (int i = 0; i < rooms.length; i++) { - for (int j = 0; j < rooms[0].length; j++) { - if (rooms[i][j] == 0) { - queue.add(new int[] {i, j}); - } - } - } - - int level = 0; - - while (!queue.isEmpty()) { - int[] pos = queue.poll(); - int x = pos[0], y = pos[1]; - - if (rooms[x][y] == Integer.MAX_VALUE) { - rooms[x][y] = level; - } - - int[] dx = {-1, 1, 0, 0}, dy = {0, 0, -1, 1}; - for (int m = 0; m < dx.length; m++) { - int x0 = x + dx[m], y0 = y + dy[m]; - if (x0 < 0 || x0 >= rooms.length || y0 < 0 || y0 >= rooms[0].length) { - continue; - } - if (rooms[x0][y0] != Integer.MAX_VALUE) { - continue; - } - next.add(new int[] {x0, y0}); - } - - if (queue.isEmpty()) { - queue.addAll(next); - next.clear(); - level++; - } - } - } -} diff --git a/google/src/main/java/com/leetcode/google/WiggleSort.java b/google/src/main/java/com/leetcode/google/WiggleSort.java deleted file mode 100644 index 0e8c6fc..0000000 --- a/google/src/main/java/com/leetcode/google/WiggleSort.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.leetcode.google; - -/** - * Created by liwentian on 2017/8/30. - */ - -public class WiggleSort { - - public void wiggleSort(int[] nums) { - for (int i = 0; i + 1 < nums.length; i++) { - if ((i & 1) == 0) { - if (nums[i] > nums[i + 1]) { - swap(nums, i, i + 1); - } - } else { - if (nums[i] < nums[i + 1]) { - swap(nums, i, i + 1); - } - } - } - } - - private void swap(int[] nums, int i, int j) { - int t = nums[i]; - nums[i] = nums[j]; - nums[j] = t; - } -} diff --git a/google/src/main/java/com/leetcode/google/WordBreak.java b/google/src/main/java/com/leetcode/google/WordBreak.java deleted file mode 100644 index c8a43f5..0000000 --- a/google/src/main/java/com/leetcode/google/WordBreak.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.leetcode.google; - -import java.util.HashSet; -import java.util.List; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class WordBreak { - - public boolean wordBreak(String s, List wordDict) { - int n = s.length(); - - boolean[] dp = new boolean[n + 1]; - dp[0] = true; - - for (int i = 1; i <= s.length(); i++) { - for (String word : wordDict) { - int j = i - word.length(); - if (j >= 0 && dp[j] && s.substring(j, i).equals(word)) { - dp[i] = true; - break; - } - } - } - - return dp[n]; - } -} diff --git a/google/src/main/java/com/leetcode/google/WordBreakII.java b/google/src/main/java/com/leetcode/google/WordBreakII.java deleted file mode 100644 index bbdca35..0000000 --- a/google/src/main/java/com/leetcode/google/WordBreakII.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.leetcode.google; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; - -/** - * Created by liwentian on 2017/9/3. - */ - -public class WordBreakII { - - public List wordBreak(String s, List wordDict) { - HashMap> cache = new HashMap<>(); - cache.put("", Arrays.asList("")); - return dfs(s, new HashSet(wordDict), cache); - } - - private List dfs(String s, HashSet wordDict, HashMap> cache) { - if (cache.containsKey(s)) { - return cache.get(s); - } - List result = new LinkedList<>(); - for (int i = 0; i < s.length(); i++) { - String t = s.substring(i); - if (wordDict.contains(t)) { - List list = dfs(s.substring(0, i), wordDict, cache); - if (list != null) { - for (String ss : list) { - result.add((ss.length() > 0 ? ss + " " : "") + t); - } - } - } - } - cache.put(s, result); - return result; - } - - -} diff --git a/google/src/main/java/com/leetcode/google/WordSquares.java b/google/src/main/java/com/leetcode/google/WordSquares.java deleted file mode 100644 index 0a66374..0000000 --- a/google/src/main/java/com/leetcode/google/WordSquares.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.leetcode.google; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; - -/** - * Created by liwentian on 17/8/26. - */ - -public class WordSquares { - - public List> wordSquares(String[] words) { - List> result = new LinkedList<>(); - if (words.length == 0) { - return result; - } - HashMap> map = new HashMap<>(); - for (String word : words) { - for (int i = -1; i < word.length(); i++) { - String s = word.substring(0, i + 1); - Set set = map.get(s); - if (set == null) { - set = new HashSet<>(); - map.put(s, set); - } - set.add(word); - } - } - - helper(result, words[0].length(), map, new LinkedList()); - return result; - } - - private void helper(List> result, int len, HashMap> map, List list) { - if (list.size() == len) { - result.add(new LinkedList<>(list)); - return; - } - - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < list.size(); i++) { - sb.append(list.get(i).charAt(list.size())); - } - String prefix = sb.toString(); - Set set = map.get(prefix); - - if (set == null) { - return; - } - - for (String s : set) { - list.add(s); - helper(result, len, map, list); - list.remove(list.size() - 1); - } - } -} diff --git a/google/src/main/java/com/leetcode/google/ZigzagIterator.java b/google/src/main/java/com/leetcode/google/ZigzagIterator.java deleted file mode 100644 index 3fb86af..0000000 --- a/google/src/main/java/com/leetcode/google/ZigzagIterator.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.leetcode.google; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -/** - * Created by liwentian on 17/8/26. - */ - -public class ZigzagIterator { - - private List> mIterators = new ArrayList<>(); - - private int mCurIdx; - - public ZigzagIterator(List v1, List v2) { - init(v1, v2); - } - - private void init(List... lists) { - for (List list : lists) { - if (!list.isEmpty()) { - mIterators.add(list.iterator()); - } - } - } - - public int next() { - return mIterators.get(mCurIdx++).next(); - } - - public boolean hasNext() { - while (!mIterators.isEmpty()) { - mCurIdx %= mIterators.size(); - - Iterator cur = mIterators.get(mCurIdx); - - if (cur.hasNext()) { - return true; - } - mIterators.remove(mCurIdx); - } - return false; - } -} diff --git a/gradle.properties b/gradle.properties deleted file mode 100644 index aac7c9b..0000000 --- a/gradle.properties +++ /dev/null @@ -1,17 +0,0 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 13372aef5e24af05341d49695ee84e5f9b594659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53636 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ⅅ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 H-+%o-(+5aQ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index c7a4e33..0000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Mon Mar 20 10:01:35 CST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-all.zip diff --git a/gradlew b/gradlew deleted file mode 100644 index 9d82f78..0000000 --- a/gradlew +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; -esac - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index 8a0b282..0000000 --- a/gradlew.bat +++ /dev/null @@ -1,90 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/leetcode.iml b/leetcode.iml deleted file mode 100644 index ce86a2c..0000000 --- a/leetcode.iml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/leetcode/common/common.iml b/leetcode/common/common.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/leetcode/common/common.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/library/src/main/java/com/leetcode/library/CommonUtils.java b/leetcode/common/src/CommonUtils.java similarity index 91% rename from library/src/main/java/com/leetcode/library/CommonUtils.java rename to leetcode/common/src/CommonUtils.java index f40173c..88d88b0 100644 --- a/library/src/main/java/com/leetcode/library/CommonUtils.java +++ b/leetcode/common/src/CommonUtils.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - /** * Created by dingjikerbo on 2016/12/12. */ diff --git a/library/src/main/java/com/leetcode/library/Interval.java b/leetcode/common/src/Interval.java similarity index 90% rename from library/src/main/java/com/leetcode/library/Interval.java rename to leetcode/common/src/Interval.java index b1e3dd6..1f574a7 100644 --- a/library/src/main/java/com/leetcode/library/Interval.java +++ b/leetcode/common/src/Interval.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - /** * Created by dingjikerbo on 16/11/20. */ diff --git a/library/src/main/java/com/leetcode/library/ListNode.java b/leetcode/common/src/ListNode.java similarity index 93% rename from library/src/main/java/com/leetcode/library/ListNode.java rename to leetcode/common/src/ListNode.java index 7902529..d59391d 100644 --- a/library/src/main/java/com/leetcode/library/ListNode.java +++ b/leetcode/common/src/ListNode.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/library/src/main/java/com/leetcode/library/NestedInteger.java b/leetcode/common/src/NestedInteger.java similarity index 95% rename from library/src/main/java/com/leetcode/library/NestedInteger.java rename to leetcode/common/src/NestedInteger.java index ce8f1d3..cbc4d89 100644 --- a/library/src/main/java/com/leetcode/library/NestedInteger.java +++ b/leetcode/common/src/NestedInteger.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - import java.util.List; /** diff --git a/library/src/main/java/com/leetcode/library/Point.java b/leetcode/common/src/Point.java similarity index 95% rename from library/src/main/java/com/leetcode/library/Point.java rename to leetcode/common/src/Point.java index aeda913..a90dc08 100644 --- a/library/src/main/java/com/leetcode/library/Point.java +++ b/leetcode/common/src/Point.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - /** * Created by dingjikerbo on 16/12/7. */ diff --git a/library/src/main/java/com/leetcode/library/RandomListNode.java b/leetcode/common/src/RandomListNode.java similarity index 86% rename from library/src/main/java/com/leetcode/library/RandomListNode.java rename to leetcode/common/src/RandomListNode.java index e3eb267..f8f74d2 100644 --- a/library/src/main/java/com/leetcode/library/RandomListNode.java +++ b/leetcode/common/src/RandomListNode.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - /** * Created by liwentian on 17/8/9. */ diff --git a/library/src/main/java/com/leetcode/library/TreeLinkNode.java b/leetcode/common/src/TreeLinkNode.java similarity index 89% rename from library/src/main/java/com/leetcode/library/TreeLinkNode.java rename to leetcode/common/src/TreeLinkNode.java index d1122b3..13025ad 100644 --- a/library/src/main/java/com/leetcode/library/TreeLinkNode.java +++ b/leetcode/common/src/TreeLinkNode.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/library/src/main/java/com/leetcode/library/TreeNode.java b/leetcode/common/src/TreeNode.java similarity index 97% rename from library/src/main/java/com/leetcode/library/TreeNode.java rename to leetcode/common/src/TreeNode.java index e028f26..be195f0 100644 --- a/library/src/main/java/com/leetcode/library/TreeNode.java +++ b/leetcode/common/src/TreeNode.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/library/src/main/java/com/leetcode/library/TrieNode.java b/leetcode/common/src/TrieNode.java similarity index 86% rename from library/src/main/java/com/leetcode/library/TrieNode.java rename to leetcode/common/src/TrieNode.java index 5053139..3aff8c7 100644 --- a/library/src/main/java/com/leetcode/library/TrieNode.java +++ b/leetcode/common/src/TrieNode.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - /** * Created by dingjikerbo on 2016/11/22. */ diff --git a/library/src/main/java/com/leetcode/library/UndirectedGraphNode.java b/leetcode/common/src/UndirectedGraphNode.java similarity index 91% rename from library/src/main/java/com/leetcode/library/UndirectedGraphNode.java rename to leetcode/common/src/UndirectedGraphNode.java index 068b8c6..4470cff 100644 --- a/library/src/main/java/com/leetcode/library/UndirectedGraphNode.java +++ b/leetcode/common/src/UndirectedGraphNode.java @@ -1,5 +1,3 @@ -package com.leetcode.library; - import java.util.ArrayList; import java.util.List; diff --git a/leetcode/leetcode.iml b/leetcode/leetcode.iml new file mode 100644 index 0000000..da061d4 --- /dev/null +++ b/leetcode/leetcode.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/leetcode/out/production/leetcode/Main.class b/leetcode/out/production/leetcode/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..9673ac78b5896ee4571ac959934f3164c70aea53 GIT binary patch literal 517 zcmZuuO;5r=5Pb`U(pm(m;I~pw=)qo0JYc+-7!UO$!Eo`kzy_CWTT_b0pQQ&)Jop3r zQO4O~f+Xx=X6Mb!do#P=Kc8O!jrv5pNBnHQfB@^2YcCgD(z7$Hu&F45#1J5(D z=b#CXq;&&Bb*6jM8;O282X$V?sR(J;ctVN#bVwQdw=`i&a|#~P7H-Bd4>OpLx=4{m zy|rjNcqq^->yrbOqeRxC$S2Rp7Y;wbUbD1KwwQqoOLTXp1?0;VSy)De5Z!!|krDQW dTrK|&V@6<83NT2g@Q=ho6)S|(kCDy6{RJ~uXD|Q& literal 0 HcmV?d00001 diff --git a/leetcode/solution/solution.iml b/leetcode/solution/solution.iml new file mode 100644 index 0000000..99e828d --- /dev/null +++ b/leetcode/solution/solution.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/solution/src/main/java/com/inuker/solution/AddBinary.java b/leetcode/solution/src/AddBinary.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/AddBinary.java rename to leetcode/solution/src/AddBinary.java index 95f4c5b..8609984 100644 --- a/solution/src/main/java/com/inuker/solution/AddBinary.java +++ b/leetcode/solution/src/AddBinary.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/19. */ diff --git a/solution/src/main/java/com/inuker/solution/AddTwoNumber.java b/leetcode/solution/src/AddTwoNumber.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/AddTwoNumber.java rename to leetcode/solution/src/AddTwoNumber.java index 42c3576..5684062 100644 --- a/solution/src/main/java/com/inuker/solution/AddTwoNumber.java +++ b/leetcode/solution/src/AddTwoNumber.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/AddTwoNumbersII.java b/leetcode/solution/src/AddTwoNumbersII.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/AddTwoNumbersII.java rename to leetcode/solution/src/AddTwoNumbersII.java index 7331e93..5ec0e51 100644 --- a/solution/src/main/java/com/inuker/solution/AddTwoNumbersII.java +++ b/leetcode/solution/src/AddTwoNumbersII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/AlienDictionary.java b/leetcode/solution/src/AlienDictionary.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/AlienDictionary.java rename to leetcode/solution/src/AlienDictionary.java index 8c45184..45c270d 100644 --- a/solution/src/main/java/com/inuker/solution/AlienDictionary.java +++ b/leetcode/solution/src/AlienDictionary.java @@ -1,11 +1,4 @@ -package com.inuker.solution; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.Queue; -import java.util.Set; +import java.util.*; /** * Created by dingjikerbo on 16/12/17. diff --git a/solution/src/main/java/com/inuker/solution/AndroidUnlockPatterns.java b/leetcode/solution/src/AndroidUnlockPatterns.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/AndroidUnlockPatterns.java rename to leetcode/solution/src/AndroidUnlockPatterns.java index e3790fb..e715264 100644 --- a/solution/src/main/java/com/inuker/solution/AndroidUnlockPatterns.java +++ b/leetcode/solution/src/AndroidUnlockPatterns.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/6. */ diff --git a/solution/src/main/java/com/inuker/solution/AverageOfLevelsInBinaryTree.java b/leetcode/solution/src/AverageOfLevelsInBinaryTree.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/AverageOfLevelsInBinaryTree.java rename to leetcode/solution/src/AverageOfLevelsInBinaryTree.java index ff9b246..1fe1322 100644 --- a/solution/src/main/java/com/inuker/solution/AverageOfLevelsInBinaryTree.java +++ b/leetcode/solution/src/AverageOfLevelsInBinaryTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/BSTIterator.java b/leetcode/solution/src/BSTIterator.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/BSTIterator.java rename to leetcode/solution/src/BSTIterator.java index a3dc689..a85aba8 100644 --- a/solution/src/main/java/com/inuker/solution/BSTIterator.java +++ b/leetcode/solution/src/BSTIterator.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/BalancedBinaryTree.java b/leetcode/solution/src/BalancedBinaryTree.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/BalancedBinaryTree.java rename to leetcode/solution/src/BalancedBinaryTree.java index 525fe8a..3db11a9 100644 --- a/solution/src/main/java/com/inuker/solution/BalancedBinaryTree.java +++ b/leetcode/solution/src/BalancedBinaryTree.java @@ -1,11 +1,7 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/28. */ -import com.leetcode.library.TreeNode; - /** * 平衡二叉树条件是左边是平衡,右边是平衡,且两边高度差相差不超过1 * 树的高度是所有子树的最大高度 diff --git a/solution/src/main/java/com/inuker/solution/BasicCalculator.java b/leetcode/solution/src/BasicCalculator.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/BasicCalculator.java rename to leetcode/solution/src/BasicCalculator.java index 51194d3..48d9dfd 100644 --- a/solution/src/main/java/com/inuker/solution/BasicCalculator.java +++ b/leetcode/solution/src/BasicCalculator.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/BeautifulArrangement.java b/leetcode/solution/src/BeautifulArrangement.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/BeautifulArrangement.java rename to leetcode/solution/src/BeautifulArrangement.java index de49e8b..eec778f 100644 --- a/solution/src/main/java/com/inuker/solution/BeautifulArrangement.java +++ b/leetcode/solution/src/BeautifulArrangement.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/6. */ diff --git a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStock.java b/leetcode/solution/src/BestTimeBuySellStock.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/BestTimeBuySellStock.java rename to leetcode/solution/src/BestTimeBuySellStock.java index 19fd88f..f0eb728 100644 --- a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStock.java +++ b/leetcode/solution/src/BestTimeBuySellStock.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockII.java b/leetcode/solution/src/BestTimeBuySellStockII.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/BestTimeBuySellStockII.java rename to leetcode/solution/src/BestTimeBuySellStockII.java index c26588f..09bbfd3 100644 --- a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockII.java +++ b/leetcode/solution/src/BestTimeBuySellStockII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockIII.java b/leetcode/solution/src/BestTimeBuySellStockIII.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/BestTimeBuySellStockIII.java rename to leetcode/solution/src/BestTimeBuySellStockIII.java index 7505fe0..36ae79f 100644 --- a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockIII.java +++ b/leetcode/solution/src/BestTimeBuySellStockIII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockIV.java b/leetcode/solution/src/BestTimeBuySellStockIV.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/BestTimeBuySellStockIV.java rename to leetcode/solution/src/BestTimeBuySellStockIV.java index 62733db..8495c6d 100644 --- a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockIV.java +++ b/leetcode/solution/src/BestTimeBuySellStockIV.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockWithCoolDown.java b/leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/BestTimeBuySellStockWithCoolDown.java rename to leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java index ad799c9..c9b2e9b 100644 --- a/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockWithCoolDown.java +++ b/leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeInorderTraversal.java b/leetcode/solution/src/BinaryTreeInorderTraversal.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/BinaryTreeInorderTraversal.java rename to leetcode/solution/src/BinaryTreeInorderTraversal.java index 4b65895..1410584 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeInorderTraversal.java +++ b/leetcode/solution/src/BinaryTreeInorderTraversal.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.ArrayList; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeLevelOrderTraversal.java b/leetcode/solution/src/BinaryTreeLevelOrderTraversal.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/BinaryTreeLevelOrderTraversal.java rename to leetcode/solution/src/BinaryTreeLevelOrderTraversal.java index 4b8e235..407747d 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeLevelOrderTraversal.java +++ b/leetcode/solution/src/BinaryTreeLevelOrderTraversal.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeLevelOrderTraversalII.java b/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/BinaryTreeLevelOrderTraversalII.java rename to leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java index c251ecd..f185642 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeLevelOrderTraversalII.java +++ b/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeLongestConsecutiveSequence.java b/leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/BinaryTreeLongestConsecutiveSequence.java rename to leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java index a766b34..b0c837b 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeLongestConsecutiveSequence.java +++ b/leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java @@ -1,11 +1,7 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/2. */ -import com.leetcode.library.TreeNode; - /** * https://leetcode.com/articles/binary-tree-longest-consecutive-sequence/ */ diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeMaximumPathSum.java b/leetcode/solution/src/BinaryTreeMaximumPathSum.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/BinaryTreeMaximumPathSum.java rename to leetcode/solution/src/BinaryTreeMaximumPathSum.java index e67097c..433d00c 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeMaximumPathSum.java +++ b/leetcode/solution/src/BinaryTreeMaximumPathSum.java @@ -1,11 +1,7 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/28. */ -import com.leetcode.library.TreeNode; - /** * 单边的或者双边的,或只包含根节点的 */ diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreePaths.java b/leetcode/solution/src/BinaryTreePaths.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/BinaryTreePaths.java rename to leetcode/solution/src/BinaryTreePaths.java index 1a919b5..933c07e 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreePaths.java +++ b/leetcode/solution/src/BinaryTreePaths.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreePostorderTraversal.java b/leetcode/solution/src/BinaryTreePostorderTraversal.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/BinaryTreePostorderTraversal.java rename to leetcode/solution/src/BinaryTreePostorderTraversal.java index 019889b..c93fcc8 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreePostorderTraversal.java +++ b/leetcode/solution/src/BinaryTreePostorderTraversal.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.ArrayDeque; import java.util.Deque; import java.util.LinkedList; diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreePreorderTraversal.java b/leetcode/solution/src/BinaryTreePreorderTraversal.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/BinaryTreePreorderTraversal.java rename to leetcode/solution/src/BinaryTreePreorderTraversal.java index e88e4be..723a3fa 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreePreorderTraversal.java +++ b/leetcode/solution/src/BinaryTreePreorderTraversal.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeRightSideView.java b/leetcode/solution/src/BinaryTreeRightSideView.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/BinaryTreeRightSideView.java rename to leetcode/solution/src/BinaryTreeRightSideView.java index 93d9584..689ab3e 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeRightSideView.java +++ b/leetcode/solution/src/BinaryTreeRightSideView.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeUpsideDown.java b/leetcode/solution/src/BinaryTreeUpsideDown.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/BinaryTreeUpsideDown.java rename to leetcode/solution/src/BinaryTreeUpsideDown.java index 6dedc73..31b9a4e 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeUpsideDown.java +++ b/leetcode/solution/src/BinaryTreeUpsideDown.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 16/12/2. */ diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeVerticalOrderTraversal.java b/leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/BinaryTreeVerticalOrderTraversal.java rename to leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java index 7440106..41cd47d 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeVerticalOrderTraversal.java +++ b/leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/BinaryTreeZigzagLevelOrderTraversal.java b/leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/BinaryTreeZigzagLevelOrderTraversal.java rename to leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java index 5175477..6f0fb7d 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryTreeZigzagLevelOrderTraversal.java +++ b/leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/BinaryWatch.java b/leetcode/solution/src/BinaryWatch.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/BinaryWatch.java rename to leetcode/solution/src/BinaryWatch.java index 4c08f08..7a11deb 100644 --- a/solution/src/main/java/com/inuker/solution/BinaryWatch.java +++ b/leetcode/solution/src/BinaryWatch.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/BombEnemy.java b/leetcode/solution/src/BombEnemy.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/BombEnemy.java rename to leetcode/solution/src/BombEnemy.java index 2c66aef..f14d5b2 100644 --- a/solution/src/main/java/com/inuker/solution/BombEnemy.java +++ b/leetcode/solution/src/BombEnemy.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/11. */ diff --git a/solution/src/main/java/com/inuker/solution/BulbSwitcher.java b/leetcode/solution/src/BulbSwitcher.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/BulbSwitcher.java rename to leetcode/solution/src/BulbSwitcher.java index 499c847..11d8290 100644 --- a/solution/src/main/java/com/inuker/solution/BulbSwitcher.java +++ b/leetcode/solution/src/BulbSwitcher.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/8. */ diff --git a/solution/src/main/java/com/inuker/solution/BurstBalloons.java b/leetcode/solution/src/BurstBalloons.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/BurstBalloons.java rename to leetcode/solution/src/BurstBalloons.java index dc1f2e8..53d4b3f 100644 --- a/solution/src/main/java/com/inuker/solution/BurstBalloons.java +++ b/leetcode/solution/src/BurstBalloons.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/21. */ diff --git a/solution/src/main/java/com/inuker/solution/CanArrangeWords.java b/leetcode/solution/src/CanArrangeWords.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/CanArrangeWords.java rename to leetcode/solution/src/CanArrangeWords.java index f14128c..6e08997 100644 --- a/solution/src/main/java/com/inuker/solution/CanArrangeWords.java +++ b/leetcode/solution/src/CanArrangeWords.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashSet; /** diff --git a/solution/src/main/java/com/inuker/solution/CloneGraph.java b/leetcode/solution/src/CloneGraph.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/CloneGraph.java rename to leetcode/solution/src/CloneGraph.java index bb03431..d407783 100644 --- a/solution/src/main/java/com/inuker/solution/CloneGraph.java +++ b/leetcode/solution/src/CloneGraph.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.UndirectedGraphNode; - import java.util.HashMap; import java.util.LinkedList; import java.util.Map; diff --git a/solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValue.java b/leetcode/solution/src/ClosestBinarySearchTreeValue.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValue.java rename to leetcode/solution/src/ClosestBinarySearchTreeValue.java index 4335590..0871db5 100644 --- a/solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValue.java +++ b/leetcode/solution/src/ClosestBinarySearchTreeValue.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 2016/12/2. */ diff --git a/solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValueII.java b/leetcode/solution/src/ClosestBinarySearchTreeValueII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValueII.java rename to leetcode/solution/src/ClosestBinarySearchTreeValueII.java index 2c9c360..f3229db 100644 --- a/solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValueII.java +++ b/leetcode/solution/src/ClosestBinarySearchTreeValueII.java @@ -1,8 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - -import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Stack; diff --git a/solution/src/main/java/com/inuker/solution/Codec.java b/leetcode/solution/src/Codec.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/Codec.java rename to leetcode/solution/src/Codec.java index d1d7d90..af4add7 100644 --- a/solution/src/main/java/com/inuker/solution/Codec.java +++ b/leetcode/solution/src/Codec.java @@ -1,12 +1,4 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - -import java.util.Arrays; -import java.util.Deque; -import java.util.LinkedList; -import java.util.Queue; -import java.util.Stack; +import java.util.*; /** * Created by dingjikerbo on 2016/11/16. diff --git a/solution/src/main/java/com/inuker/solution/CombinationSum.java b/leetcode/solution/src/CombinationSum.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/CombinationSum.java rename to leetcode/solution/src/CombinationSum.java index e5e881d..471037d 100644 --- a/solution/src/main/java/com/inuker/solution/CombinationSum.java +++ b/leetcode/solution/src/CombinationSum.java @@ -1,6 +1,3 @@ -package com.inuker.solution; - -import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/CombinationSumII.java b/leetcode/solution/src/CombinationSumII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/CombinationSumII.java rename to leetcode/solution/src/CombinationSumII.java index eb22a9e..da22db5 100644 --- a/solution/src/main/java/com/inuker/solution/CombinationSumII.java +++ b/leetcode/solution/src/CombinationSumII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/CombinationSumIII.java b/leetcode/solution/src/CombinationSumIII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/CombinationSumIII.java rename to leetcode/solution/src/CombinationSumIII.java index 4e4eccc..254f780 100644 --- a/solution/src/main/java/com/inuker/solution/CombinationSumIII.java +++ b/leetcode/solution/src/CombinationSumIII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/CombinationSumIV.java b/leetcode/solution/src/CombinationSumIV.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/CombinationSumIV.java rename to leetcode/solution/src/CombinationSumIV.java index 8f45652..2224d19 100644 --- a/solution/src/main/java/com/inuker/solution/CombinationSumIV.java +++ b/leetcode/solution/src/CombinationSumIV.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/Combinations.java b/leetcode/solution/src/Combinations.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/Combinations.java rename to leetcode/solution/src/Combinations.java index f2673a0..f3b125b 100644 --- a/solution/src/main/java/com/inuker/solution/Combinations.java +++ b/leetcode/solution/src/Combinations.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.java b/leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.java rename to leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java index f841314..9944b07 100644 --- a/solution/src/main/java/com/inuker/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.java +++ b/leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 2016/12/2. */ diff --git a/solution/src/main/java/com/inuker/solution/ConstructBinaryTreeFromPreorderInorderTraversal.java b/leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/ConstructBinaryTreeFromPreorderInorderTraversal.java rename to leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java index d3fb909..65965fb 100644 --- a/solution/src/main/java/com/inuker/solution/ConstructBinaryTreeFromPreorderInorderTraversal.java +++ b/leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 16/11/30. */ diff --git a/solution/src/main/java/com/inuker/solution/ContainerWithMostWater.java b/leetcode/solution/src/ContainerWithMostWater.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ContainerWithMostWater.java rename to leetcode/solution/src/ContainerWithMostWater.java index dce553d..e0b5083 100644 --- a/solution/src/main/java/com/inuker/solution/ContainerWithMostWater.java +++ b/leetcode/solution/src/ContainerWithMostWater.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/5/2. */ diff --git a/solution/src/main/java/com/inuker/solution/ContainsDuplicate.java b/leetcode/solution/src/ContainsDuplicate.java similarity index 84% rename from solution/src/main/java/com/inuker/solution/ContainsDuplicate.java rename to leetcode/solution/src/ContainsDuplicate.java index c642c0c..635e61a 100644 --- a/solution/src/main/java/com/inuker/solution/ContainsDuplicate.java +++ b/leetcode/solution/src/ContainsDuplicate.java @@ -1,9 +1,5 @@ -package com.inuker.solution; - -import java.util.HashMap; import java.util.HashSet; import java.util.Set; -import java.util.TreeSet; /** * Created by dingjikerbo on 16/12/8. diff --git a/solution/src/main/java/com/inuker/solution/ContainsDuplicateII.java b/leetcode/solution/src/ContainsDuplicateII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/ContainsDuplicateII.java rename to leetcode/solution/src/ContainsDuplicateII.java index a2225ef..6ab0d8a 100644 --- a/solution/src/main/java/com/inuker/solution/ContainsDuplicateII.java +++ b/leetcode/solution/src/ContainsDuplicateII.java @@ -1,8 +1,5 @@ -package com.inuker.solution; - import java.util.HashMap; import java.util.HashSet; -import java.util.Set; /** * Created by dingjikerbo on 16/12/8. diff --git a/solution/src/main/java/com/inuker/solution/ContainsDuplicateIII.java b/leetcode/solution/src/ContainsDuplicateIII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/ContainsDuplicateIII.java rename to leetcode/solution/src/ContainsDuplicateIII.java index e7ca4b8..e71031c 100644 --- a/solution/src/main/java/com/inuker/solution/ContainsDuplicateIII.java +++ b/leetcode/solution/src/ContainsDuplicateIII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; import java.util.Map; import java.util.TreeSet; diff --git a/solution/src/main/java/com/inuker/solution/ConvertSortedArrayToBinarySearchTree.java b/leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java similarity index 89% rename from solution/src/main/java/com/inuker/solution/ConvertSortedArrayToBinarySearchTree.java rename to leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java index 6e9d784..a477107 100644 --- a/solution/src/main/java/com/inuker/solution/ConvertSortedArrayToBinarySearchTree.java +++ b/leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 16/11/28. */ diff --git a/solution/src/main/java/com/inuker/solution/ConvertSortedListToBinarySearchTree.java b/leetcode/solution/src/ConvertSortedListToBinarySearchTree.java similarity index 86% rename from solution/src/main/java/com/inuker/solution/ConvertSortedListToBinarySearchTree.java rename to leetcode/solution/src/ConvertSortedListToBinarySearchTree.java index eea3e9d..5d5a09c 100644 --- a/solution/src/main/java/com/inuker/solution/ConvertSortedListToBinarySearchTree.java +++ b/leetcode/solution/src/ConvertSortedListToBinarySearchTree.java @@ -1,8 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; -import com.leetcode.library.TreeNode; - /** * Created by liwentian on 2017/9/11. */ diff --git a/solution/src/main/java/com/inuker/solution/CopyListWithRandomPointer.java b/leetcode/solution/src/CopyListWithRandomPointer.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/CopyListWithRandomPointer.java rename to leetcode/solution/src/CopyListWithRandomPointer.java index 26bc9b5..ad8ee1b 100644 --- a/solution/src/main/java/com/inuker/solution/CopyListWithRandomPointer.java +++ b/leetcode/solution/src/CopyListWithRandomPointer.java @@ -1,11 +1,7 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ -import com.leetcode.library.RandomListNode; - /** * 易错的地方在于random要判空 */ diff --git a/solution/src/main/java/com/inuker/solution/CountAndSay.java b/leetcode/solution/src/CountAndSay.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/CountAndSay.java rename to leetcode/solution/src/CountAndSay.java index 2e9c9af..8605fad 100644 --- a/solution/src/main/java/com/inuker/solution/CountAndSay.java +++ b/leetcode/solution/src/CountAndSay.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/22. */ diff --git a/solution/src/main/java/com/inuker/solution/CountCompleteTreeNodes.java b/leetcode/solution/src/CountCompleteTreeNodes.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/CountCompleteTreeNodes.java rename to leetcode/solution/src/CountCompleteTreeNodes.java index 5650df6..995d738 100644 --- a/solution/src/main/java/com/inuker/solution/CountCompleteTreeNodes.java +++ b/leetcode/solution/src/CountCompleteTreeNodes.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 2016/11/29. */ diff --git a/solution/src/main/java/com/inuker/solution/CountNumberWithUniqueDigits.java b/leetcode/solution/src/CountNumberWithUniqueDigits.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/CountNumberWithUniqueDigits.java rename to leetcode/solution/src/CountNumberWithUniqueDigits.java index 4fab953..b5d29ac 100644 --- a/solution/src/main/java/com/inuker/solution/CountNumberWithUniqueDigits.java +++ b/leetcode/solution/src/CountNumberWithUniqueDigits.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2016/12/29. */ diff --git a/solution/src/main/java/com/inuker/solution/CountOfSmallerNumbersAfterSelf.java b/leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/CountOfSmallerNumbersAfterSelf.java rename to leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java index 4fab12b..34a5075 100644 --- a/solution/src/main/java/com/inuker/solution/CountOfSmallerNumbersAfterSelf.java +++ b/leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/CountPrimes.java b/leetcode/solution/src/CountPrimes.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/CountPrimes.java rename to leetcode/solution/src/CountPrimes.java index d14a019..0dafc81 100644 --- a/solution/src/main/java/com/inuker/solution/CountPrimes.java +++ b/leetcode/solution/src/CountPrimes.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import java.util.Arrays; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/CountUnivalueSubtrees.java b/leetcode/solution/src/CountUnivalueSubtrees.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/CountUnivalueSubtrees.java rename to leetcode/solution/src/CountUnivalueSubtrees.java index c7933ff..2fa584b 100644 --- a/solution/src/main/java/com/inuker/solution/CountUnivalueSubtrees.java +++ b/leetcode/solution/src/CountUnivalueSubtrees.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 16/12/1. */ diff --git a/solution/src/main/java/com/inuker/solution/CourseSchedule.java b/leetcode/solution/src/CourseSchedule.java similarity index 85% rename from solution/src/main/java/com/inuker/solution/CourseSchedule.java rename to leetcode/solution/src/CourseSchedule.java index 21bd7da..a2ff1ca 100644 --- a/solution/src/main/java/com/inuker/solution/CourseSchedule.java +++ b/leetcode/solution/src/CourseSchedule.java @@ -1,11 +1,4 @@ -package com.inuker.solution; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; -import java.util.Set; +import java.util.*; /** * Created by dingjikerbo on 2016/12/17. diff --git a/solution/src/main/java/com/inuker/solution/CourseScheduleII.java b/leetcode/solution/src/CourseScheduleII.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/CourseScheduleII.java rename to leetcode/solution/src/CourseScheduleII.java index 203bc7e..b6d63f6 100644 --- a/solution/src/main/java/com/inuker/solution/CourseScheduleII.java +++ b/leetcode/solution/src/CourseScheduleII.java @@ -1,6 +1,3 @@ -package com.inuker.solution; - -import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/DecodeString.java b/leetcode/solution/src/DecodeString.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/DecodeString.java rename to leetcode/solution/src/DecodeString.java index a316137..6930342 100644 --- a/solution/src/main/java/com/inuker/solution/DecodeString.java +++ b/leetcode/solution/src/DecodeString.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import java.util.Stack; - /** * Created by dingjikerbo on 2016/12/11. */ diff --git a/solution/src/main/java/com/inuker/solution/DecodeWays.java b/leetcode/solution/src/DecodeWays.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/DecodeWays.java rename to leetcode/solution/src/DecodeWays.java index 98006a6..d20150f 100644 --- a/solution/src/main/java/com/inuker/solution/DecodeWays.java +++ b/leetcode/solution/src/DecodeWays.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/20. */ diff --git a/solution/src/main/java/com/inuker/solution/DeleteNodeInALinkedList.java b/leetcode/solution/src/DeleteNodeInALinkedList.java similarity index 79% rename from solution/src/main/java/com/inuker/solution/DeleteNodeInALinkedList.java rename to leetcode/solution/src/DeleteNodeInALinkedList.java index 9648546..ac5d588 100644 --- a/solution/src/main/java/com/inuker/solution/DeleteNodeInALinkedList.java +++ b/leetcode/solution/src/DeleteNodeInALinkedList.java @@ -1,11 +1,7 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/11. */ -import com.leetcode.library.ListNode; - /** * https://leetcode.com/articles/delete-node-linked-list/ */ diff --git a/solution/src/main/java/com/inuker/solution/DeleteNodeInBST.java b/leetcode/solution/src/DeleteNodeInBST.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/DeleteNodeInBST.java rename to leetcode/solution/src/DeleteNodeInBST.java index f40bd3a..3f97de5 100644 --- a/solution/src/main/java/com/inuker/solution/DeleteNodeInBST.java +++ b/leetcode/solution/src/DeleteNodeInBST.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 17/1/2. */ diff --git a/solution/src/main/java/com/inuker/solution/DifferenceWaysToAddParentheses.java b/leetcode/solution/src/DifferenceWaysToAddParentheses.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/DifferenceWaysToAddParentheses.java rename to leetcode/solution/src/DifferenceWaysToAddParentheses.java index 4ae23c5..a98f57c 100644 --- a/solution/src/main/java/com/inuker/solution/DifferenceWaysToAddParentheses.java +++ b/leetcode/solution/src/DifferenceWaysToAddParentheses.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/DivideTwoIntegers.java b/leetcode/solution/src/DivideTwoIntegers.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/DivideTwoIntegers.java rename to leetcode/solution/src/DivideTwoIntegers.java index fa64bc0..d7936bf 100644 --- a/solution/src/main/java/com/inuker/solution/DivideTwoIntegers.java +++ b/leetcode/solution/src/DivideTwoIntegers.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/1/12. */ diff --git a/solution/src/main/java/com/inuker/solution/EditDistance.java b/leetcode/solution/src/EditDistance.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/EditDistance.java rename to leetcode/solution/src/EditDistance.java index 6aec8e1..410fdb2 100644 --- a/solution/src/main/java/com/inuker/solution/EditDistance.java +++ b/leetcode/solution/src/EditDistance.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/15. */ diff --git a/solution/src/main/java/com/inuker/solution/EncodeAndDecodeStrings.java b/leetcode/solution/src/EncodeAndDecodeStrings.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/EncodeAndDecodeStrings.java rename to leetcode/solution/src/EncodeAndDecodeStrings.java index 9b88a71..66577df 100644 --- a/solution/src/main/java/com/inuker/solution/EncodeAndDecodeStrings.java +++ b/leetcode/solution/src/EncodeAndDecodeStrings.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/EncodeAndDecodeTinyURL.java b/leetcode/solution/src/EncodeAndDecodeTinyURL.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/EncodeAndDecodeTinyURL.java rename to leetcode/solution/src/EncodeAndDecodeTinyURL.java index 64e5d99..9265846 100644 --- a/solution/src/main/java/com/inuker/solution/EncodeAndDecodeTinyURL.java +++ b/leetcode/solution/src/EncodeAndDecodeTinyURL.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; import java.util.Random; diff --git a/solution/src/main/java/com/inuker/solution/EvaluateDivision.java b/leetcode/solution/src/EvaluateDivision.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/EvaluateDivision.java rename to leetcode/solution/src/EvaluateDivision.java index 1811f62..dbb7834 100644 --- a/solution/src/main/java/com/inuker/solution/EvaluateDivision.java +++ b/leetcode/solution/src/EvaluateDivision.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; import java.util.HashSet; import java.util.Map; diff --git a/solution/src/main/java/com/inuker/solution/EvaluateReversePolishNotation.java b/leetcode/solution/src/EvaluateReversePolishNotation.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/EvaluateReversePolishNotation.java rename to leetcode/solution/src/EvaluateReversePolishNotation.java index bd85961..6f0cf07 100644 --- a/solution/src/main/java/com/inuker/solution/EvaluateReversePolishNotation.java +++ b/leetcode/solution/src/EvaluateReversePolishNotation.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/ExcelSheetColumnNumber.java b/leetcode/solution/src/ExcelSheetColumnNumber.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/ExcelSheetColumnNumber.java rename to leetcode/solution/src/ExcelSheetColumnNumber.java index 26fb5cd..56a0ebf 100644 --- a/solution/src/main/java/com/inuker/solution/ExcelSheetColumnNumber.java +++ b/leetcode/solution/src/ExcelSheetColumnNumber.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/ExcelSheetColumnTitle.java b/leetcode/solution/src/ExcelSheetColumnTitle.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/ExcelSheetColumnTitle.java rename to leetcode/solution/src/ExcelSheetColumnTitle.java index a5ea8eb..a7f2d28 100644 --- a/solution/src/main/java/com/inuker/solution/ExcelSheetColumnTitle.java +++ b/leetcode/solution/src/ExcelSheetColumnTitle.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/ExpressionAddOperators.java b/leetcode/solution/src/ExpressionAddOperators.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/ExpressionAddOperators.java rename to leetcode/solution/src/ExpressionAddOperators.java index 58e79c1..baf3bb2 100644 --- a/solution/src/main/java/com/inuker/solution/ExpressionAddOperators.java +++ b/leetcode/solution/src/ExpressionAddOperators.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FactorCombinations.java b/leetcode/solution/src/FactorCombinations.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/FactorCombinations.java rename to leetcode/solution/src/FactorCombinations.java index c6ac34c..b747508 100644 --- a/solution/src/main/java/com/inuker/solution/FactorCombinations.java +++ b/leetcode/solution/src/FactorCombinations.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FactorialTrailingZeroes.java b/leetcode/solution/src/FactorialTrailingZeroes.java similarity index 87% rename from solution/src/main/java/com/inuker/solution/FactorialTrailingZeroes.java rename to leetcode/solution/src/FactorialTrailingZeroes.java index d0beb44..5ed6083 100644 --- a/solution/src/main/java/com/inuker/solution/FactorialTrailingZeroes.java +++ b/leetcode/solution/src/FactorialTrailingZeroes.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/7. */ diff --git a/solution/src/main/java/com/inuker/solution/FindAllAnagramsInString.java b/leetcode/solution/src/FindAllAnagramsInString.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/FindAllAnagramsInString.java rename to leetcode/solution/src/FindAllAnagramsInString.java index 63c7aa4..0e39b5f 100644 --- a/solution/src/main/java/com/inuker/solution/FindAllAnagramsInString.java +++ b/leetcode/solution/src/FindAllAnagramsInString.java @@ -1,7 +1,4 @@ -package com.inuker.solution; - import java.util.ArrayList; -import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FindAllDuplicatesInAnArray.java b/leetcode/solution/src/FindAllDuplicatesInAnArray.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/FindAllDuplicatesInAnArray.java rename to leetcode/solution/src/FindAllDuplicatesInAnArray.java index 85961b4..f66277a 100644 --- a/solution/src/main/java/com/inuker/solution/FindAllDuplicatesInAnArray.java +++ b/leetcode/solution/src/FindAllDuplicatesInAnArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FindAllNumbersDisappearedInAnArray.java b/leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/FindAllNumbersDisappearedInAnArray.java rename to leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java index 0269e8d..ac911d1 100644 --- a/solution/src/main/java/com/inuker/solution/FindAllNumbersDisappearedInAnArray.java +++ b/leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FindBottomLeftTreeValue.java b/leetcode/solution/src/FindBottomLeftTreeValue.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/FindBottomLeftTreeValue.java rename to leetcode/solution/src/FindBottomLeftTreeValue.java index dc12267..8130cc1 100644 --- a/solution/src/main/java/com/inuker/solution/FindBottomLeftTreeValue.java +++ b/leetcode/solution/src/FindBottomLeftTreeValue.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/FindCelebrity.java b/leetcode/solution/src/FindCelebrity.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/FindCelebrity.java rename to leetcode/solution/src/FindCelebrity.java index 18ebcf7..c9dc7e6 100644 --- a/solution/src/main/java/com/inuker/solution/FindCelebrity.java +++ b/leetcode/solution/src/FindCelebrity.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/20. */ diff --git a/solution/src/main/java/com/inuker/solution/FindDuplicateSubtrees.java b/leetcode/solution/src/FindDuplicateSubtrees.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/FindDuplicateSubtrees.java rename to leetcode/solution/src/FindDuplicateSubtrees.java index e353480..b3cf5d6 100644 --- a/solution/src/main/java/com/inuker/solution/FindDuplicateSubtrees.java +++ b/leetcode/solution/src/FindDuplicateSubtrees.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FindKPairsWithSmallestSums.java b/leetcode/solution/src/FindKPairsWithSmallestSums.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/FindKPairsWithSmallestSums.java rename to leetcode/solution/src/FindKPairsWithSmallestSums.java index dad9523..7a1bdeb 100644 --- a/solution/src/main/java/com/inuker/solution/FindKPairsWithSmallestSums.java +++ b/leetcode/solution/src/FindKPairsWithSmallestSums.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; import java.util.PriorityQueue; diff --git a/solution/src/main/java/com/inuker/solution/FindLargestValueInEachTreeRow.java b/leetcode/solution/src/FindLargestValueInEachTreeRow.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/FindLargestValueInEachTreeRow.java rename to leetcode/solution/src/FindLargestValueInEachTreeRow.java index 4fd1361..51df877 100644 --- a/solution/src/main/java/com/inuker/solution/FindLargestValueInEachTreeRow.java +++ b/leetcode/solution/src/FindLargestValueInEachTreeRow.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/FindLeavesOfBinaryTree.java b/leetcode/solution/src/FindLeavesOfBinaryTree.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/FindLeavesOfBinaryTree.java rename to leetcode/solution/src/FindLeavesOfBinaryTree.java index b14a9df..33164bf 100644 --- a/solution/src/main/java/com/inuker/solution/FindLeavesOfBinaryTree.java +++ b/leetcode/solution/src/FindLeavesOfBinaryTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FindMedianFromDataStream.java b/leetcode/solution/src/FindMedianFromDataStream.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/FindMedianFromDataStream.java rename to leetcode/solution/src/FindMedianFromDataStream.java index 75b5ec5..4cca2de 100644 --- a/solution/src/main/java/com/inuker/solution/FindMedianFromDataStream.java +++ b/leetcode/solution/src/FindMedianFromDataStream.java @@ -1,6 +1,3 @@ -package com.inuker.solution; - -import java.util.Collections; import java.util.Comparator; import java.util.PriorityQueue; diff --git a/solution/src/main/java/com/inuker/solution/FindMinimumInRotatedSortedArray.java b/leetcode/solution/src/FindMinimumInRotatedSortedArray.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/FindMinimumInRotatedSortedArray.java rename to leetcode/solution/src/FindMinimumInRotatedSortedArray.java index 98145ac..80e9a7c 100644 --- a/solution/src/main/java/com/inuker/solution/FindMinimumInRotatedSortedArray.java +++ b/leetcode/solution/src/FindMinimumInRotatedSortedArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/FindMinimumInRotatedSortedArrayII.java b/leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/FindMinimumInRotatedSortedArrayII.java rename to leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java index 7944bfe..f11c067 100644 --- a/solution/src/main/java/com/inuker/solution/FindMinimumInRotatedSortedArrayII.java +++ b/leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/FindModeInBinarySearchTree.java b/leetcode/solution/src/FindModeInBinarySearchTree.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/FindModeInBinarySearchTree.java rename to leetcode/solution/src/FindModeInBinarySearchTree.java index 9cca839..befd60b 100644 --- a/solution/src/main/java/com/inuker/solution/FindModeInBinarySearchTree.java +++ b/leetcode/solution/src/FindModeInBinarySearchTree.java @@ -1,8 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - -import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FindPeakElement.java b/leetcode/solution/src/FindPeakElement.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/FindPeakElement.java rename to leetcode/solution/src/FindPeakElement.java index c868529..d220e7e 100644 --- a/solution/src/main/java/com/inuker/solution/FindPeakElement.java +++ b/leetcode/solution/src/FindPeakElement.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/FindRightInterval.java b/leetcode/solution/src/FindRightInterval.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/FindRightInterval.java rename to leetcode/solution/src/FindRightInterval.java index 8f2ee9a..2445b7d 100644 --- a/solution/src/main/java/com/inuker/solution/FindRightInterval.java +++ b/leetcode/solution/src/FindRightInterval.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.Interval; - import java.util.Map; import java.util.TreeMap; diff --git a/solution/src/main/java/com/inuker/solution/FindTheDuplicateNumber.java b/leetcode/solution/src/FindTheDuplicateNumber.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/FindTheDuplicateNumber.java rename to leetcode/solution/src/FindTheDuplicateNumber.java index 72ad9e1..ead08f3 100644 --- a/solution/src/main/java/com/inuker/solution/FindTheDuplicateNumber.java +++ b/leetcode/solution/src/FindTheDuplicateNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/FirstBadVersion.java b/leetcode/solution/src/FirstBadVersion.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/FirstBadVersion.java rename to leetcode/solution/src/FirstBadVersion.java index d42389e..4a48a0a 100644 --- a/solution/src/main/java/com/inuker/solution/FirstBadVersion.java +++ b/leetcode/solution/src/FirstBadVersion.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/19. */ diff --git a/solution/src/main/java/com/inuker/solution/FirstMissingPositive.java b/leetcode/solution/src/FirstMissingPositive.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/FirstMissingPositive.java rename to leetcode/solution/src/FirstMissingPositive.java index 4a72ea4..cd9a712 100644 --- a/solution/src/main/java/com/inuker/solution/FirstMissingPositive.java +++ b/leetcode/solution/src/FirstMissingPositive.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/5/11. */ diff --git a/solution/src/main/java/com/inuker/solution/FirstUniqueCharacterInAString.java b/leetcode/solution/src/FirstUniqueCharacterInAString.java similarity index 88% rename from solution/src/main/java/com/inuker/solution/FirstUniqueCharacterInAString.java rename to leetcode/solution/src/FirstUniqueCharacterInAString.java index ada2ebf..0d778e3 100644 --- a/solution/src/main/java/com/inuker/solution/FirstUniqueCharacterInAString.java +++ b/leetcode/solution/src/FirstUniqueCharacterInAString.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import java.util.Arrays; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/FizzBuzz.java b/leetcode/solution/src/FizzBuzz.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/FizzBuzz.java rename to leetcode/solution/src/FizzBuzz.java index 34cb0b6..a85b066 100644 --- a/solution/src/main/java/com/inuker/solution/FizzBuzz.java +++ b/leetcode/solution/src/FizzBuzz.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FlattenBinaryTreeToLinkedList.java b/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/FlattenBinaryTreeToLinkedList.java rename to leetcode/solution/src/FlattenBinaryTreeToLinkedList.java index 53b2985..b8f816e 100644 --- a/solution/src/main/java/com/inuker/solution/FlattenBinaryTreeToLinkedList.java +++ b/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.ArrayList; import java.util.List; import java.util.Stack; diff --git a/solution/src/main/java/com/inuker/solution/FlattenNestedListIterator.java b/leetcode/solution/src/FlattenNestedListIterator.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/FlattenNestedListIterator.java rename to leetcode/solution/src/FlattenNestedListIterator.java index 56c4bff..56d1053 100644 --- a/solution/src/main/java/com/inuker/solution/FlattenNestedListIterator.java +++ b/leetcode/solution/src/FlattenNestedListIterator.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.NestedInteger; - import java.util.Iterator; import java.util.List; import java.util.Stack; diff --git a/solution/src/main/java/com/inuker/solution/FlipGame.java b/leetcode/solution/src/FlipGame.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/FlipGame.java rename to leetcode/solution/src/FlipGame.java index 472b455..d75404b 100644 --- a/solution/src/main/java/com/inuker/solution/FlipGame.java +++ b/leetcode/solution/src/FlipGame.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/FlipGameII.java b/leetcode/solution/src/FlipGameII.java similarity index 86% rename from solution/src/main/java/com/inuker/solution/FlipGameII.java rename to leetcode/solution/src/FlipGameII.java index 97f56a7..a236d74 100644 --- a/solution/src/main/java/com/inuker/solution/FlipGameII.java +++ b/leetcode/solution/src/FlipGameII.java @@ -1,8 +1,3 @@ -package com.inuker.solution; - -import java.util.LinkedList; -import java.util.List; - /** * Created by liwentian on 2017/9/6. */ diff --git a/solution/src/main/java/com/inuker/solution/FourSum.java b/leetcode/solution/src/FourSum.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/FourSum.java rename to leetcode/solution/src/FourSum.java index 2225598..26e6bc8 100644 --- a/solution/src/main/java/com/inuker/solution/FourSum.java +++ b/leetcode/solution/src/FourSum.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/GameOfLife.java b/leetcode/solution/src/GameOfLife.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/GameOfLife.java rename to leetcode/solution/src/GameOfLife.java index ebaca62..ceec444 100644 --- a/solution/src/main/java/com/inuker/solution/GameOfLife.java +++ b/leetcode/solution/src/GameOfLife.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/GeneralizedAbbreviation.java b/leetcode/solution/src/GeneralizedAbbreviation.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/GeneralizedAbbreviation.java rename to leetcode/solution/src/GeneralizedAbbreviation.java index ccc62bc..1458659 100644 --- a/solution/src/main/java/com/inuker/solution/GeneralizedAbbreviation.java +++ b/leetcode/solution/src/GeneralizedAbbreviation.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/GenerateParentheses.java b/leetcode/solution/src/GenerateParentheses.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/GenerateParentheses.java rename to leetcode/solution/src/GenerateParentheses.java index a40c139..f8a091b 100644 --- a/solution/src/main/java/com/inuker/solution/GenerateParentheses.java +++ b/leetcode/solution/src/GenerateParentheses.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/GraphValidTree.java b/leetcode/solution/src/GraphValidTree.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/GraphValidTree.java rename to leetcode/solution/src/GraphValidTree.java index ab388a9..2a5c315 100644 --- a/solution/src/main/java/com/inuker/solution/GraphValidTree.java +++ b/leetcode/solution/src/GraphValidTree.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/1/2. *

@@ -16,12 +14,7 @@ * 题目中已声明不会有重复的边,类似[0,1]和[1,0]认为是重复的,也不会同时存在 */ -import java.util.ArrayList; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; -import java.util.Set; +import java.util.*; /** * 这题就是给了一堆边,看这些边构成的无向图会不会有环,另外这些边是不是都连在一起的 diff --git a/solution/src/main/java/com/inuker/solution/GrayCode.java b/leetcode/solution/src/GrayCode.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/GrayCode.java rename to leetcode/solution/src/GrayCode.java index c5a1b6e..0b7f369 100644 --- a/solution/src/main/java/com/inuker/solution/GrayCode.java +++ b/leetcode/solution/src/GrayCode.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/GroupAnagrams.java b/leetcode/solution/src/GroupAnagrams.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/GroupAnagrams.java rename to leetcode/solution/src/GroupAnagrams.java index 0253be2..e3061ca 100644 --- a/solution/src/main/java/com/inuker/solution/GroupAnagrams.java +++ b/leetcode/solution/src/GroupAnagrams.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.HashMap; import java.util.LinkedList; diff --git a/solution/src/main/java/com/inuker/solution/GroupShiftedStrings.java b/leetcode/solution/src/GroupShiftedStrings.java similarity index 86% rename from solution/src/main/java/com/inuker/solution/GroupShiftedStrings.java rename to leetcode/solution/src/GroupShiftedStrings.java index 3d2877e..793565f 100644 --- a/solution/src/main/java/com/inuker/solution/GroupShiftedStrings.java +++ b/leetcode/solution/src/GroupShiftedStrings.java @@ -1,10 +1,4 @@ -package com.inuker.solution; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by liwentian on 2017/12/9. diff --git a/solution/src/main/java/com/inuker/solution/GuessNumberHigherOrLower.java b/leetcode/solution/src/GuessNumberHigherOrLower.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/GuessNumberHigherOrLower.java rename to leetcode/solution/src/GuessNumberHigherOrLower.java index 8902f74..e137cd3 100644 --- a/solution/src/main/java/com/inuker/solution/GuessNumberHigherOrLower.java +++ b/leetcode/solution/src/GuessNumberHigherOrLower.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/GuessNumberHigherOrLowerII.java b/leetcode/solution/src/GuessNumberHigherOrLowerII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/GuessNumberHigherOrLowerII.java rename to leetcode/solution/src/GuessNumberHigherOrLowerII.java index 1757aed..983c727 100644 --- a/solution/src/main/java/com/inuker/solution/GuessNumberHigherOrLowerII.java +++ b/leetcode/solution/src/GuessNumberHigherOrLowerII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/HIndex.java b/leetcode/solution/src/HIndex.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/HIndex.java rename to leetcode/solution/src/HIndex.java index c519f2d..2b22d9b 100644 --- a/solution/src/main/java/com/inuker/solution/HIndex.java +++ b/leetcode/solution/src/HIndex.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/HIndexII.java b/leetcode/solution/src/HIndexII.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/HIndexII.java rename to leetcode/solution/src/HIndexII.java index 994e1a5..c45cc96 100644 --- a/solution/src/main/java/com/inuker/solution/HIndexII.java +++ b/leetcode/solution/src/HIndexII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/HammingDistance.java b/leetcode/solution/src/HammingDistance.java similarity index 88% rename from solution/src/main/java/com/inuker/solution/HammingDistance.java rename to leetcode/solution/src/HammingDistance.java index 1803ee6..5c1809a 100644 --- a/solution/src/main/java/com/inuker/solution/HammingDistance.java +++ b/leetcode/solution/src/HammingDistance.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/1/7. */ diff --git a/solution/src/main/java/com/inuker/solution/HouseRobber.java b/leetcode/solution/src/HouseRobber.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/HouseRobber.java rename to leetcode/solution/src/HouseRobber.java index 58ccaf9..88e0ce9 100644 --- a/solution/src/main/java/com/inuker/solution/HouseRobber.java +++ b/leetcode/solution/src/HouseRobber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/1. */ diff --git a/solution/src/main/java/com/inuker/solution/HouseRobberII.java b/leetcode/solution/src/HouseRobberII.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/HouseRobberII.java rename to leetcode/solution/src/HouseRobberII.java index 479a6e3..4358665 100644 --- a/solution/src/main/java/com/inuker/solution/HouseRobberII.java +++ b/leetcode/solution/src/HouseRobberII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/HouseRobberIII.java b/leetcode/solution/src/HouseRobberIII.java similarity index 89% rename from solution/src/main/java/com/inuker/solution/HouseRobberIII.java rename to leetcode/solution/src/HouseRobberIII.java index d785739..a9e17a6 100644 --- a/solution/src/main/java/com/inuker/solution/HouseRobberIII.java +++ b/leetcode/solution/src/HouseRobberIII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 16/12/1. */ diff --git a/solution/src/main/java/com/inuker/solution/IncreasingTripletSubsequence.java b/leetcode/solution/src/IncreasingTripletSubsequence.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/IncreasingTripletSubsequence.java rename to leetcode/solution/src/IncreasingTripletSubsequence.java index f2e6528..715f361 100644 --- a/solution/src/main/java/com/inuker/solution/IncreasingTripletSubsequence.java +++ b/leetcode/solution/src/IncreasingTripletSubsequence.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/InorderSuccessorInBST.java b/leetcode/solution/src/InorderSuccessorInBST.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/InorderSuccessorInBST.java rename to leetcode/solution/src/InorderSuccessorInBST.java index af0cff9..3918feb 100644 --- a/solution/src/main/java/com/inuker/solution/InorderSuccessorInBST.java +++ b/leetcode/solution/src/InorderSuccessorInBST.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; import java.util.Stack; diff --git a/solution/src/main/java/com/inuker/solution/InsertDeleteGetRandom.java b/leetcode/solution/src/InsertDeleteGetRandom.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/InsertDeleteGetRandom.java rename to leetcode/solution/src/InsertDeleteGetRandom.java index 6404809..8e8857e 100644 --- a/solution/src/main/java/com/inuker/solution/InsertDeleteGetRandom.java +++ b/leetcode/solution/src/InsertDeleteGetRandom.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/InsertDeleteGetRandomII.java b/leetcode/solution/src/InsertDeleteGetRandomII.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/InsertDeleteGetRandomII.java rename to leetcode/solution/src/InsertDeleteGetRandomII.java index c3bf840..34dcc8c 100644 --- a/solution/src/main/java/com/inuker/solution/InsertDeleteGetRandomII.java +++ b/leetcode/solution/src/InsertDeleteGetRandomII.java @@ -1,11 +1,4 @@ -package com.inuker.solution; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Random; -import java.util.Vector; +import java.util.*; /** * Created by dingjikerbo on 2016/12/17. diff --git a/solution/src/main/java/com/inuker/solution/InsertInterval.java b/leetcode/solution/src/InsertInterval.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/InsertInterval.java rename to leetcode/solution/src/InsertInterval.java index 3b46189..280d1be 100644 --- a/solution/src/main/java/com/inuker/solution/InsertInterval.java +++ b/leetcode/solution/src/InsertInterval.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.Interval; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/InsertionSortList.java b/leetcode/solution/src/InsertionSortList.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/InsertionSortList.java rename to leetcode/solution/src/InsertionSortList.java index 4aab3b9..f4497be 100644 --- a/solution/src/main/java/com/inuker/solution/InsertionSortList.java +++ b/leetcode/solution/src/InsertionSortList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by liwentian on 2017/9/11. */ diff --git a/solution/src/main/java/com/inuker/solution/IntegerToEnglishWords.java b/leetcode/solution/src/IntegerToEnglishWords.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/IntegerToEnglishWords.java rename to leetcode/solution/src/IntegerToEnglishWords.java index 9d892b2..1615fa2 100644 --- a/solution/src/main/java/com/inuker/solution/IntegerToEnglishWords.java +++ b/leetcode/solution/src/IntegerToEnglishWords.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/19. */ diff --git a/solution/src/main/java/com/inuker/solution/IntegerToRoman.java b/leetcode/solution/src/IntegerToRoman.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/IntegerToRoman.java rename to leetcode/solution/src/IntegerToRoman.java index 27d661e..cc81468 100644 --- a/solution/src/main/java/com/inuker/solution/IntegerToRoman.java +++ b/leetcode/solution/src/IntegerToRoman.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/IntersectionOfTwoArrays.java b/leetcode/solution/src/IntersectionOfTwoArrays.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/IntersectionOfTwoArrays.java rename to leetcode/solution/src/IntersectionOfTwoArrays.java index 0721cf4..cdd681a 100644 --- a/solution/src/main/java/com/inuker/solution/IntersectionOfTwoArrays.java +++ b/leetcode/solution/src/IntersectionOfTwoArrays.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.HashSet; import java.util.Set; diff --git a/solution/src/main/java/com/inuker/solution/IntersectionOfTwoArraysII.java b/leetcode/solution/src/IntersectionOfTwoArraysII.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/IntersectionOfTwoArraysII.java rename to leetcode/solution/src/IntersectionOfTwoArraysII.java index 3dda626..479b814 100644 --- a/solution/src/main/java/com/inuker/solution/IntersectionOfTwoArraysII.java +++ b/leetcode/solution/src/IntersectionOfTwoArraysII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.HashMap; diff --git a/solution/src/main/java/com/inuker/solution/IntersectionOfTwoLinkedLists.java b/leetcode/solution/src/IntersectionOfTwoLinkedLists.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/IntersectionOfTwoLinkedLists.java rename to leetcode/solution/src/IntersectionOfTwoLinkedLists.java index 2ad7edb..f1f5661 100644 --- a/solution/src/main/java/com/inuker/solution/IntersectionOfTwoLinkedLists.java +++ b/leetcode/solution/src/IntersectionOfTwoLinkedLists.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjiekrbo on 2016/11/17. * https://leetcode.com/articles/intersection-two-linked-lists/ diff --git a/solution/src/main/java/com/inuker/solution/InvertBinaryTree.java b/leetcode/solution/src/InvertBinaryTree.java similarity index 75% rename from solution/src/main/java/com/inuker/solution/InvertBinaryTree.java rename to leetcode/solution/src/InvertBinaryTree.java index 0e763f1..4a61130 100644 --- a/solution/src/main/java/com/inuker/solution/InvertBinaryTree.java +++ b/leetcode/solution/src/InvertBinaryTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.Queue; @@ -11,20 +7,10 @@ /** * 给非递归法也要会写 + * 核心思路就是访问所有的节点,将其左右节点交换,可以采用递归,也可以BFS */ public class InvertBinaryTree { - /** 错误的写法,写顺手了 - public TreeNode invertTree(TreeNode root) { - if (root == null) { - return null; - } - - root.right = invertTree(root.left); - root.left = invertTree(root.right); - return root; - }*/ - public TreeNode invertTree(TreeNode root) { if (root == null) { return null; diff --git a/solution/src/main/java/com/inuker/solution/JumpGame.java b/leetcode/solution/src/JumpGame.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/JumpGame.java rename to leetcode/solution/src/JumpGame.java index a91d60b..0aefc17 100644 --- a/solution/src/main/java/com/inuker/solution/JumpGame.java +++ b/leetcode/solution/src/JumpGame.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/5/11. */ diff --git a/solution/src/main/java/com/inuker/solution/JumpGameII.java b/leetcode/solution/src/JumpGameII.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/JumpGameII.java rename to leetcode/solution/src/JumpGameII.java index c2213d7..b23aa96 100644 --- a/solution/src/main/java/com/inuker/solution/JumpGameII.java +++ b/leetcode/solution/src/JumpGameII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2017/5/20. */ diff --git a/solution/src/main/java/com/inuker/solution/KthLargestElementInArray.java b/leetcode/solution/src/KthLargestElementInArray.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/KthLargestElementInArray.java rename to leetcode/solution/src/KthLargestElementInArray.java index 288d2dc..451a25f 100644 --- a/solution/src/main/java/com/inuker/solution/KthLargestElementInArray.java +++ b/leetcode/solution/src/KthLargestElementInArray.java @@ -1,8 +1,5 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.PriorityQueue; -import java.util.Queue; /** * Created by dingjikerbo on 2016/11/17. diff --git a/solution/src/main/java/com/inuker/solution/KthSmallestElementInASortedMatrix.java b/leetcode/solution/src/KthSmallestElementInASortedMatrix.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/KthSmallestElementInASortedMatrix.java rename to leetcode/solution/src/KthSmallestElementInASortedMatrix.java index e176d07..2fe3fcc 100644 --- a/solution/src/main/java/com/inuker/solution/KthSmallestElementInASortedMatrix.java +++ b/leetcode/solution/src/KthSmallestElementInASortedMatrix.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.PriorityQueue; /** diff --git a/solution/src/main/java/com/inuker/solution/KthSmallestElementInBST.java b/leetcode/solution/src/KthSmallestElementInBST.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/KthSmallestElementInBST.java rename to leetcode/solution/src/KthSmallestElementInBST.java index 488a1ff..057dd12 100644 --- a/solution/src/main/java/com/inuker/solution/KthSmallestElementInBST.java +++ b/leetcode/solution/src/KthSmallestElementInBST.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/LFUCache.java b/leetcode/solution/src/LFUCache.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/LFUCache.java rename to leetcode/solution/src/LFUCache.java index 797cff6..e69d6b5 100644 --- a/solution/src/main/java/com/inuker/solution/LFUCache.java +++ b/leetcode/solution/src/LFUCache.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; import java.util.LinkedHashSet; diff --git a/solution/src/main/java/com/inuker/solution/LargestBSTSubtree.java b/leetcode/solution/src/LargestBSTSubtree.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/LargestBSTSubtree.java rename to leetcode/solution/src/LargestBSTSubtree.java index 3df7a17..6930947 100644 --- a/solution/src/main/java/com/inuker/solution/LargestBSTSubtree.java +++ b/leetcode/solution/src/LargestBSTSubtree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 16/12/3. */ diff --git a/solution/src/main/java/com/inuker/solution/LargestNumber.java b/leetcode/solution/src/LargestNumber.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/LargestNumber.java rename to leetcode/solution/src/LargestNumber.java index 1e0f9f6..232900f 100644 --- a/solution/src/main/java/com/inuker/solution/LargestNumber.java +++ b/leetcode/solution/src/LargestNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.Comparator; diff --git a/solution/src/main/java/com/inuker/solution/LargestRectangleInHistogram.java b/leetcode/solution/src/LargestRectangleInHistogram.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/LargestRectangleInHistogram.java rename to leetcode/solution/src/LargestRectangleInHistogram.java index 47f3d94..056646f 100644 --- a/solution/src/main/java/com/inuker/solution/LargestRectangleInHistogram.java +++ b/leetcode/solution/src/LargestRectangleInHistogram.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/LetterCombinationOfPhoneNumber.java b/leetcode/solution/src/LetterCombinationOfPhoneNumber.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/LetterCombinationOfPhoneNumber.java rename to leetcode/solution/src/LetterCombinationOfPhoneNumber.java index 3392e1c..336a536 100644 --- a/solution/src/main/java/com/inuker/solution/LetterCombinationOfPhoneNumber.java +++ b/leetcode/solution/src/LetterCombinationOfPhoneNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/LicenseKeyFormatting.java b/leetcode/solution/src/LicenseKeyFormatting.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/LicenseKeyFormatting.java rename to leetcode/solution/src/LicenseKeyFormatting.java index 6b721b8..ac1b04b 100644 --- a/solution/src/main/java/com/inuker/solution/LicenseKeyFormatting.java +++ b/leetcode/solution/src/LicenseKeyFormatting.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 17/8/26. */ diff --git a/solution/src/main/java/com/inuker/solution/LinkedListCycle.java b/leetcode/solution/src/LinkedListCycle.java similarity index 86% rename from solution/src/main/java/com/inuker/solution/LinkedListCycle.java rename to leetcode/solution/src/LinkedListCycle.java index e1cee81..83e38d4 100644 --- a/solution/src/main/java/com/inuker/solution/LinkedListCycle.java +++ b/leetcode/solution/src/LinkedListCycle.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 2016/11/17. * https://leetcode.com/articles/linked-list-cycle/ diff --git a/solution/src/main/java/com/inuker/solution/LinkedListCycleII.java b/leetcode/solution/src/LinkedListCycleII.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/LinkedListCycleII.java rename to leetcode/solution/src/LinkedListCycleII.java index 8fe19d7..9ecc538 100644 --- a/solution/src/main/java/com/inuker/solution/LinkedListCycleII.java +++ b/leetcode/solution/src/LinkedListCycleII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by liwentian on 2017/9/11. */ diff --git a/solution/src/main/java/com/inuker/solution/LinkedListRandomNode.java b/leetcode/solution/src/LinkedListRandomNode.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/LinkedListRandomNode.java rename to leetcode/solution/src/LinkedListRandomNode.java index 02d1fcb..2d0419b 100644 --- a/solution/src/main/java/com/inuker/solution/LinkedListRandomNode.java +++ b/leetcode/solution/src/LinkedListRandomNode.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - import java.util.Random; /** diff --git a/solution/src/main/java/com/inuker/solution/LoggerRateLimiter.java b/leetcode/solution/src/LoggerRateLimiter.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/LoggerRateLimiter.java rename to leetcode/solution/src/LoggerRateLimiter.java index 8aab161..bd13d7c 100644 --- a/solution/src/main/java/com/inuker/solution/LoggerRateLimiter.java +++ b/leetcode/solution/src/LoggerRateLimiter.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Comparator; import java.util.HashMap; import java.util.PriorityQueue; diff --git a/solution/src/main/java/com/inuker/solution/LongestAbsoluteFilePath.java b/leetcode/solution/src/LongestAbsoluteFilePath.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/LongestAbsoluteFilePath.java rename to leetcode/solution/src/LongestAbsoluteFilePath.java index 6aa74fe..74d51f0 100644 --- a/solution/src/main/java/com/inuker/solution/LongestAbsoluteFilePath.java +++ b/leetcode/solution/src/LongestAbsoluteFilePath.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import java.util.ArrayDeque; -import java.util.Deque; import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/LongestCommonPrefix.java b/leetcode/solution/src/LongestCommonPrefix.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/LongestCommonPrefix.java rename to leetcode/solution/src/LongestCommonPrefix.java index 4996559..a5f8b5f 100644 --- a/solution/src/main/java/com/inuker/solution/LongestCommonPrefix.java +++ b/leetcode/solution/src/LongestCommonPrefix.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/5/2. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestConsecutiveSequence.java b/leetcode/solution/src/LongestConsecutiveSequence.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/LongestConsecutiveSequence.java rename to leetcode/solution/src/LongestConsecutiveSequence.java index 7ea27cb..a60973e 100644 --- a/solution/src/main/java/com/inuker/solution/LongestConsecutiveSequence.java +++ b/leetcode/solution/src/LongestConsecutiveSequence.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; /** diff --git a/solution/src/main/java/com/inuker/solution/LongestIncreasingPathInAMatrix.java b/leetcode/solution/src/LongestIncreasingPathInAMatrix.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/LongestIncreasingPathInAMatrix.java rename to leetcode/solution/src/LongestIncreasingPathInAMatrix.java index 4af1f18..c4c021e 100644 --- a/solution/src/main/java/com/inuker/solution/LongestIncreasingPathInAMatrix.java +++ b/leetcode/solution/src/LongestIncreasingPathInAMatrix.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/1. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestIncreasingSubsequence.java b/leetcode/solution/src/LongestIncreasingSubsequence.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/LongestIncreasingSubsequence.java rename to leetcode/solution/src/LongestIncreasingSubsequence.java index 34a886e..f030f15 100644 --- a/solution/src/main/java/com/inuker/solution/LongestIncreasingSubsequence.java +++ b/leetcode/solution/src/LongestIncreasingSubsequence.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/LongestPalindrome.java b/leetcode/solution/src/LongestPalindrome.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/LongestPalindrome.java rename to leetcode/solution/src/LongestPalindrome.java index 7e2224c..5bd750d 100644 --- a/solution/src/main/java/com/inuker/solution/LongestPalindrome.java +++ b/leetcode/solution/src/LongestPalindrome.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/19. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestPalindromicSubstring.java b/leetcode/solution/src/LongestPalindromicSubstring.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/LongestPalindromicSubstring.java rename to leetcode/solution/src/LongestPalindromicSubstring.java index 1217e54..59ce58c 100644 --- a/solution/src/main/java/com/inuker/solution/LongestPalindromicSubstring.java +++ b/leetcode/solution/src/LongestPalindromicSubstring.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtLeastKRepeatingCharacters.java b/leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/LongestSubstringWithAtLeastKRepeatingCharacters.java rename to leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java index 3da934b..14bf2e6 100644 --- a/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtLeastKRepeatingCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/27. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtMostKDistinctCharacters.java b/leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/LongestSubstringWithAtMostKDistinctCharacters.java rename to leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java index f8d46e3..c1641c1 100644 --- a/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtMostKDistinctCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import java.util.HashMap; - /** * Created by dingjikerbo on 16/11/27. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtMostTwoDistinctCharacters.java b/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/LongestSubstringWithAtMostTwoDistinctCharacters.java rename to leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java index 24e48b7..6205949 100644 --- a/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtMostTwoDistinctCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import java.util.HashMap; - /** * Created by dingjikerbo on 16/11/27. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestSubstringWithoutRepeatingCharacters.java b/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/LongestSubstringWithoutRepeatingCharacters.java rename to leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java index 4465e72..eb41cb0 100644 --- a/solution/src/main/java/com/inuker/solution/LongestSubstringWithoutRepeatingCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestValidParentheses.java b/leetcode/solution/src/LongestValidParentheses.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/LongestValidParentheses.java rename to leetcode/solution/src/LongestValidParentheses.java index e6789ca..25924ce 100644 --- a/solution/src/main/java/com/inuker/solution/LongestValidParentheses.java +++ b/leetcode/solution/src/LongestValidParentheses.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/LongestWordInDictionaryThroughDeleting.java b/leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/LongestWordInDictionaryThroughDeleting.java rename to leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java index 1a492c8..defeb53 100644 --- a/solution/src/main/java/com/inuker/solution/LongestWordInDictionaryThroughDeleting.java +++ b/leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.List; /** diff --git a/solution/src/main/java/com/inuker/solution/LowestCommonAncestorOfBinarySearchTree.java b/leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/LowestCommonAncestorOfBinarySearchTree.java rename to leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java index 8b58c0d..942c30d 100644 --- a/solution/src/main/java/com/inuker/solution/LowestCommonAncestorOfBinarySearchTree.java +++ b/leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/LowestCommonAncestorOfBinaryTree.java b/leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/LowestCommonAncestorOfBinaryTree.java rename to leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java index 13ca994..5a4cba0 100644 --- a/solution/src/main/java/com/inuker/solution/LowestCommonAncestorOfBinaryTree.java +++ b/leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java @@ -1,12 +1,4 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.Queue; -import java.util.Set; +import java.util.*; /** * Created by dingjikerbo on 2016/11/16. diff --git a/solution/src/main/java/com/inuker/solution/MajorityElement.java b/leetcode/solution/src/MajorityElement.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/MajorityElement.java rename to leetcode/solution/src/MajorityElement.java index f9c00cb..cddd97c 100644 --- a/solution/src/main/java/com/inuker/solution/MajorityElement.java +++ b/leetcode/solution/src/MajorityElement.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/MajorityElementII.java b/leetcode/solution/src/MajorityElementII.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/MajorityElementII.java rename to leetcode/solution/src/MajorityElementII.java index a7496b8..83f06e4 100644 --- a/solution/src/main/java/com/inuker/solution/MajorityElementII.java +++ b/leetcode/solution/src/MajorityElementII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/MaxConsecutiveOnes.java b/leetcode/solution/src/MaxConsecutiveOnes.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/MaxConsecutiveOnes.java rename to leetcode/solution/src/MaxConsecutiveOnes.java index d9215dd..b6d7b3c 100644 --- a/solution/src/main/java/com/inuker/solution/MaxConsecutiveOnes.java +++ b/leetcode/solution/src/MaxConsecutiveOnes.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/MaxConsecutiveOnesII.java b/leetcode/solution/src/MaxConsecutiveOnesII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/MaxConsecutiveOnesII.java rename to leetcode/solution/src/MaxConsecutiveOnesII.java index a3b7867..7593d85 100644 --- a/solution/src/main/java/com/inuker/solution/MaxConsecutiveOnesII.java +++ b/leetcode/solution/src/MaxConsecutiveOnesII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/MaxPointsOnALine.java b/leetcode/solution/src/MaxPointsOnALine.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/MaxPointsOnALine.java rename to leetcode/solution/src/MaxPointsOnALine.java index c2b6ac4..8db03c1 100644 --- a/solution/src/main/java/com/inuker/solution/MaxPointsOnALine.java +++ b/leetcode/solution/src/MaxPointsOnALine.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.awt.Point; import java.util.HashMap; diff --git a/solution/src/main/java/com/inuker/solution/MaximalRectangle.java b/leetcode/solution/src/MaximalRectangle.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/MaximalRectangle.java rename to leetcode/solution/src/MaximalRectangle.java index 053904d..0c93aca 100644 --- a/solution/src/main/java/com/inuker/solution/MaximalRectangle.java +++ b/leetcode/solution/src/MaximalRectangle.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/MaximalSquare.java b/leetcode/solution/src/MaximalSquare.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/MaximalSquare.java rename to leetcode/solution/src/MaximalSquare.java index 7558aee..6709513 100644 --- a/solution/src/main/java/com/inuker/solution/MaximalSquare.java +++ b/leetcode/solution/src/MaximalSquare.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/MaximumDepthOfBinaryTree.java b/leetcode/solution/src/MaximumDepthOfBinaryTree.java similarity index 67% rename from solution/src/main/java/com/inuker/solution/MaximumDepthOfBinaryTree.java rename to leetcode/solution/src/MaximumDepthOfBinaryTree.java index 2e1f7c0..f1e8668 100644 --- a/solution/src/main/java/com/inuker/solution/MaximumDepthOfBinaryTree.java +++ b/leetcode/solution/src/MaximumDepthOfBinaryTree.java @@ -1,6 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; /** * Created by dingjikerbo on 16/11/28. @@ -8,7 +5,7 @@ public class MaximumDepthOfBinaryTree { - private int maxDepth(TreeNode node) { + public int maxDepth(TreeNode node) { if (node == null) { return 0; } diff --git a/solution/src/main/java/com/inuker/solution/MaximumGap.java b/leetcode/solution/src/MaximumGap.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/MaximumGap.java rename to leetcode/solution/src/MaximumGap.java index e91a3ef..690dbb8 100644 --- a/solution/src/main/java/com/inuker/solution/MaximumGap.java +++ b/leetcode/solution/src/MaximumGap.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/MaximumProductSubarray.java b/leetcode/solution/src/MaximumProductSubarray.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/MaximumProductSubarray.java rename to leetcode/solution/src/MaximumProductSubarray.java index 8839090..45a87a5 100644 --- a/solution/src/main/java/com/inuker/solution/MaximumProductSubarray.java +++ b/leetcode/solution/src/MaximumProductSubarray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/1/5. */ diff --git a/solution/src/main/java/com/inuker/solution/MaximumSizeSubarraySumEqualsK.java b/leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/MaximumSizeSubarraySumEqualsK.java rename to leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java index f7663da..a190add 100644 --- a/solution/src/main/java/com/inuker/solution/MaximumSizeSubarraySumEqualsK.java +++ b/leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; /** diff --git a/solution/src/main/java/com/inuker/solution/MaximumSubarray.java b/leetcode/solution/src/MaximumSubarray.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/MaximumSubarray.java rename to leetcode/solution/src/MaximumSubarray.java index bf81892..5d219ad 100644 --- a/solution/src/main/java/com/inuker/solution/MaximumSubarray.java +++ b/leetcode/solution/src/MaximumSubarray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/15. */ diff --git a/solution/src/main/java/com/inuker/solution/MedianOfTwoSortedArrays.java b/leetcode/solution/src/MedianOfTwoSortedArrays.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/MedianOfTwoSortedArrays.java rename to leetcode/solution/src/MedianOfTwoSortedArrays.java index 9e7a4d5..67fd74f 100644 --- a/solution/src/main/java/com/inuker/solution/MedianOfTwoSortedArrays.java +++ b/leetcode/solution/src/MedianOfTwoSortedArrays.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/20. * https://leetcode.com/articles/median-of-two-sorted-arrays/ diff --git a/solution/src/main/java/com/inuker/solution/MeetingRooms.java b/leetcode/solution/src/MeetingRooms.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/MeetingRooms.java rename to leetcode/solution/src/MeetingRooms.java index 490e3c8..f630abc 100644 --- a/solution/src/main/java/com/inuker/solution/MeetingRooms.java +++ b/leetcode/solution/src/MeetingRooms.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.Interval; - import java.util.Arrays; import java.util.Comparator; diff --git a/solution/src/main/java/com/inuker/solution/MeetingRoomsII.java b/leetcode/solution/src/MeetingRoomsII.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/MeetingRoomsII.java rename to leetcode/solution/src/MeetingRoomsII.java index 16540f1..4a878d7 100644 --- a/solution/src/main/java/com/inuker/solution/MeetingRoomsII.java +++ b/leetcode/solution/src/MeetingRoomsII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.Interval; - import java.util.Arrays; import java.util.Comparator; import java.util.PriorityQueue; diff --git a/solution/src/main/java/com/inuker/solution/MergeIntervals.java b/leetcode/solution/src/MergeIntervals.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/MergeIntervals.java rename to leetcode/solution/src/MergeIntervals.java index 7242531..c285b5b 100644 --- a/solution/src/main/java/com/inuker/solution/MergeIntervals.java +++ b/leetcode/solution/src/MergeIntervals.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.Interval; - import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; diff --git a/solution/src/main/java/com/inuker/solution/MergeKSortedList.java b/leetcode/solution/src/MergeKSortedList.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/MergeKSortedList.java rename to leetcode/solution/src/MergeKSortedList.java index 72435cc..8701600 100644 --- a/solution/src/main/java/com/inuker/solution/MergeKSortedList.java +++ b/leetcode/solution/src/MergeKSortedList.java @@ -1,10 +1,5 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - import java.util.Comparator; import java.util.PriorityQueue; -import java.util.Queue; /** * Created by dingjikerbo on 16/11/20. diff --git a/solution/src/main/java/com/inuker/solution/MergeSortedArray.java b/leetcode/solution/src/MergeSortedArray.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/MergeSortedArray.java rename to leetcode/solution/src/MergeSortedArray.java index 1dfd673..95242e5 100644 --- a/solution/src/main/java/com/inuker/solution/MergeSortedArray.java +++ b/leetcode/solution/src/MergeSortedArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/leetcode/solution/src/MergeTwoBinaryTrees.java b/leetcode/solution/src/MergeTwoBinaryTrees.java new file mode 100644 index 0000000..49cae76 --- /dev/null +++ b/leetcode/solution/src/MergeTwoBinaryTrees.java @@ -0,0 +1,13 @@ +public class MergeTwoBinaryTrees { + + public TreeNode mergeTrees(TreeNode t1, TreeNode t2) { + if (t1 == null) + return t2; + if (t2 == null) + return t1; + t1.val += t2.val; + t1.left = mergeTrees(t1.left, t2.left); + t1.right = mergeTrees(t1.right, t2.right); + return t1; + } +} diff --git a/solution/src/main/java/com/inuker/solution/MergeTwoSortedList.java b/leetcode/solution/src/MergeTwoSortedList.java similarity index 89% rename from solution/src/main/java/com/inuker/solution/MergeTwoSortedList.java rename to leetcode/solution/src/MergeTwoSortedList.java index 2b3e110..895f4c5 100644 --- a/solution/src/main/java/com/inuker/solution/MergeTwoSortedList.java +++ b/leetcode/solution/src/MergeTwoSortedList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/MinStack.java b/leetcode/solution/src/MinStack.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/MinStack.java rename to leetcode/solution/src/MinStack.java index 253ab94..3143fca 100644 --- a/solution/src/main/java/com/inuker/solution/MinStack.java +++ b/leetcode/solution/src/MinStack.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/MinimumDepthOfBinaryTree.java b/leetcode/solution/src/MinimumDepthOfBinaryTree.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/MinimumDepthOfBinaryTree.java rename to leetcode/solution/src/MinimumDepthOfBinaryTree.java index ceffc06..4ed8014 100644 --- a/solution/src/main/java/com/inuker/solution/MinimumDepthOfBinaryTree.java +++ b/leetcode/solution/src/MinimumDepthOfBinaryTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 16/11/28. */ diff --git a/solution/src/main/java/com/inuker/solution/MinimumHeightTrees.java b/leetcode/solution/src/MinimumHeightTrees.java similarity index 89% rename from solution/src/main/java/com/inuker/solution/MinimumHeightTrees.java rename to leetcode/solution/src/MinimumHeightTrees.java index 8d51200..06737e9 100644 --- a/solution/src/main/java/com/inuker/solution/MinimumHeightTrees.java +++ b/leetcode/solution/src/MinimumHeightTrees.java @@ -1,10 +1,4 @@ -package com.inuker.solution; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; +import java.util.*; /** * Created by liwentian on 2017/9/3. diff --git a/solution/src/main/java/com/inuker/solution/MinimumSizeSubarraySum.java b/leetcode/solution/src/MinimumSizeSubarraySum.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/MinimumSizeSubarraySum.java rename to leetcode/solution/src/MinimumSizeSubarraySum.java index 4bf67a0..b64ea8c 100644 --- a/solution/src/main/java/com/inuker/solution/MinimumSizeSubarraySum.java +++ b/leetcode/solution/src/MinimumSizeSubarraySum.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/MinimumWindowSubstring.java b/leetcode/solution/src/MinimumWindowSubstring.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/MinimumWindowSubstring.java rename to leetcode/solution/src/MinimumWindowSubstring.java index 6886d04..5f61dae 100644 --- a/solution/src/main/java/com/inuker/solution/MinimumWindowSubstring.java +++ b/leetcode/solution/src/MinimumWindowSubstring.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/21. */ diff --git a/solution/src/main/java/com/inuker/solution/MissingNumber.java b/leetcode/solution/src/MissingNumber.java similarity index 89% rename from solution/src/main/java/com/inuker/solution/MissingNumber.java rename to leetcode/solution/src/MissingNumber.java index 89c7763..a8c641f 100644 --- a/solution/src/main/java/com/inuker/solution/MissingNumber.java +++ b/leetcode/solution/src/MissingNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/MissingRanges.java b/leetcode/solution/src/MissingRanges.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/MissingRanges.java rename to leetcode/solution/src/MissingRanges.java index d27c689..16028fa 100644 --- a/solution/src/main/java/com/inuker/solution/MissingRanges.java +++ b/leetcode/solution/src/MissingRanges.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/MostFrequentSubtreeSum.java b/leetcode/solution/src/MostFrequentSubtreeSum.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/MostFrequentSubtreeSum.java rename to leetcode/solution/src/MostFrequentSubtreeSum.java index 43558b0..1e52f69 100644 --- a/solution/src/main/java/com/inuker/solution/MostFrequentSubtreeSum.java +++ b/leetcode/solution/src/MostFrequentSubtreeSum.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/MoveZeroes.java b/leetcode/solution/src/MoveZeroes.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/MoveZeroes.java rename to leetcode/solution/src/MoveZeroes.java index 038c848..2736036 100644 --- a/solution/src/main/java/com/inuker/solution/MoveZeroes.java +++ b/leetcode/solution/src/MoveZeroes.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/19. */ diff --git a/solution/src/main/java/com/inuker/solution/MovingAverage.java b/leetcode/solution/src/MovingAverage.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/MovingAverage.java rename to leetcode/solution/src/MovingAverage.java index 4d7eb68..055b630 100644 --- a/solution/src/main/java/com/inuker/solution/MovingAverage.java +++ b/leetcode/solution/src/MovingAverage.java @@ -1,8 +1,5 @@ -package com.inuker.solution; - import java.util.Deque; import java.util.LinkedList; -import java.util.List; /** * Created by dingjikerbo on 16/12/4. diff --git a/solution/src/main/java/com/inuker/solution/MultiplyStrings.java b/leetcode/solution/src/MultiplyStrings.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/MultiplyStrings.java rename to leetcode/solution/src/MultiplyStrings.java index e596665..55733ed 100644 --- a/solution/src/main/java/com/inuker/solution/MultiplyStrings.java +++ b/leetcode/solution/src/MultiplyStrings.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/22. */ diff --git a/solution/src/main/java/com/inuker/solution/MyQueue.java b/leetcode/solution/src/MyQueue.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/MyQueue.java rename to leetcode/solution/src/MyQueue.java index fbe1a71..298f3b1 100644 --- a/solution/src/main/java/com/inuker/solution/MyQueue.java +++ b/leetcode/solution/src/MyQueue.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/MyStack.java b/leetcode/solution/src/MyStack.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/MyStack.java rename to leetcode/solution/src/MyStack.java index 073f29b..05972f8 100644 --- a/solution/src/main/java/com/inuker/solution/MyStack.java +++ b/leetcode/solution/src/MyStack.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/NQueens.java b/leetcode/solution/src/NQueens.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/NQueens.java rename to leetcode/solution/src/NQueens.java index 030b708..8aab3ba 100644 --- a/solution/src/main/java/com/inuker/solution/NQueens.java +++ b/leetcode/solution/src/NQueens.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/NQueensII.java b/leetcode/solution/src/NQueensII.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/NQueensII.java rename to leetcode/solution/src/NQueensII.java index c2fb4e6..9d543c6 100644 --- a/solution/src/main/java/com/inuker/solution/NQueensII.java +++ b/leetcode/solution/src/NQueensII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/1/12. */ diff --git a/solution/src/main/java/com/inuker/solution/NestedListWeightSum.java b/leetcode/solution/src/NestedListWeightSum.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/NestedListWeightSum.java rename to leetcode/solution/src/NestedListWeightSum.java index b0b2580..aa760d2 100644 --- a/solution/src/main/java/com/inuker/solution/NestedListWeightSum.java +++ b/leetcode/solution/src/NestedListWeightSum.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.List; /** diff --git a/solution/src/main/java/com/inuker/solution/NestedListWeightSumII.java b/leetcode/solution/src/NestedListWeightSumII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/NestedListWeightSumII.java rename to leetcode/solution/src/NestedListWeightSumII.java index a304283..cd97b05 100644 --- a/solution/src/main/java/com/inuker/solution/NestedListWeightSumII.java +++ b/leetcode/solution/src/NestedListWeightSumII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.List; /** diff --git a/solution/src/main/java/com/inuker/solution/NextPermutation.java b/leetcode/solution/src/NextPermutation.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/NextPermutation.java rename to leetcode/solution/src/NextPermutation.java index a4fce65..8c80c2c 100644 --- a/solution/src/main/java/com/inuker/solution/NextPermutation.java +++ b/leetcode/solution/src/NextPermutation.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/NumArray.java b/leetcode/solution/src/NumArray.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/NumArray.java rename to leetcode/solution/src/NumArray.java index 9005296..ec093a1 100644 --- a/solution/src/main/java/com/inuker/solution/NumArray.java +++ b/leetcode/solution/src/NumArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/26. */ diff --git a/solution/src/main/java/com/inuker/solution/NumArrayII.java b/leetcode/solution/src/NumArrayII.java similarity index 99% rename from solution/src/main/java/com/inuker/solution/NumArrayII.java rename to leetcode/solution/src/NumArrayII.java index 6b8e206..9743e1d 100644 --- a/solution/src/main/java/com/inuker/solution/NumArrayII.java +++ b/leetcode/solution/src/NumArrayII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/26. */ diff --git a/solution/src/main/java/com/inuker/solution/NumMatrix.java b/leetcode/solution/src/NumMatrix.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/NumMatrix.java rename to leetcode/solution/src/NumMatrix.java index 6661c58..7f31714 100644 --- a/solution/src/main/java/com/inuker/solution/NumMatrix.java +++ b/leetcode/solution/src/NumMatrix.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/26. */ diff --git a/solution/src/main/java/com/inuker/solution/NumMatrixII.java b/leetcode/solution/src/NumMatrixII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/NumMatrixII.java rename to leetcode/solution/src/NumMatrixII.java index 20de7c5..373e748 100644 --- a/solution/src/main/java/com/inuker/solution/NumMatrixII.java +++ b/leetcode/solution/src/NumMatrixII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/27. */ diff --git a/solution/src/main/java/com/inuker/solution/NumberOfConnectedComponents.java b/leetcode/solution/src/NumberOfConnectedComponents.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/NumberOfConnectedComponents.java rename to leetcode/solution/src/NumberOfConnectedComponents.java index 9ba9593..f911745 100644 --- a/solution/src/main/java/com/inuker/solution/NumberOfConnectedComponents.java +++ b/leetcode/solution/src/NumberOfConnectedComponents.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.HashSet; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/NumberOfDigitOne.java b/leetcode/solution/src/NumberOfDigitOne.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/NumberOfDigitOne.java rename to leetcode/solution/src/NumberOfDigitOne.java index dce32db..19ca115 100644 --- a/solution/src/main/java/com/inuker/solution/NumberOfDigitOne.java +++ b/leetcode/solution/src/NumberOfDigitOne.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/21. */ diff --git a/solution/src/main/java/com/inuker/solution/NumberOfIslands.java b/leetcode/solution/src/NumberOfIslands.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/NumberOfIslands.java rename to leetcode/solution/src/NumberOfIslands.java index 3f1f93d..879beb8 100644 --- a/solution/src/main/java/com/inuker/solution/NumberOfIslands.java +++ b/leetcode/solution/src/NumberOfIslands.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/NumberOfIslandsII.java b/leetcode/solution/src/NumberOfIslandsII.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/NumberOfIslandsII.java rename to leetcode/solution/src/NumberOfIslandsII.java index a835dcf..bd05e23 100644 --- a/solution/src/main/java/com/inuker/solution/NumberOfIslandsII.java +++ b/leetcode/solution/src/NumberOfIslandsII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/OddEvenLinkedList.java b/leetcode/solution/src/OddEvenLinkedList.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/OddEvenLinkedList.java rename to leetcode/solution/src/OddEvenLinkedList.java index 9e6608f..8f55f38 100644 --- a/solution/src/main/java/com/inuker/solution/OddEvenLinkedList.java +++ b/leetcode/solution/src/OddEvenLinkedList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 16/12/7. */ diff --git a/solution/src/main/java/com/inuker/solution/OneEditDistance.java b/leetcode/solution/src/OneEditDistance.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/OneEditDistance.java rename to leetcode/solution/src/OneEditDistance.java index 6063d64..bb165b4 100644 --- a/solution/src/main/java/com/inuker/solution/OneEditDistance.java +++ b/leetcode/solution/src/OneEditDistance.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/20. */ diff --git a/solution/src/main/java/com/inuker/solution/PaintHouse.java b/leetcode/solution/src/PaintHouse.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/PaintHouse.java rename to leetcode/solution/src/PaintHouse.java index 3360784..3f27e02 100644 --- a/solution/src/main/java/com/inuker/solution/PaintHouse.java +++ b/leetcode/solution/src/PaintHouse.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/18. */ diff --git a/solution/src/main/java/com/inuker/solution/PaintHouseII.java b/leetcode/solution/src/PaintHouseII.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/PaintHouseII.java rename to leetcode/solution/src/PaintHouseII.java index d1bf76a..fb74742 100644 --- a/solution/src/main/java/com/inuker/solution/PaintHouseII.java +++ b/leetcode/solution/src/PaintHouseII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/18. */ diff --git a/solution/src/main/java/com/inuker/solution/PalindromeLinkedList.java b/leetcode/solution/src/PalindromeLinkedList.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/PalindromeLinkedList.java rename to leetcode/solution/src/PalindromeLinkedList.java index e8b91e2..c4777a0 100644 --- a/solution/src/main/java/com/inuker/solution/PalindromeLinkedList.java +++ b/leetcode/solution/src/PalindromeLinkedList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/PalindromeNumber.java b/leetcode/solution/src/PalindromeNumber.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/PalindromeNumber.java rename to leetcode/solution/src/PalindromeNumber.java index 63e8338..3cd5471 100644 --- a/solution/src/main/java/com/inuker/solution/PalindromeNumber.java +++ b/leetcode/solution/src/PalindromeNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/PalindromePairs.java b/leetcode/solution/src/PalindromePairs.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/PalindromePairs.java rename to leetcode/solution/src/PalindromePairs.java index c46f38c..5386dbe 100644 --- a/solution/src/main/java/com/inuker/solution/PalindromePairs.java +++ b/leetcode/solution/src/PalindromePairs.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/PalindromePartitioning.java b/leetcode/solution/src/PalindromePartitioning.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/PalindromePartitioning.java rename to leetcode/solution/src/PalindromePartitioning.java index f3013be..220babd 100644 --- a/solution/src/main/java/com/inuker/solution/PalindromePartitioning.java +++ b/leetcode/solution/src/PalindromePartitioning.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Collections; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/PalindromePartitioningII.java b/leetcode/solution/src/PalindromePartitioningII.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/PalindromePartitioningII.java rename to leetcode/solution/src/PalindromePartitioningII.java index 5cce6af..93525a9 100644 --- a/solution/src/main/java/com/inuker/solution/PalindromePartitioningII.java +++ b/leetcode/solution/src/PalindromePartitioningII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/PalindromePermutation.java b/leetcode/solution/src/PalindromePermutation.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/PalindromePermutation.java rename to leetcode/solution/src/PalindromePermutation.java index 39cf299..a0549dc 100644 --- a/solution/src/main/java/com/inuker/solution/PalindromePermutation.java +++ b/leetcode/solution/src/PalindromePermutation.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/19. */ diff --git a/solution/src/main/java/com/inuker/solution/PalindromePermutationII.java b/leetcode/solution/src/PalindromePermutationII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/PalindromePermutationII.java rename to leetcode/solution/src/PalindromePermutationII.java index 2e08cb0..8715676 100644 --- a/solution/src/main/java/com/inuker/solution/PalindromePermutationII.java +++ b/leetcode/solution/src/PalindromePermutationII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/PartitionList.java b/leetcode/solution/src/PartitionList.java similarity index 88% rename from solution/src/main/java/com/inuker/solution/PartitionList.java rename to leetcode/solution/src/PartitionList.java index 68d8200..381ae76 100644 --- a/solution/src/main/java/com/inuker/solution/PartitionList.java +++ b/leetcode/solution/src/PartitionList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by liwentian on 2017/9/11. */ diff --git a/solution/src/main/java/com/inuker/solution/PascalTriangleII.java b/leetcode/solution/src/PascalTriangleII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/PascalTriangleII.java rename to leetcode/solution/src/PascalTriangleII.java index c448c85..283db93 100644 --- a/solution/src/main/java/com/inuker/solution/PascalTriangleII.java +++ b/leetcode/solution/src/PascalTriangleII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/PascalsTriangle.java b/leetcode/solution/src/PascalsTriangle.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/PascalsTriangle.java rename to leetcode/solution/src/PascalsTriangle.java index 93bdb63..ad670f1 100644 --- a/solution/src/main/java/com/inuker/solution/PascalsTriangle.java +++ b/leetcode/solution/src/PascalsTriangle.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/PathSum.java b/leetcode/solution/src/PathSum.java similarity index 85% rename from solution/src/main/java/com/inuker/solution/PathSum.java rename to leetcode/solution/src/PathSum.java index 8a7f0f6..99dbed5 100644 --- a/solution/src/main/java/com/inuker/solution/PathSum.java +++ b/leetcode/solution/src/PathSum.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 2016/11/29. */ diff --git a/solution/src/main/java/com/inuker/solution/PathSumII.java b/leetcode/solution/src/PathSumII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/PathSumII.java rename to leetcode/solution/src/PathSumII.java index a83c583..8e9b0e5 100644 --- a/solution/src/main/java/com/inuker/solution/PathSumII.java +++ b/leetcode/solution/src/PathSumII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/PathSumIII.java b/leetcode/solution/src/PathSumIII.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/PathSumIII.java rename to leetcode/solution/src/PathSumIII.java index e6f29b8..b433b11 100644 --- a/solution/src/main/java/com/inuker/solution/PathSumIII.java +++ b/leetcode/solution/src/PathSumIII.java @@ -1,10 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - -import java.util.LinkedList; -import java.util.List; - /** * Created by dingjikerbo on 16/12/3. */ diff --git a/solution/src/main/java/com/inuker/solution/PeekingIterator.java b/leetcode/solution/src/PeekingIterator.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/PeekingIterator.java rename to leetcode/solution/src/PeekingIterator.java index 8da49e1..be3c876 100644 --- a/solution/src/main/java/com/inuker/solution/PeekingIterator.java +++ b/leetcode/solution/src/PeekingIterator.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Iterator; /** diff --git a/solution/src/main/java/com/inuker/solution/PerfectRectangle.java b/leetcode/solution/src/PerfectRectangle.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/PerfectRectangle.java rename to leetcode/solution/src/PerfectRectangle.java index 2722304..67233d0 100644 --- a/solution/src/main/java/com/inuker/solution/PerfectRectangle.java +++ b/leetcode/solution/src/PerfectRectangle.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashSet; /** diff --git a/solution/src/main/java/com/inuker/solution/PerfectSquares.java b/leetcode/solution/src/PerfectSquares.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/PerfectSquares.java rename to leetcode/solution/src/PerfectSquares.java index c707c8a..7b20aa5 100644 --- a/solution/src/main/java/com/inuker/solution/PerfectSquares.java +++ b/leetcode/solution/src/PerfectSquares.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/PermutationSequence.java b/leetcode/solution/src/PermutationSequence.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/PermutationSequence.java rename to leetcode/solution/src/PermutationSequence.java index 3080eee..dd946b7 100644 --- a/solution/src/main/java/com/inuker/solution/PermutationSequence.java +++ b/leetcode/solution/src/PermutationSequence.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/Permutations.java b/leetcode/solution/src/Permutations.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/Permutations.java rename to leetcode/solution/src/Permutations.java index 22fd2ac..3bf12ff 100644 --- a/solution/src/main/java/com/inuker/solution/Permutations.java +++ b/leetcode/solution/src/Permutations.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/PermutationsII.java b/leetcode/solution/src/PermutationsII.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/PermutationsII.java rename to leetcode/solution/src/PermutationsII.java index bbd7bd0..6cb7052 100644 --- a/solution/src/main/java/com/inuker/solution/PermutationsII.java +++ b/leetcode/solution/src/PermutationsII.java @@ -1,11 +1,8 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/PlusOne.java b/leetcode/solution/src/PlusOne.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/PlusOne.java rename to leetcode/solution/src/PlusOne.java index d2bf40a..351cb78 100644 --- a/solution/src/main/java/com/inuker/solution/PlusOne.java +++ b/leetcode/solution/src/PlusOne.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/8/30. */ diff --git a/solution/src/main/java/com/inuker/solution/PlusOneLinkedList.java b/leetcode/solution/src/PlusOneLinkedList.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/PlusOneLinkedList.java rename to leetcode/solution/src/PlusOneLinkedList.java index ada866a..b736570 100644 --- a/solution/src/main/java/com/inuker/solution/PlusOneLinkedList.java +++ b/leetcode/solution/src/PlusOneLinkedList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/PopulatingNextRightPointersInEachNode.java b/leetcode/solution/src/PopulatingNextRightPointersInEachNode.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/PopulatingNextRightPointersInEachNode.java rename to leetcode/solution/src/PopulatingNextRightPointersInEachNode.java index d619254..687932f 100644 --- a/solution/src/main/java/com/inuker/solution/PopulatingNextRightPointersInEachNode.java +++ b/leetcode/solution/src/PopulatingNextRightPointersInEachNode.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeLinkNode; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/PopulatingNextRightPointersInEachNodeII.java b/leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/PopulatingNextRightPointersInEachNodeII.java rename to leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java index a6be3eb..b02b5a8 100644 --- a/solution/src/main/java/com/inuker/solution/PopulatingNextRightPointersInEachNodeII.java +++ b/leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeLinkNode; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/Pow.java b/leetcode/solution/src/Pow.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/Pow.java rename to leetcode/solution/src/Pow.java index a5f1e71..3ecd3e5 100644 --- a/solution/src/main/java/com/inuker/solution/Pow.java +++ b/leetcode/solution/src/Pow.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/ProductOfArrayExceptSelf.java b/leetcode/solution/src/ProductOfArrayExceptSelf.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/ProductOfArrayExceptSelf.java rename to leetcode/solution/src/ProductOfArrayExceptSelf.java index fabd0a5..ecca3f3 100644 --- a/solution/src/main/java/com/inuker/solution/ProductOfArrayExceptSelf.java +++ b/leetcode/solution/src/ProductOfArrayExceptSelf.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/QueueReconstructionByHeight.java b/leetcode/solution/src/QueueReconstructionByHeight.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/QueueReconstructionByHeight.java rename to leetcode/solution/src/QueueReconstructionByHeight.java index 17bd267..f83b4fc 100644 --- a/solution/src/main/java/com/inuker/solution/QueueReconstructionByHeight.java +++ b/leetcode/solution/src/QueueReconstructionByHeight.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.Comparator; import java.util.LinkedList; diff --git a/solution/src/main/java/com/inuker/solution/RandomPickIndex.java b/leetcode/solution/src/RandomPickIndex.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/RandomPickIndex.java rename to leetcode/solution/src/RandomPickIndex.java index 61abcec..f4adee0 100644 --- a/solution/src/main/java/com/inuker/solution/RandomPickIndex.java +++ b/leetcode/solution/src/RandomPickIndex.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Random; /** diff --git a/solution/src/main/java/com/inuker/solution/RangeAddition.java b/leetcode/solution/src/RangeAddition.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/RangeAddition.java rename to leetcode/solution/src/RangeAddition.java index c6ba1c0..347edf6 100644 --- a/solution/src/main/java/com/inuker/solution/RangeAddition.java +++ b/leetcode/solution/src/RangeAddition.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/ReadNCharactersGivenRead4.java b/leetcode/solution/src/ReadNCharactersGivenRead4.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/ReadNCharactersGivenRead4.java rename to leetcode/solution/src/ReadNCharactersGivenRead4.java index 2447bb8..983fdb8 100644 --- a/solution/src/main/java/com/inuker/solution/ReadNCharactersGivenRead4.java +++ b/leetcode/solution/src/ReadNCharactersGivenRead4.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/20. */ diff --git a/solution/src/main/java/com/inuker/solution/ReadNCharactersGivenRead4II.java b/leetcode/solution/src/ReadNCharactersGivenRead4II.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/ReadNCharactersGivenRead4II.java rename to leetcode/solution/src/ReadNCharactersGivenRead4II.java index afd8a1d..c9b860f 100644 --- a/solution/src/main/java/com/inuker/solution/ReadNCharactersGivenRead4II.java +++ b/leetcode/solution/src/ReadNCharactersGivenRead4II.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/20. */ diff --git a/solution/src/main/java/com/inuker/solution/RearrangeStringKDistanceApart.java b/leetcode/solution/src/RearrangeStringKDistanceApart.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/RearrangeStringKDistanceApart.java rename to leetcode/solution/src/RearrangeStringKDistanceApart.java index 3e0d464..9930374 100644 --- a/solution/src/main/java/com/inuker/solution/RearrangeStringKDistanceApart.java +++ b/leetcode/solution/src/RearrangeStringKDistanceApart.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Comparator; import java.util.LinkedList; import java.util.PriorityQueue; diff --git a/solution/src/main/java/com/inuker/solution/ReconstructItinerary.java b/leetcode/solution/src/ReconstructItinerary.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/ReconstructItinerary.java rename to leetcode/solution/src/ReconstructItinerary.java index 745c17b..7f53b04 100644 --- a/solution/src/main/java/com/inuker/solution/ReconstructItinerary.java +++ b/leetcode/solution/src/ReconstructItinerary.java @@ -1,14 +1,4 @@ -package com.inuker.solution; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.PriorityQueue; -import java.util.Stack; +import java.util.*; /** * Created by liwentian on 2017/9/2. diff --git a/solution/src/main/java/com/inuker/solution/RecoverBinarySearchTree.java b/leetcode/solution/src/RecoverBinarySearchTree.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/RecoverBinarySearchTree.java rename to leetcode/solution/src/RecoverBinarySearchTree.java index 982106f..9777cd1 100644 --- a/solution/src/main/java/com/inuker/solution/RecoverBinarySearchTree.java +++ b/leetcode/solution/src/RecoverBinarySearchTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/RectangleArea.java b/leetcode/solution/src/RectangleArea.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/RectangleArea.java rename to leetcode/solution/src/RectangleArea.java index 6a36bfc..3d787c1 100644 --- a/solution/src/main/java/com/inuker/solution/RectangleArea.java +++ b/leetcode/solution/src/RectangleArea.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/8. */ diff --git a/solution/src/main/java/com/inuker/solution/RedundantConnection.java b/leetcode/solution/src/RedundantConnection.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/RedundantConnection.java rename to leetcode/solution/src/RedundantConnection.java index 27799cf..9283ec5 100644 --- a/solution/src/main/java/com/inuker/solution/RedundantConnection.java +++ b/leetcode/solution/src/RedundantConnection.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/12/7. */ diff --git a/solution/src/main/java/com/inuker/solution/RegularExpressionMatching.java b/leetcode/solution/src/RegularExpressionMatching.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/RegularExpressionMatching.java rename to leetcode/solution/src/RegularExpressionMatching.java index a7300e7..09494e7 100644 --- a/solution/src/main/java/com/inuker/solution/RegularExpressionMatching.java +++ b/leetcode/solution/src/RegularExpressionMatching.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/20. */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveDuplicateLetters.java b/leetcode/solution/src/RemoveDuplicateLetters.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/RemoveDuplicateLetters.java rename to leetcode/solution/src/RemoveDuplicateLetters.java index 61819b8..6257454 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveDuplicateLetters.java +++ b/leetcode/solution/src/RemoveDuplicateLetters.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/1/2. */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedArray.java b/leetcode/solution/src/RemoveDuplicatesFromSortedArray.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedArray.java rename to leetcode/solution/src/RemoveDuplicatesFromSortedArray.java index 003af37..df61245 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedArray.java +++ b/leetcode/solution/src/RemoveDuplicatesFromSortedArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/24. */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedArrayII.java b/leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedArrayII.java rename to leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java index 327dc10..21f79c9 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedArrayII.java +++ b/leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/24. */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedList.java b/leetcode/solution/src/RemoveDuplicatesFromSortedList.java similarity index 88% rename from solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedList.java rename to leetcode/solution/src/RemoveDuplicatesFromSortedList.java index 2dda9c5..6d51bd5 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedList.java +++ b/leetcode/solution/src/RemoveDuplicatesFromSortedList.java @@ -1,11 +1,7 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/24. */ -import com.leetcode.library.ListNode; - /** * https://leetcode.com/articles/remove-duplicates-sorted-list/ */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedListII.java b/leetcode/solution/src/RemoveDuplicatesFromSortedListII.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedListII.java rename to leetcode/solution/src/RemoveDuplicatesFromSortedListII.java index 9f7e0ff..59deab8 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedListII.java +++ b/leetcode/solution/src/RemoveDuplicatesFromSortedListII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 16/11/24. */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveElement.java b/leetcode/solution/src/RemoveElement.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/RemoveElement.java rename to leetcode/solution/src/RemoveElement.java index f96b265..6bf8287 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveElement.java +++ b/leetcode/solution/src/RemoveElement.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/20. */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveInvalidParentheses.java b/leetcode/solution/src/RemoveInvalidParentheses.java similarity index 99% rename from solution/src/main/java/com/inuker/solution/RemoveInvalidParentheses.java rename to leetcode/solution/src/RemoveInvalidParentheses.java index ab2703f..89cff2b 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveInvalidParentheses.java +++ b/leetcode/solution/src/RemoveInvalidParentheses.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashSet; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/RemoveKDigits.java b/leetcode/solution/src/RemoveKDigits.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/RemoveKDigits.java rename to leetcode/solution/src/RemoveKDigits.java index a15ab70..13a6aeb 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveKDigits.java +++ b/leetcode/solution/src/RemoveKDigits.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/20. */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveLinkedListElements.java b/leetcode/solution/src/RemoveLinkedListElements.java similarity index 86% rename from solution/src/main/java/com/inuker/solution/RemoveLinkedListElements.java rename to leetcode/solution/src/RemoveLinkedListElements.java index 7faf5d0..c1dc5c5 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveLinkedListElements.java +++ b/leetcode/solution/src/RemoveLinkedListElements.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 2016/12/20. */ diff --git a/solution/src/main/java/com/inuker/solution/RemoveNthNodeFromEndOfList.java b/leetcode/solution/src/RemoveNthNodeFromEndOfList.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/RemoveNthNodeFromEndOfList.java rename to leetcode/solution/src/RemoveNthNodeFromEndOfList.java index 78e2133..3fb8f48 100644 --- a/solution/src/main/java/com/inuker/solution/RemoveNthNodeFromEndOfList.java +++ b/leetcode/solution/src/RemoveNthNodeFromEndOfList.java @@ -1,11 +1,7 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/20. */ -import com.leetcode.library.ListNode; - /** * https://leetcode.com/articles/remove-nth-node-end-list/ */ diff --git a/solution/src/main/java/com/inuker/solution/ReorderList.java b/leetcode/solution/src/ReorderList.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/ReorderList.java rename to leetcode/solution/src/ReorderList.java index 2c81b8e..6c278a5 100644 --- a/solution/src/main/java/com/inuker/solution/ReorderList.java +++ b/leetcode/solution/src/ReorderList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by liwentian on 2017/9/11. */ diff --git a/solution/src/main/java/com/inuker/solution/RepeatedSubstringPattern.java b/leetcode/solution/src/RepeatedSubstringPattern.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/RepeatedSubstringPattern.java rename to leetcode/solution/src/RepeatedSubstringPattern.java index 588309a..0f8cb81 100644 --- a/solution/src/main/java/com/inuker/solution/RepeatedSubstringPattern.java +++ b/leetcode/solution/src/RepeatedSubstringPattern.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/12/9. */ diff --git a/solution/src/main/java/com/inuker/solution/RestoreIPAddresses.java b/leetcode/solution/src/RestoreIPAddresses.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/RestoreIPAddresses.java rename to leetcode/solution/src/RestoreIPAddresses.java index ef854b9..57dfa5b 100644 --- a/solution/src/main/java/com/inuker/solution/RestoreIPAddresses.java +++ b/leetcode/solution/src/RestoreIPAddresses.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/ReverseBits.java b/leetcode/solution/src/ReverseBits.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/ReverseBits.java rename to leetcode/solution/src/ReverseBits.java index 8927358..7fd6e03 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseBits.java +++ b/leetcode/solution/src/ReverseBits.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseInteger.java b/leetcode/solution/src/ReverseInteger.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/ReverseInteger.java rename to leetcode/solution/src/ReverseInteger.java index f24da04..9531eb5 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseInteger.java +++ b/leetcode/solution/src/ReverseInteger.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseLinkedList.java b/leetcode/solution/src/ReverseLinkedList.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/ReverseLinkedList.java rename to leetcode/solution/src/ReverseLinkedList.java index eb625cb..6942d4c 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseLinkedList.java +++ b/leetcode/solution/src/ReverseLinkedList.java @@ -1,11 +1,7 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ -import com.leetcode.library.ListNode; - /** * https://leetcode.com/articles/reverse-linked-list/ */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseLinkedListII.java b/leetcode/solution/src/ReverseLinkedListII.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/ReverseLinkedListII.java rename to leetcode/solution/src/ReverseLinkedListII.java index 96e45dc..47e38c9 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseLinkedListII.java +++ b/leetcode/solution/src/ReverseLinkedListII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by liwentian on 2017/9/11. */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseNodesInKGroup.java b/leetcode/solution/src/ReverseNodesInKGroup.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/ReverseNodesInKGroup.java rename to leetcode/solution/src/ReverseNodesInKGroup.java index bf713a9..eede1e0 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseNodesInKGroup.java +++ b/leetcode/solution/src/ReverseNodesInKGroup.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 2016/11/24. */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseString.java b/leetcode/solution/src/ReverseString.java similarity index 86% rename from solution/src/main/java/com/inuker/solution/ReverseString.java rename to leetcode/solution/src/ReverseString.java index 8d2480a..2f95bd6 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseString.java +++ b/leetcode/solution/src/ReverseString.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseStringII.java b/leetcode/solution/src/ReverseStringII.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/ReverseStringII.java rename to leetcode/solution/src/ReverseStringII.java index 68f8c25..e55b9ce 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseStringII.java +++ b/leetcode/solution/src/ReverseStringII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseVowelsOfaString.java b/leetcode/solution/src/ReverseVowelsOfaString.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/ReverseVowelsOfaString.java rename to leetcode/solution/src/ReverseVowelsOfaString.java index 89f5b71..c438e9f 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseVowelsOfaString.java +++ b/leetcode/solution/src/ReverseVowelsOfaString.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/8/31. */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseWordsInAString.java b/leetcode/solution/src/ReverseWordsInAString.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ReverseWordsInAString.java rename to leetcode/solution/src/ReverseWordsInAString.java index 3dc4420..0ce2d1a 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseWordsInAString.java +++ b/leetcode/solution/src/ReverseWordsInAString.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 17/8/14. */ diff --git a/amazon/src/main/java/com/leetcode/amazon/ReverseWordsInAStringII.java b/leetcode/solution/src/ReverseWordsInAStringII.java similarity index 95% rename from amazon/src/main/java/com/leetcode/amazon/ReverseWordsInAStringII.java rename to leetcode/solution/src/ReverseWordsInAStringII.java index 0244dce..16eb557 100644 --- a/amazon/src/main/java/com/leetcode/amazon/ReverseWordsInAStringII.java +++ b/leetcode/solution/src/ReverseWordsInAStringII.java @@ -1,5 +1,3 @@ -package com.leetcode.amazon; - /** * Created by liwentian on 17/8/12. */ diff --git a/solution/src/main/java/com/inuker/solution/ReverseWordsInAStringIII.java b/leetcode/solution/src/ReverseWordsInAStringIII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/ReverseWordsInAStringIII.java rename to leetcode/solution/src/ReverseWordsInAStringIII.java index 7f864cc..50b4bf7 100644 --- a/solution/src/main/java/com/inuker/solution/ReverseWordsInAStringIII.java +++ b/leetcode/solution/src/ReverseWordsInAStringIII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/RomanToInteger.java b/leetcode/solution/src/RomanToInteger.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/RomanToInteger.java rename to leetcode/solution/src/RomanToInteger.java index 1ce840b..5d6ad19 100644 --- a/solution/src/main/java/com/inuker/solution/RomanToInteger.java +++ b/leetcode/solution/src/RomanToInteger.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/RotateArray.java b/leetcode/solution/src/RotateArray.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/RotateArray.java rename to leetcode/solution/src/RotateArray.java index f712b8b..3201567 100644 --- a/solution/src/main/java/com/inuker/solution/RotateArray.java +++ b/leetcode/solution/src/RotateArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/RotateImage.java b/leetcode/solution/src/RotateImage.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/RotateImage.java rename to leetcode/solution/src/RotateImage.java index 9e8a288..50b91db 100644 --- a/solution/src/main/java/com/inuker/solution/RotateImage.java +++ b/leetcode/solution/src/RotateImage.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/RotateList.java b/leetcode/solution/src/RotateList.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/RotateList.java rename to leetcode/solution/src/RotateList.java index efbbc71..f46f2ab 100644 --- a/solution/src/main/java/com/inuker/solution/RotateList.java +++ b/leetcode/solution/src/RotateList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by liwentian on 2017/9/11. */ diff --git a/solution/src/main/java/com/inuker/solution/SameTree.java b/leetcode/solution/src/SameTree.java similarity index 84% rename from solution/src/main/java/com/inuker/solution/SameTree.java rename to leetcode/solution/src/SameTree.java index 8292901..48d27a0 100644 --- a/solution/src/main/java/com/inuker/solution/SameTree.java +++ b/leetcode/solution/src/SameTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 16/11/28. */ diff --git a/solution/src/main/java/com/inuker/solution/Search2DMatrix.java b/leetcode/solution/src/Search2DMatrix.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/Search2DMatrix.java rename to leetcode/solution/src/Search2DMatrix.java index 017cbe0..29a6f4e 100644 --- a/solution/src/main/java/com/inuker/solution/Search2DMatrix.java +++ b/leetcode/solution/src/Search2DMatrix.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import java.util.Arrays; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/Search2DMatrixII.java b/leetcode/solution/src/Search2DMatrixII.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/Search2DMatrixII.java rename to leetcode/solution/src/Search2DMatrixII.java index 5757c86..a752fd2 100644 --- a/solution/src/main/java/com/inuker/solution/Search2DMatrixII.java +++ b/leetcode/solution/src/Search2DMatrixII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/SearchForARange.java b/leetcode/solution/src/SearchForARange.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/SearchForARange.java rename to leetcode/solution/src/SearchForARange.java index c7114b7..c7990c2 100644 --- a/solution/src/main/java/com/inuker/solution/SearchForARange.java +++ b/leetcode/solution/src/SearchForARange.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/SearchInRotatedSortedArray.java b/leetcode/solution/src/SearchInRotatedSortedArray.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/SearchInRotatedSortedArray.java rename to leetcode/solution/src/SearchInRotatedSortedArray.java index aadbc9c..65bf1d6 100644 --- a/solution/src/main/java/com/inuker/solution/SearchInRotatedSortedArray.java +++ b/leetcode/solution/src/SearchInRotatedSortedArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/SearchInRotatedSortedArrayII.java b/leetcode/solution/src/SearchInRotatedSortedArrayII.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SearchInRotatedSortedArrayII.java rename to leetcode/solution/src/SearchInRotatedSortedArrayII.java index eec8ff6..a95393c 100644 --- a/solution/src/main/java/com/inuker/solution/SearchInRotatedSortedArrayII.java +++ b/leetcode/solution/src/SearchInRotatedSortedArrayII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/SearchInsertPosition.java b/leetcode/solution/src/SearchInsertPosition.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/SearchInsertPosition.java rename to leetcode/solution/src/SearchInsertPosition.java index 49ce536..4ed1134 100644 --- a/solution/src/main/java/com/inuker/solution/SearchInsertPosition.java +++ b/leetcode/solution/src/SearchInsertPosition.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/SegmentTreeNode.java b/leetcode/solution/src/SegmentTreeNode.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/SegmentTreeNode.java rename to leetcode/solution/src/SegmentTreeNode.java index a132182..0fab390 100644 --- a/solution/src/main/java/com/inuker/solution/SegmentTreeNode.java +++ b/leetcode/solution/src/SegmentTreeNode.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/26. */ diff --git a/solution/src/main/java/com/inuker/solution/SelfCrossing.java b/leetcode/solution/src/SelfCrossing.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SelfCrossing.java rename to leetcode/solution/src/SelfCrossing.java index 61311f2..ddb52d8 100644 --- a/solution/src/main/java/com/inuker/solution/SelfCrossing.java +++ b/leetcode/solution/src/SelfCrossing.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/21. */ diff --git a/solution/src/main/java/com/inuker/solution/SentenceScreenFitting.java b/leetcode/solution/src/SentenceScreenFitting.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/SentenceScreenFitting.java rename to leetcode/solution/src/SentenceScreenFitting.java index 32db5fc..6b628aa 100644 --- a/solution/src/main/java/com/inuker/solution/SentenceScreenFitting.java +++ b/leetcode/solution/src/SentenceScreenFitting.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/11. */ diff --git a/solution/src/main/java/com/inuker/solution/SerializeAndDeserializeBST.java b/leetcode/solution/src/SerializeAndDeserializeBST.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/SerializeAndDeserializeBST.java rename to leetcode/solution/src/SerializeAndDeserializeBST.java index acb7ca2..1fdb876 100644 --- a/solution/src/main/java/com/inuker/solution/SerializeAndDeserializeBST.java +++ b/leetcode/solution/src/SerializeAndDeserializeBST.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 17/8/3. */ diff --git a/solution/src/main/java/com/inuker/solution/SetMatrixZeroes.java b/leetcode/solution/src/SetMatrixZeroes.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/SetMatrixZeroes.java rename to leetcode/solution/src/SetMatrixZeroes.java index f9c258f..a8ffbe0 100644 --- a/solution/src/main/java/com/inuker/solution/SetMatrixZeroes.java +++ b/leetcode/solution/src/SetMatrixZeroes.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 17/8/12. */ diff --git a/solution/src/main/java/com/inuker/solution/ShortestDistanceFromAllBuildings.java b/leetcode/solution/src/ShortestDistanceFromAllBuildings.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/ShortestDistanceFromAllBuildings.java rename to leetcode/solution/src/ShortestDistanceFromAllBuildings.java index ea243b8..5eda03a 100644 --- a/solution/src/main/java/com/inuker/solution/ShortestDistanceFromAllBuildings.java +++ b/leetcode/solution/src/ShortestDistanceFromAllBuildings.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/ShortestPalindrome.java b/leetcode/solution/src/ShortestPalindrome.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ShortestPalindrome.java rename to leetcode/solution/src/ShortestPalindrome.java index 478743f..46a3f40 100644 --- a/solution/src/main/java/com/inuker/solution/ShortestPalindrome.java +++ b/leetcode/solution/src/ShortestPalindrome.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/17. */ diff --git a/solution/src/main/java/com/inuker/solution/ShortestWordDistance.java b/leetcode/solution/src/ShortestWordDistance.java similarity index 88% rename from solution/src/main/java/com/inuker/solution/ShortestWordDistance.java rename to leetcode/solution/src/ShortestWordDistance.java index 949e380..2d653ea 100644 --- a/solution/src/main/java/com/inuker/solution/ShortestWordDistance.java +++ b/leetcode/solution/src/ShortestWordDistance.java @@ -1,8 +1,3 @@ -package com.inuker.solution; - -import java.util.LinkedList; -import java.util.List; - /** * Created by dingjikerbo on 2016/11/25. */ diff --git a/solution/src/main/java/com/inuker/solution/ShortestWordDistanceII.java b/leetcode/solution/src/ShortestWordDistanceII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/ShortestWordDistanceII.java rename to leetcode/solution/src/ShortestWordDistanceII.java index dcf4f78..4538773 100644 --- a/solution/src/main/java/com/inuker/solution/ShortestWordDistanceII.java +++ b/leetcode/solution/src/ShortestWordDistanceII.java @@ -1,6 +1,3 @@ -package com.inuker.solution; - -import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/ShortestWordDistanceIII.java b/leetcode/solution/src/ShortestWordDistanceIII.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/ShortestWordDistanceIII.java rename to leetcode/solution/src/ShortestWordDistanceIII.java index cef3649..167a031 100644 --- a/solution/src/main/java/com/inuker/solution/ShortestWordDistanceIII.java +++ b/leetcode/solution/src/ShortestWordDistanceIII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/10. */ diff --git a/solution/src/main/java/com/inuker/solution/ShuffleAnArray.java b/leetcode/solution/src/ShuffleAnArray.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ShuffleAnArray.java rename to leetcode/solution/src/ShuffleAnArray.java index c44160a..2136c7e 100644 --- a/solution/src/main/java/com/inuker/solution/ShuffleAnArray.java +++ b/leetcode/solution/src/ShuffleAnArray.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.Random; diff --git a/solution/src/main/java/com/inuker/solution/SimplifyPath.java b/leetcode/solution/src/SimplifyPath.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SimplifyPath.java rename to leetcode/solution/src/SimplifyPath.java index 2faa399..bc79aa5 100644 --- a/solution/src/main/java/com/inuker/solution/SimplifyPath.java +++ b/leetcode/solution/src/SimplifyPath.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Deque; import java.util.LinkedList; diff --git a/solution/src/main/java/com/inuker/solution/SlidingWindowMaximum.java b/leetcode/solution/src/SlidingWindowMaximum.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/SlidingWindowMaximum.java rename to leetcode/solution/src/SlidingWindowMaximum.java index 8c2c7e9..1d19a21 100644 --- a/solution/src/main/java/com/inuker/solution/SlidingWindowMaximum.java +++ b/leetcode/solution/src/SlidingWindowMaximum.java @@ -1,10 +1,4 @@ -package com.inuker.solution; - -import java.util.Comparator; -import java.util.Deque; -import java.util.LinkedList; -import java.util.PriorityQueue; -import java.util.Queue; +import java.util.*; /** * Created by dingjikerbo on 2016/11/16. diff --git a/solution/src/main/java/com/inuker/solution/SlidingWindowMedian.java b/leetcode/solution/src/SlidingWindowMedian.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SlidingWindowMedian.java rename to leetcode/solution/src/SlidingWindowMedian.java index c555d6a..5b2afc3 100644 --- a/solution/src/main/java/com/inuker/solution/SlidingWindowMedian.java +++ b/leetcode/solution/src/SlidingWindowMedian.java @@ -1,6 +1,3 @@ -package com.inuker.solution; - -import java.util.Collections; import java.util.Comparator; import java.util.Map; import java.util.TreeMap; diff --git a/solution/src/main/java/com/inuker/solution/SmallestGoodBase.java b/leetcode/solution/src/SmallestGoodBase.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/SmallestGoodBase.java rename to leetcode/solution/src/SmallestGoodBase.java index 8c533e8..0ea399c 100644 --- a/solution/src/main/java/com/inuker/solution/SmallestGoodBase.java +++ b/leetcode/solution/src/SmallestGoodBase.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.math.BigInteger; /** diff --git a/solution/src/main/java/com/inuker/solution/SmallestRectangleEnclosingBlackPixels.java b/leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SmallestRectangleEnclosingBlackPixels.java rename to leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java index 1c14288..8be3e16 100644 --- a/solution/src/main/java/com/inuker/solution/SmallestRectangleEnclosingBlackPixels.java +++ b/leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/22. */ diff --git a/solution/src/main/java/com/inuker/solution/SortCharactersByFrequency.java b/leetcode/solution/src/SortCharactersByFrequency.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/SortCharactersByFrequency.java rename to leetcode/solution/src/SortCharactersByFrequency.java index d1bc049..75724bf 100644 --- a/solution/src/main/java/com/inuker/solution/SortCharactersByFrequency.java +++ b/leetcode/solution/src/SortCharactersByFrequency.java @@ -1,11 +1,4 @@ -package com.inuker.solution; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.PriorityQueue; +import java.util.*; /** * Created by liwentian on 2017/9/22. diff --git a/solution/src/main/java/com/inuker/solution/SortColors.java b/leetcode/solution/src/SortColors.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/SortColors.java rename to leetcode/solution/src/SortColors.java index e529289..a5724ec 100644 --- a/solution/src/main/java/com/inuker/solution/SortColors.java +++ b/leetcode/solution/src/SortColors.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/22. */ diff --git a/solution/src/main/java/com/inuker/solution/SortList.java b/leetcode/solution/src/SortList.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SortList.java rename to leetcode/solution/src/SortList.java index c2d035c..b50026f 100644 --- a/solution/src/main/java/com/inuker/solution/SortList.java +++ b/leetcode/solution/src/SortList.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by liwentian on 2017/9/11. */ diff --git a/solution/src/main/java/com/inuker/solution/SparseMatrixMultiplication.java b/leetcode/solution/src/SparseMatrixMultiplication.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/SparseMatrixMultiplication.java rename to leetcode/solution/src/SparseMatrixMultiplication.java index 0df48e5..7d3b5f9 100644 --- a/solution/src/main/java/com/inuker/solution/SparseMatrixMultiplication.java +++ b/leetcode/solution/src/SparseMatrixMultiplication.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/19. */ diff --git a/solution/src/main/java/com/inuker/solution/SpiralMatrix.java b/leetcode/solution/src/SpiralMatrix.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SpiralMatrix.java rename to leetcode/solution/src/SpiralMatrix.java index fcc9c6a..a91892e 100644 --- a/solution/src/main/java/com/inuker/solution/SpiralMatrix.java +++ b/leetcode/solution/src/SpiralMatrix.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/SplitArrayLargestSum.java b/leetcode/solution/src/SplitArrayLargestSum.java similarity index 99% rename from solution/src/main/java/com/inuker/solution/SplitArrayLargestSum.java rename to leetcode/solution/src/SplitArrayLargestSum.java index 9fadf84..14d2009 100644 --- a/solution/src/main/java/com/inuker/solution/SplitArrayLargestSum.java +++ b/leetcode/solution/src/SplitArrayLargestSum.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/19. */ diff --git a/solution/src/main/java/com/inuker/solution/Sqrt.java b/leetcode/solution/src/Sqrt.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/Sqrt.java rename to leetcode/solution/src/Sqrt.java index 13d2c32..30902f1 100644 --- a/solution/src/main/java/com/inuker/solution/Sqrt.java +++ b/leetcode/solution/src/Sqrt.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/StrStr.java b/leetcode/solution/src/StrStr.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/StrStr.java rename to leetcode/solution/src/StrStr.java index 10bb0ca..51ced95 100644 --- a/solution/src/main/java/com/inuker/solution/StrStr.java +++ b/leetcode/solution/src/StrStr.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/solution/src/main/java/com/inuker/solution/String2Integer.java b/leetcode/solution/src/String2Integer.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/String2Integer.java rename to leetcode/solution/src/String2Integer.java index 6ee927c..8a6404e 100644 --- a/solution/src/main/java/com/inuker/solution/String2Integer.java +++ b/leetcode/solution/src/String2Integer.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/4/29. */ diff --git a/solution/src/main/java/com/inuker/solution/StrobogrammaticNumber.java b/leetcode/solution/src/StrobogrammaticNumber.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/StrobogrammaticNumber.java rename to leetcode/solution/src/StrobogrammaticNumber.java index de3bdd3..5120be9 100644 --- a/solution/src/main/java/com/inuker/solution/StrobogrammaticNumber.java +++ b/leetcode/solution/src/StrobogrammaticNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/8/31. */ diff --git a/solution/src/main/java/com/inuker/solution/SubarraySumEqualsK.java b/leetcode/solution/src/SubarraySumEqualsK.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/SubarraySumEqualsK.java rename to leetcode/solution/src/SubarraySumEqualsK.java index ed45c26..e8ceda1 100644 --- a/solution/src/main/java/com/inuker/solution/SubarraySumEqualsK.java +++ b/leetcode/solution/src/SubarraySumEqualsK.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; /** diff --git a/solution/src/main/java/com/inuker/solution/Subsets.java b/leetcode/solution/src/Subsets.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/Subsets.java rename to leetcode/solution/src/Subsets.java index d9deacf..024d498 100644 --- a/solution/src/main/java/com/inuker/solution/Subsets.java +++ b/leetcode/solution/src/Subsets.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/SubsetsII.java b/leetcode/solution/src/SubsetsII.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SubsetsII.java rename to leetcode/solution/src/SubsetsII.java index 7166f0d..c5729a4 100644 --- a/solution/src/main/java/com/inuker/solution/SubsetsII.java +++ b/leetcode/solution/src/SubsetsII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/SubstringWithConcatenationOfAllWords.java b/leetcode/solution/src/SubstringWithConcatenationOfAllWords.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/SubstringWithConcatenationOfAllWords.java rename to leetcode/solution/src/SubstringWithConcatenationOfAllWords.java index 5dd7fcf..b38d44d 100644 --- a/solution/src/main/java/com/inuker/solution/SubstringWithConcatenationOfAllWords.java +++ b/leetcode/solution/src/SubstringWithConcatenationOfAllWords.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/SudokuSolver.java b/leetcode/solution/src/SudokuSolver.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/SudokuSolver.java rename to leetcode/solution/src/SudokuSolver.java index cbb9dae..afee9c6 100644 --- a/solution/src/main/java/com/inuker/solution/SudokuSolver.java +++ b/leetcode/solution/src/SudokuSolver.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/5/9. */ diff --git a/solution/src/main/java/com/inuker/solution/SumOfLeftLeaves.java b/leetcode/solution/src/SumOfLeftLeaves.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/SumOfLeftLeaves.java rename to leetcode/solution/src/SumOfLeftLeaves.java index 9f5f9bb..fe7107b 100644 --- a/solution/src/main/java/com/inuker/solution/SumOfLeftLeaves.java +++ b/leetcode/solution/src/SumOfLeftLeaves.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.Stack; /** diff --git a/solution/src/main/java/com/inuker/solution/SumRootToLeafNumbers.java b/leetcode/solution/src/SumRootToLeafNumbers.java similarity index 88% rename from solution/src/main/java/com/inuker/solution/SumRootToLeafNumbers.java rename to leetcode/solution/src/SumRootToLeafNumbers.java index 69fa5f9..acc0e1f 100644 --- a/solution/src/main/java/com/inuker/solution/SumRootToLeafNumbers.java +++ b/leetcode/solution/src/SumRootToLeafNumbers.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 2016/12/2. */ diff --git a/solution/src/main/java/com/inuker/solution/SummaryRanges.java b/leetcode/solution/src/SummaryRanges.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/SummaryRanges.java rename to leetcode/solution/src/SummaryRanges.java index e599cf2..a41b722 100644 --- a/solution/src/main/java/com/inuker/solution/SummaryRanges.java +++ b/leetcode/solution/src/SummaryRanges.java @@ -1,6 +1,3 @@ -package com.inuker.solution; - -import java.util.ArrayList; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/SuperUglyNumber.java b/leetcode/solution/src/SuperUglyNumber.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/SuperUglyNumber.java rename to leetcode/solution/src/SuperUglyNumber.java index 6e1f4e7..76069a7 100644 --- a/solution/src/main/java/com/inuker/solution/SuperUglyNumber.java +++ b/leetcode/solution/src/SuperUglyNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.PriorityQueue; diff --git a/solution/src/main/java/com/inuker/solution/SurroundedRegions.java b/leetcode/solution/src/SurroundedRegions.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/SurroundedRegions.java rename to leetcode/solution/src/SurroundedRegions.java index dab0f06..84eaeae 100644 --- a/solution/src/main/java/com/inuker/solution/SurroundedRegions.java +++ b/leetcode/solution/src/SurroundedRegions.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/SwapNodesInPairs.java b/leetcode/solution/src/SwapNodesInPairs.java similarity index 89% rename from solution/src/main/java/com/inuker/solution/SwapNodesInPairs.java rename to leetcode/solution/src/SwapNodesInPairs.java index ddc4f21..7c6628f 100644 --- a/solution/src/main/java/com/inuker/solution/SwapNodesInPairs.java +++ b/leetcode/solution/src/SwapNodesInPairs.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.ListNode; - /** * Created by dingjikerbo on 17/5/6. */ diff --git a/solution/src/main/java/com/inuker/solution/SymmetricTree.java b/leetcode/solution/src/SymmetricTree.java similarity index 89% rename from solution/src/main/java/com/inuker/solution/SymmetricTree.java rename to leetcode/solution/src/SymmetricTree.java index 6fffb8d..4bd1912 100644 --- a/solution/src/main/java/com/inuker/solution/SymmetricTree.java +++ b/leetcode/solution/src/SymmetricTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 2016/11/29. */ diff --git a/solution/src/main/java/com/inuker/solution/TextJustification.java b/leetcode/solution/src/TextJustification.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/TextJustification.java rename to leetcode/solution/src/TextJustification.java index 06aab3a..13170d5 100644 --- a/solution/src/main/java/com/inuker/solution/TextJustification.java +++ b/leetcode/solution/src/TextJustification.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/TheSkylineProblem.java b/leetcode/solution/src/TheSkylineProblem.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/TheSkylineProblem.java rename to leetcode/solution/src/TheSkylineProblem.java index 59316eb..c523cf2 100644 --- a/solution/src/main/java/com/inuker/solution/TheSkylineProblem.java +++ b/leetcode/solution/src/TheSkylineProblem.java @@ -1,12 +1,4 @@ -package com.inuker.solution; - -import java.util.Collections; -import java.util.Comparator; -import java.util.LinkedList; -import java.util.List; -import java.util.PriorityQueue; -import java.util.Queue; -import java.util.TreeMap; +import java.util.*; /** * Created by dingjikerbo on 16/12/17. diff --git a/solution/src/main/java/com/inuker/solution/ThirdMaximumNumber.java b/leetcode/solution/src/ThirdMaximumNumber.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/ThirdMaximumNumber.java rename to leetcode/solution/src/ThirdMaximumNumber.java index 47c775a..a9c8d6b 100644 --- a/solution/src/main/java/com/inuker/solution/ThirdMaximumNumber.java +++ b/leetcode/solution/src/ThirdMaximumNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 17/8/12. */ diff --git a/solution/src/main/java/com/inuker/solution/ThreeSum.java b/leetcode/solution/src/ThreeSum.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ThreeSum.java rename to leetcode/solution/src/ThreeSum.java index 812d2aa..b8a2588 100644 --- a/solution/src/main/java/com/inuker/solution/ThreeSum.java +++ b/leetcode/solution/src/ThreeSum.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/ThreeSumClosest.java b/leetcode/solution/src/ThreeSumClosest.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/ThreeSumClosest.java rename to leetcode/solution/src/ThreeSumClosest.java index 2987dc5..ec6822d 100644 --- a/solution/src/main/java/com/inuker/solution/ThreeSumClosest.java +++ b/leetcode/solution/src/ThreeSumClosest.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/ThreeSumSmaller.java b/leetcode/solution/src/ThreeSumSmaller.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/ThreeSumSmaller.java rename to leetcode/solution/src/ThreeSumSmaller.java index 96f4670..3ed61b6 100644 --- a/solution/src/main/java/com/inuker/solution/ThreeSumSmaller.java +++ b/leetcode/solution/src/ThreeSumSmaller.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/TopKFrequentElements.java b/leetcode/solution/src/TopKFrequentElements.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/TopKFrequentElements.java rename to leetcode/solution/src/TopKFrequentElements.java index b762da4..868cd7a 100644 --- a/solution/src/main/java/com/inuker/solution/TopKFrequentElements.java +++ b/leetcode/solution/src/TopKFrequentElements.java @@ -1,14 +1,4 @@ -package com.inuker.solution; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.PriorityQueue; -import java.util.Queue; -import java.util.TreeMap; +import java.util.*; /** * Created by dingjikerbo on 16/12/10. diff --git a/solution/src/main/java/com/inuker/solution/TotalHammingDistance.java b/leetcode/solution/src/TotalHammingDistance.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/TotalHammingDistance.java rename to leetcode/solution/src/TotalHammingDistance.java index e49e685..2a20729 100644 --- a/solution/src/main/java/com/inuker/solution/TotalHammingDistance.java +++ b/leetcode/solution/src/TotalHammingDistance.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 17/1/7. */ diff --git a/solution/src/main/java/com/inuker/solution/TrappingRainWater.java b/leetcode/solution/src/TrappingRainWater.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/TrappingRainWater.java rename to leetcode/solution/src/TrappingRainWater.java index ceadca2..4311363 100644 --- a/solution/src/main/java/com/inuker/solution/TrappingRainWater.java +++ b/leetcode/solution/src/TrappingRainWater.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/TrappingRainWaterII.java b/leetcode/solution/src/TrappingRainWaterII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/TrappingRainWaterII.java rename to leetcode/solution/src/TrappingRainWaterII.java index e6409a9..8f89583 100644 --- a/solution/src/main/java/com/inuker/solution/TrappingRainWaterII.java +++ b/leetcode/solution/src/TrappingRainWaterII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Comparator; import java.util.PriorityQueue; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/Trie.java b/leetcode/solution/src/Trie.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/Trie.java rename to leetcode/solution/src/Trie.java index afb17dd..0d5edaa 100644 --- a/solution/src/main/java/com/inuker/solution/Trie.java +++ b/leetcode/solution/src/Trie.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/23. */ diff --git a/leetcode/solution/src/TrimABinarySearchTree.java b/leetcode/solution/src/TrimABinarySearchTree.java new file mode 100644 index 0000000..073bce0 --- /dev/null +++ b/leetcode/solution/src/TrimABinarySearchTree.java @@ -0,0 +1,22 @@ +public class TrimABinarySearchTree { + + public TreeNode trimBST(TreeNode root, int L, int R) { + if (root == null) { + return root; + } + + if (root.val > R) { + root.right = null; + return trimBST(root.left, L, R); + } + + if (root.val < L) { + root.left = null; + return trimBST(root.right, L, R); + } + + root.left = trimBST(root.left, L, R); + root.right = trimBST(root.right, L, R); + return root; + } +} diff --git a/solution/src/main/java/com/inuker/solution/TwoSum.java b/leetcode/solution/src/TwoSum.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/TwoSum.java rename to leetcode/solution/src/TwoSum.java index 09b6d06..8bf99c3 100644 --- a/solution/src/main/java/com/inuker/solution/TwoSum.java +++ b/leetcode/solution/src/TwoSum.java @@ -1,7 +1,4 @@ -package com.inuker.solution; - import java.util.HashMap; -import java.util.Map; /** * Created by dingjikerbo on 2016/11/16. diff --git a/solution/src/main/java/com/inuker/solution/TwoSumII.java b/leetcode/solution/src/TwoSumII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/TwoSumII.java rename to leetcode/solution/src/TwoSumII.java index 35bd68c..519f014 100644 --- a/solution/src/main/java/com/inuker/solution/TwoSumII.java +++ b/leetcode/solution/src/TwoSumII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/17. * https://leetcode.com/articles/two-sum-ii-input-array-sorted/ diff --git a/solution/src/main/java/com/inuker/solution/TwoSumIII.java b/leetcode/solution/src/TwoSumIII.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/TwoSumIII.java rename to leetcode/solution/src/TwoSumIII.java index b39b74f..a3c700e 100644 --- a/solution/src/main/java/com/inuker/solution/TwoSumIII.java +++ b/leetcode/solution/src/TwoSumIII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; /** diff --git a/solution/src/main/java/com/inuker/solution/TwoSumIV.java b/leetcode/solution/src/TwoSumIV.java similarity index 88% rename from solution/src/main/java/com/inuker/solution/TwoSumIV.java rename to leetcode/solution/src/TwoSumIV.java index 5a31fa7..8fcc5f8 100644 --- a/solution/src/main/java/com/inuker/solution/TwoSumIV.java +++ b/leetcode/solution/src/TwoSumIV.java @@ -1,9 +1,4 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.ArrayList; -import java.util.HashSet; import java.util.List; /** diff --git a/google/src/main/java/com/leetcode/google/UTFValidation.java b/leetcode/solution/src/UTFValidation.java similarity index 96% rename from google/src/main/java/com/leetcode/google/UTFValidation.java rename to leetcode/solution/src/UTFValidation.java index 18dff7f..96cb5b6 100644 --- a/google/src/main/java/com/leetcode/google/UTFValidation.java +++ b/leetcode/solution/src/UTFValidation.java @@ -1,5 +1,3 @@ -package com.leetcode.google; - /** * Created by liwentian on 2017/8/31. */ diff --git a/solution/src/main/java/com/inuker/solution/UglyNumber.java b/leetcode/solution/src/UglyNumber.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/UglyNumber.java rename to leetcode/solution/src/UglyNumber.java index 8fa54c2..a0f31e8 100644 --- a/solution/src/main/java/com/inuker/solution/UglyNumber.java +++ b/leetcode/solution/src/UglyNumber.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/UglyNumberII.java b/leetcode/solution/src/UglyNumberII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/UglyNumberII.java rename to leetcode/solution/src/UglyNumberII.java index 1846e08..9fe33a9 100644 --- a/solution/src/main/java/com/inuker/solution/UglyNumberII.java +++ b/leetcode/solution/src/UglyNumberII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/UniqueBinarySearchTrees.java b/leetcode/solution/src/UniqueBinarySearchTrees.java similarity index 93% rename from solution/src/main/java/com/inuker/solution/UniqueBinarySearchTrees.java rename to leetcode/solution/src/UniqueBinarySearchTrees.java index 0b5c731..ba20c43 100644 --- a/solution/src/main/java/com/inuker/solution/UniqueBinarySearchTrees.java +++ b/leetcode/solution/src/UniqueBinarySearchTrees.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/28. */ diff --git a/solution/src/main/java/com/inuker/solution/UniqueBinarySearchTreesII.java b/leetcode/solution/src/UniqueBinarySearchTreesII.java similarity index 94% rename from solution/src/main/java/com/inuker/solution/UniqueBinarySearchTreesII.java rename to leetcode/solution/src/UniqueBinarySearchTreesII.java index 7ac877f..3f843d6 100644 --- a/solution/src/main/java/com/inuker/solution/UniqueBinarySearchTreesII.java +++ b/leetcode/solution/src/UniqueBinarySearchTreesII.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - import java.util.Collections; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/ValidAnagram.java b/leetcode/solution/src/ValidAnagram.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/ValidAnagram.java rename to leetcode/solution/src/ValidAnagram.java index e1e33c0..3dfd355 100644 --- a/solution/src/main/java/com/inuker/solution/ValidAnagram.java +++ b/leetcode/solution/src/ValidAnagram.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/ValidPalindrome.java b/leetcode/solution/src/ValidPalindrome.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/ValidPalindrome.java rename to leetcode/solution/src/ValidPalindrome.java index 0e21fec..98b0a87 100644 --- a/solution/src/main/java/com/inuker/solution/ValidPalindrome.java +++ b/leetcode/solution/src/ValidPalindrome.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/22. */ diff --git a/solution/src/main/java/com/inuker/solution/ValidParentheses.java b/leetcode/solution/src/ValidParentheses.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ValidParentheses.java rename to leetcode/solution/src/ValidParentheses.java index 021d814..2ed8671 100644 --- a/solution/src/main/java/com/inuker/solution/ValidParentheses.java +++ b/leetcode/solution/src/ValidParentheses.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/16. */ diff --git a/solution/src/main/java/com/inuker/solution/ValidPerfectSquare.java b/leetcode/solution/src/ValidPerfectSquare.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/ValidPerfectSquare.java rename to leetcode/solution/src/ValidPerfectSquare.java index 326eedf..616ef53 100644 --- a/solution/src/main/java/com/inuker/solution/ValidPerfectSquare.java +++ b/leetcode/solution/src/ValidPerfectSquare.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/22. */ diff --git a/solution/src/main/java/com/inuker/solution/ValidSudoku.java b/leetcode/solution/src/ValidSudoku.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ValidSudoku.java rename to leetcode/solution/src/ValidSudoku.java index 4fb6008..67871c6 100644 --- a/solution/src/main/java/com/inuker/solution/ValidSudoku.java +++ b/leetcode/solution/src/ValidSudoku.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/ValidWordAbbr.java b/leetcode/solution/src/ValidWordAbbr.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ValidWordAbbr.java rename to leetcode/solution/src/ValidWordAbbr.java index 6f87894..c9937fa 100644 --- a/solution/src/main/java/com/inuker/solution/ValidWordAbbr.java +++ b/leetcode/solution/src/ValidWordAbbr.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashMap; import java.util.HashSet; import java.util.Set; diff --git a/solution/src/main/java/com/inuker/solution/ValidWordAbbreviation.java b/leetcode/solution/src/ValidWordAbbreviation.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/ValidWordAbbreviation.java rename to leetcode/solution/src/ValidWordAbbreviation.java index 3f958b5..09f2ed4 100644 --- a/solution/src/main/java/com/inuker/solution/ValidWordAbbreviation.java +++ b/leetcode/solution/src/ValidWordAbbreviation.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by liwentian on 2017/9/6. */ diff --git a/solution/src/main/java/com/inuker/solution/ValidWordSquare.java b/leetcode/solution/src/ValidWordSquare.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/ValidWordSquare.java rename to leetcode/solution/src/ValidWordSquare.java index d40e71d..9086769 100644 --- a/solution/src/main/java/com/inuker/solution/ValidWordSquare.java +++ b/leetcode/solution/src/ValidWordSquare.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.List; /** diff --git a/solution/src/main/java/com/inuker/solution/ValidateBinarySearchTree.java b/leetcode/solution/src/ValidateBinarySearchTree.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/ValidateBinarySearchTree.java rename to leetcode/solution/src/ValidateBinarySearchTree.java index 0c6d37c..bc23863 100644 --- a/solution/src/main/java/com/inuker/solution/ValidateBinarySearchTree.java +++ b/leetcode/solution/src/ValidateBinarySearchTree.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import com.leetcode.library.TreeNode; - /** * Created by dingjikerbo on 2016/11/17. */ diff --git a/solution/src/main/java/com/inuker/solution/Vector2D.java b/leetcode/solution/src/Vector2D.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/Vector2D.java rename to leetcode/solution/src/Vector2D.java index 4e0aa03..54a6e0b 100644 --- a/solution/src/main/java/com/inuker/solution/Vector2D.java +++ b/leetcode/solution/src/Vector2D.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Iterator; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/VerifyPreorderSequenceInBinarySearchTree.java b/leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java similarity index 96% rename from solution/src/main/java/com/inuker/solution/VerifyPreorderSequenceInBinarySearchTree.java rename to leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java index da9ed7e..8f668b7 100644 --- a/solution/src/main/java/com/inuker/solution/VerifyPreorderSequenceInBinarySearchTree.java +++ b/leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/12/2. */ diff --git a/solution/src/main/java/com/inuker/solution/WallsAndGates.java b/leetcode/solution/src/WallsAndGates.java similarity index 99% rename from solution/src/main/java/com/inuker/solution/WallsAndGates.java rename to leetcode/solution/src/WallsAndGates.java index 9bd8a27..c82c628 100644 --- a/solution/src/main/java/com/inuker/solution/WallsAndGates.java +++ b/leetcode/solution/src/WallsAndGates.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.LinkedList; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/WiggleSort.java b/leetcode/solution/src/WiggleSort.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/WiggleSort.java rename to leetcode/solution/src/WiggleSort.java index f0a8ccf..77c5258 100644 --- a/solution/src/main/java/com/inuker/solution/WiggleSort.java +++ b/leetcode/solution/src/WiggleSort.java @@ -1,7 +1,3 @@ -package com.inuker.solution; - -import java.util.Arrays; - /** * Created by dingjikerbo on 16/12/10. */ diff --git a/solution/src/main/java/com/inuker/solution/WiggleSortII.java b/leetcode/solution/src/WiggleSortII.java similarity index 99% rename from solution/src/main/java/com/inuker/solution/WiggleSortII.java rename to leetcode/solution/src/WiggleSortII.java index 7180c75..c81a9c9 100644 --- a/solution/src/main/java/com/inuker/solution/WiggleSortII.java +++ b/leetcode/solution/src/WiggleSortII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/WildcardMatching.java b/leetcode/solution/src/WildcardMatching.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/WildcardMatching.java rename to leetcode/solution/src/WildcardMatching.java index 1fdba82..8165b57 100644 --- a/solution/src/main/java/com/inuker/solution/WildcardMatching.java +++ b/leetcode/solution/src/WildcardMatching.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/20. */ diff --git a/solution/src/main/java/com/inuker/solution/WordBreak.java b/leetcode/solution/src/WordBreak.java similarity index 92% rename from solution/src/main/java/com/inuker/solution/WordBreak.java rename to leetcode/solution/src/WordBreak.java index 78ab17e..8553c1a 100644 --- a/solution/src/main/java/com/inuker/solution/WordBreak.java +++ b/leetcode/solution/src/WordBreak.java @@ -1,7 +1,4 @@ -package com.inuker.solution; - import java.util.List; -import java.util.Set; /** * Created by dingjikerbo on 2016/11/17. diff --git a/solution/src/main/java/com/inuker/solution/WordBreakII.java b/leetcode/solution/src/WordBreakII.java similarity index 90% rename from solution/src/main/java/com/inuker/solution/WordBreakII.java rename to leetcode/solution/src/WordBreakII.java index 75f76ca..60cebef 100644 --- a/solution/src/main/java/com/inuker/solution/WordBreakII.java +++ b/leetcode/solution/src/WordBreakII.java @@ -1,13 +1,4 @@ -package com.inuker.solution; - -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * Created by dingjikerbo on 2016/11/17. diff --git a/solution/src/main/java/com/inuker/solution/WordDictionary.java b/leetcode/solution/src/WordDictionary.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/WordDictionary.java rename to leetcode/solution/src/WordDictionary.java index 41a0235..5ac1d56 100644 --- a/solution/src/main/java/com/inuker/solution/WordDictionary.java +++ b/leetcode/solution/src/WordDictionary.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 2016/11/22. */ diff --git a/solution/src/main/java/com/inuker/solution/WordLadder.java b/leetcode/solution/src/WordLadder.java similarity index 99% rename from solution/src/main/java/com/inuker/solution/WordLadder.java rename to leetcode/solution/src/WordLadder.java index 7e79ae5..a79dec1 100644 --- a/solution/src/main/java/com/inuker/solution/WordLadder.java +++ b/leetcode/solution/src/WordLadder.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashSet; import java.util.LinkedList; import java.util.Queue; diff --git a/solution/src/main/java/com/inuker/solution/WordLadderII.java b/leetcode/solution/src/WordLadderII.java similarity index 95% rename from solution/src/main/java/com/inuker/solution/WordLadderII.java rename to leetcode/solution/src/WordLadderII.java index 9b190f9..57254ed 100644 --- a/solution/src/main/java/com/inuker/solution/WordLadderII.java +++ b/leetcode/solution/src/WordLadderII.java @@ -1,10 +1,4 @@ -package com.inuker.solution; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; +import java.util.*; /** * Created by dingjikerbo on 2016/11/17. diff --git a/solution/src/main/java/com/inuker/solution/WordSearch.java b/leetcode/solution/src/WordSearch.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/WordSearch.java rename to leetcode/solution/src/WordSearch.java index 62ff807..82f84cd 100644 --- a/solution/src/main/java/com/inuker/solution/WordSearch.java +++ b/leetcode/solution/src/WordSearch.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - /** * Created by dingjikerbo on 16/11/22. */ diff --git a/solution/src/main/java/com/inuker/solution/WordSearchII.java b/leetcode/solution/src/WordSearchII.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/WordSearchII.java rename to leetcode/solution/src/WordSearchII.java index ed6cac1..3e58fd2 100644 --- a/solution/src/main/java/com/inuker/solution/WordSearchII.java +++ b/leetcode/solution/src/WordSearchII.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.HashSet; import java.util.LinkedList; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/WordSquares.java b/leetcode/solution/src/WordSquares.java similarity index 91% rename from solution/src/main/java/com/inuker/solution/WordSquares.java rename to leetcode/solution/src/WordSquares.java index 53aff23..f3d6e70 100644 --- a/solution/src/main/java/com/inuker/solution/WordSquares.java +++ b/leetcode/solution/src/WordSquares.java @@ -1,11 +1,4 @@ -package com.inuker.solution; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * Created by dingjikerbo on 17/1/2. diff --git a/solution/src/main/java/com/inuker/solution/ZigZagConversion.java b/leetcode/solution/src/ZigZagConversion.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ZigZagConversion.java rename to leetcode/solution/src/ZigZagConversion.java index 0b1a43a..b65944d 100644 --- a/solution/src/main/java/com/inuker/solution/ZigZagConversion.java +++ b/leetcode/solution/src/ZigZagConversion.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.Arrays; /** diff --git a/solution/src/main/java/com/inuker/solution/ZigzagIterator.java b/leetcode/solution/src/ZigzagIterator.java similarity index 97% rename from solution/src/main/java/com/inuker/solution/ZigzagIterator.java rename to leetcode/solution/src/ZigzagIterator.java index 1e517fc..0f2e342 100644 --- a/solution/src/main/java/com/inuker/solution/ZigzagIterator.java +++ b/leetcode/solution/src/ZigzagIterator.java @@ -1,5 +1,3 @@ -package com.inuker.solution; - import java.util.ArrayList; import java.util.Iterator; import java.util.List; diff --git a/solution/src/main/java/com/inuker/solution/system/DesignTinyURL.java b/leetcode/solution/src/system/DesignTinyURL.java similarity index 98% rename from solution/src/main/java/com/inuker/solution/system/DesignTinyURL.java rename to leetcode/solution/src/system/DesignTinyURL.java index a58b5a2..df9b3fe 100644 --- a/solution/src/main/java/com/inuker/solution/system/DesignTinyURL.java +++ b/leetcode/solution/src/system/DesignTinyURL.java @@ -1,4 +1,4 @@ -package com.inuker.solution.system; +package system; /** * Created by liwentian on 2017/10/17. diff --git a/solution/src/main/java/com/inuker/solution/system/Info.java b/leetcode/solution/src/system/Info.java similarity index 79% rename from solution/src/main/java/com/inuker/solution/system/Info.java rename to leetcode/solution/src/system/Info.java index f42f53e..e7e9253 100644 --- a/solution/src/main/java/com/inuker/solution/system/Info.java +++ b/leetcode/solution/src/system/Info.java @@ -1,4 +1,4 @@ -package com.inuker.solution.system; +package system; /** * Created by liwentian on 2017/10/17. diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java new file mode 100644 index 0000000..ef7168f --- /dev/null +++ b/leetcode/src/Main.java @@ -0,0 +1,29 @@ +import java.util.LinkedList; +import java.util.Queue; +import java.util.Stack; + +public class Main { + + public TreeNode trimBST(TreeNode root, int L, int R) { + if (root == null) { + return root; + } + + if (root.val > R) { + root.right = null; + return trimBST(root.left, L, R); + } + + if (root.val < L) { + root.left = null; + return trimBST(root.right, L, R); + } + + root.left = trimBST(root.left, L, R); + root.right = trimBST(root.right, L, R); + return root; + } + + public static void main(String[] args) { + } +} diff --git a/library/.gitignore b/library/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/library/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/library/build.gradle b/library/build.gradle deleted file mode 100644 index 49df001..0000000 --- a/library/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -apply plugin: 'java' - -dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) -} - -sourceCompatibility = "1.7" -targetCompatibility = "1.7" diff --git a/library/library.iml b/library/library.iml deleted file mode 100644 index 163b10e..0000000 --- a/library/library.iml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/library/src/main/java/.DS_Store b/library/src/main/java/.DS_Store deleted file mode 100644 index 0a8bc21eef2735eaef7786d6a2b9eb2fa2ef83ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~J!%6%427R!7lt%jx}3%b$PET#pTHLgIFQCa5J>7ddY*ootW$?2Jc0B^niaeI z6+0^cw*P#40VV(&x+``bW@gM+IOC4%*XiSSx!>Md@hb2XF*8;s%=T+rA_5{H0wN#+ zBCsF=d5UB6yr5^&qlkbAEQ5f59~#}YmyXo*1n$X) z{*2bD|3maY_)~nUGrOBoN&DKCGPBHnli8Ww?03iR4FHJFD0vRx1AvE0SZiQ+iO@Ld zoYb6W0a2Ja_CZ4e>6=XN&qcH2HZnlZ&Vvk6Y$aTHesQK_9HSTGHR@ATadw9NCGqjN z7`XVq@gP%0*=qd}wT1e<`wzUv;u1Cg;o`@zug75-m7}5)4L_J)DoJB!ccZdDv)^f* zo!e2oqtbEDfBZ`4Wu)?Scp-IfSLKNwcl0PvioMXzx2uw}-}9ezhv@;PcB4GqQH6?C zrpiOFL9OR6PbRDFc2lmdznnJZWMiY%lrPrSr&Irn=dCwOUd_Dd4{m0K= zX6qpEMK|)u;S7GGF-PPtg)1?HO-H|Uae>3iqD=?k ziVxvd7Op}OW_6rjns5+-MedmaX5fDYsP;qg>Hgooy8bso+%W^pz};j()VIQ|4(`p} zt#iAiyH=upLM5TN%Hnwn8s;j-Sh|XrQH`Kql7SdFtSq7jg+Bxg4csvU*UG>@cua2M diff --git a/library/src/main/java/com/leetcode/.DS_Store b/library/src/main/java/com/leetcode/.DS_Store deleted file mode 100644 index 6e0330518959676bd51263433fccd87f4eaeb5ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKPjAyO6o2jtO}9%BAWhW}h(z@fLI#IVxfoJjiMEb^kpa1O4dB3l;@T~(pP<+xKZ_&Ohp4ra6D%vy zbegA>tLR@eCo|bl~24ERrH*Nt`XE?(MQ964S1jBvHN>=>B$DRE!4h?S2*?U}`^1;vJSV z$~Y?you+&S?)q%D+3B>r&8-LXmN(npZnwPq_qOJ9_pRgHx!Za4>}5KC_u=EG&qrUr ze*3N_4g^1PB{vN&;24c_B=Y@@U?|4vBBUBI7QJ3HDTV+)j^965ap(FNi|CSwbadG$ z2SJu_k?dpti??5TC2Lv+ECW}S0ka`EYgd&3J8#Q?W#B>v - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/solution/src/main/java/com/inuker/solution/.DS_Store b/solution/src/main/java/com/inuker/solution/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0= s.length || s[j] == ' ') { - reverse(s, i, j - 1); - for (i = j; j < s.length && s[j] == ' '; j++, i = j) ; - } else { - j++; - } - } - reverse(s, 0, s.length - 1); - } - - private void reverse(char[] s, int start, int end) { - for (int i = start, j = end; i < j; i++, j--) { - char t = s[i]; - s[i] = s[j]; - s[j] = t; - } - } -} diff --git a/solution/src/main/java/com/inuker/solution/UTFValidation.java b/solution/src/main/java/com/inuker/solution/UTFValidation.java deleted file mode 100644 index 9b627b0..0000000 --- a/solution/src/main/java/com/inuker/solution/UTFValidation.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.inuker.solution; - -/** - * Created by liwentian on 2017/8/31. - */ - -public class UTFValidation { - - public boolean validUtf8(int[] data) { - for (int i = 0; i < data.length; ) { - int n = data[i], size; - - if (n >>> 7 == 0) { - size = 1; - } else if (n >>> 5 == 0x6) { - size = 2; - } else if (n >>> 4 == 0xe) { - size = 3; - } else if (n >>> 3 == 0x1e) { - size = 4; - } else { - return false; - } - - if (i + size > data.length) { - return false; - } - - for (i++, size--; size > 0; size--, i++) { - if (data[i] >>> 6 != 2) { - return false; - } - } - } - return true; - } -} diff --git a/temp.txt b/temp.txt deleted file mode 100644 index 83ce2f2..0000000 --- a/temp.txt +++ /dev/null @@ -1 +0,0 @@ - [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/) \ No newline at end of file diff --git a/test.txt b/test.txt deleted file mode 100644 index f8e54e9..0000000 --- a/test.txt +++ /dev/null @@ -1,12 +0,0 @@ -\section{title} %%%%%%%%%%%%%%%%%%%%%%

 - -\subsubsection{Description} - -\subsubsection{Solution} - -\begin{Code} - - -\end{Code} - -\newpage \ No newline at end of file diff --git a/test/.gitignore b/test/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/test/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/test/build.gradle b/test/build.gradle deleted file mode 100644 index b240b5b..0000000 --- a/test/build.gradle +++ /dev/null @@ -1,10 +0,0 @@ -apply plugin: 'java-library' - -dependencies { - implementation fileTree(include: ['*.jar'], dir: 'libs') - compile project(':library') - compile project(':solution') -} - -sourceCompatibility = "1.8" -targetCompatibility = "1.8" diff --git a/test/src/main/java/com/inuker/test/Test.java b/test/src/main/java/com/inuker/test/Test.java deleted file mode 100644 index 39009b8..0000000 --- a/test/src/main/java/com/inuker/test/Test.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.inuker.test; - -/** - * Created by liwentian on 2017/12/4. - */ - -public class Test { - - Caller mCaller; - - void call(String name) { - if (mCaller == null) { - mCaller = new Caller() { - @Override - public void call() { - System.out.println(name); - } - }; - } - mCaller.call(); - } - - interface Caller { - void call(); - } -} diff --git a/test/src/main/java/com/inuker/test/Test2.java b/test/src/main/java/com/inuker/test/Test2.java deleted file mode 100644 index 9ebf802..0000000 --- a/test/src/main/java/com/inuker/test/Test2.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.inuker.test; - -import com.leetcode.library.TreeNode; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.PriorityQueue; -import java.util.Queue; -import java.util.Set; -import java.util.TreeMap; - -/** - * Created by liwentian on 2017/12/5. - */ - -public class Test2 { - -} diff --git a/test/src/main/java/com/inuker/test/main.java b/test/src/main/java/com/inuker/test/main.java deleted file mode 100644 index 594f846..0000000 --- a/test/src/main/java/com/inuker/test/main.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.inuker.test; - -import com.inuker.solution.FindAllNumbersDisappearedInAnArray; -import com.inuker.solution.MinimumSizeSubarraySum; -import com.inuker.solution.NextPermutation; -import com.inuker.solution.SearchForARange; -import com.leetcode.library.ListNode; -import com.leetcode.library.RandomListNode; -import com.leetcode.library.TreeNode; -import com.leetcode.library.UndirectedGraphNode; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.PriorityQueue; -import java.util.Queue; -import java.util.Random; -import java.util.Set; -import java.util.Stack; -import java.util.TreeMap; -import java.util.TreeSet; - -public class main { - - public static void main(String[] args) { - String s = findLongestWord("abpcplea", Arrays.asList("ale","apple","monkey","plea")); - System.out.println(s); - } - - - public static String findLongestWord(String s, List d) { - String longest = ""; - for (String dictWord : d) { - int i = 0; - for (char c : s.toCharArray()) { - if (i < dictWord.length() && c == dictWord.charAt(i)) i++; - } - - if (i == dictWord.length() && dictWord.length() >= longest.length()) { - if (dictWord.length() > longest.length() || dictWord.compareTo(longest) < 0) { - longest = dictWord; - } - } - } - return longest; - } - - -} diff --git a/test/test.iml b/test/test.iml deleted file mode 100644 index cca439b..0000000 --- a/test/test.iml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tools/.gitignore b/tools/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/tools/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/tools/src/main/main3.iml b/tools/src/main/main3.iml new file mode 100644 index 0000000..908ad4f --- /dev/null +++ b/tools/src/main/main3.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file From 197b13503cf9fc9e6dedf683a26b6faeab1cb524 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 25 Aug 2018 17:48:53 +0800 Subject: [PATCH 02/96] try path --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 711336a..bfd4240 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ ## **三、所有题目列表** |#|Title|Solution|Score|Backup| |---|----| ----- |----|---------| -|1|[Two Sum](https://leetcode.com/problems/two-sum/)|[Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TwoSum.java)|100| +|1|[Two Sum](https://leetcode.com/problems/two-sum/)|[Java](leetcode/solution/src/TwoSum.java)|100| |2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AddTwoNumber.java)|80| |3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestSubstringWithoutRepeatingCharacters.java)||这个系列的所有题都要多做几遍| |4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MedianOfTwoSortedArrays.java)|70|这题很经典,多做几遍| From d5c95c624658360a885a0f0142eb22b52fc57321 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 25 Aug 2018 17:50:29 +0800 Subject: [PATCH 03/96] fix path --- README.md | 708 +++++++++++++++++++++++++++--------------------------- 1 file changed, 354 insertions(+), 354 deletions(-) diff --git a/README.md b/README.md index bfd4240..2c4b5a2 100644 --- a/README.md +++ b/README.md @@ -23,359 +23,359 @@ |#|Title|Solution|Score|Backup| |---|----| ----- |----|---------| |1|[Two Sum](https://leetcode.com/problems/two-sum/)|[Java](leetcode/solution/src/TwoSum.java)|100| -|2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AddTwoNumber.java)|80| -|3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestSubstringWithoutRepeatingCharacters.java)||这个系列的所有题都要多做几遍| -|4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MedianOfTwoSortedArrays.java)|70|这题很经典,多做几遍| -|5|[Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestPalindromicSubstring.java)|85|这题对比动态规划和最优算法| -|6|[ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ZigZagConversion.java)|| -|7|[Reverse Integer](https://leetcode.com/problems/reverse-integer/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseInteger.java)|95| -|8|[String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/String2Integer.java)|90|很考代码能力,容易错| -|9|[Palindrome Number](https://leetcode.com/problems/palindrome-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromeNumber.java)|| -|10|[Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RegularExpressionMatching.java)|60|这题很经典,多做几遍,和#44一起| -|11|[Container With Most Water](https://leetcode.com/problems/container-with-most-water/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ContainerWithMostWater.java)|| -|12|[Integer to Roman](https://leetcode.com/problems/integer-to-roman/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/IntegerToRoman.java)|| -|13|[Roman to Integer](https://leetcode.com/problems/roman-to-integer/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RomanToInteger.java)|| -|14|[Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestCommonPrefix.java)|| -|15|[3Sum](https://leetcode.com/problems/3sum/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ThreeSum.java)|70| -|16|[3Sum Closest](https://leetcode.com/problems/3sum-closest/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ThreeSumClosest.java)|| -|17|[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LetterCombinationOfPhoneNumber.java)|85|| -|18|[4Sum](https://leetcode.com/problems/4sum/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FourSum.java)|| -|19|[Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveNthNodeFromEndOfList.java)|| -|20|[Valid Parentheses](https://leetcode.com/problems/valid-parentheses/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ValidParentheses.java)|100| -|21|[Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MergeTwoSortedList.java)|90| -|22|[Generate Parentheses](https://leetcode.com/problems/generate-parentheses/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/GenerateParentheses.java)|80|这题看两遍| -|23|[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MergeKSortedList.java)|70| -|24|[Swap Nodes in Pairs](https://leetcode.com/problems/swap-nodes-in-pairs/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SwapNodesInPairs.java)|| -|25|[Reverse Nodes in k-Group](https://leetcode.com/problems/reverse-nodes-in-k-group/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseNodesInKGroup.java)|80| -|26|[Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedArray.java)|80| -|27|[Remove Element](https://leetcode.com/problems/remove-element/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveElement.java)|| -|28|[ Implement strStr()](https://leetcode.com/problems/implement-strstr/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/StrStr.java)|70| -|29|[Divide Two Integers](https://leetcode.com/problems/divide-two-integers/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/DivideTwoIntegers.java)|| -|30|[Substring with Concatenation of All Words](https://leetcode.com/problems/substring-with-concatenation-of-all-words/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SubstringWithConcatenationOfAllWords.java)|| -|31|[Next Permutation](https://leetcode.com/problems/next-permutation/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NextPermutation.java)|| -|32|[Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestValidParentheses.java)|| -|33|[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SearchInRotatedSortedArray.java)|80| -|34|[Search for a Range](https://leetcode.com/problems/search-for-a-range/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SearchForARange.java)|| -|35|[Search Insert Position](https://leetcode.com/problems/search-insert-position/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SearchInsertPosition.java)|| -|36|[Valid Sudoku](https://leetcode.com/problems/valid-sudoku/#/description)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ValidSudoku.java)|80| -|37|[Sudoku Solver](https://leetcode.com/problems/sudoku-solver/#/description)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SudokuSolver.java)|70|这道题是典型的back tracking,多做几遍| -|38|[Count and Say](https://leetcode.com/problems/count-and-say/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CountAndSay.java)|80| -|39|[Combination Sum](https://leetcode.com/problems/combination-sum/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CombinationSum.java)|70|排列组合系列的题要多做几遍| -|40|[Combination Sum II](https://leetcode.com/problems/combination-sum-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CombinationSumII.java)|70| -|41|[First Missing Positive](https://leetcode.com/problems/first-missing-positive/#/description)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FirstMissingPositive.java)|| -|42|[Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TrappingRainWater.java)|95| -|43|[Multiply Strings](https://leetcode.com/problems/multiply-strings/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MultiplyStrings.java)|80| -|44|[Wildcard Matching](https://leetcode.com/problems/wildcard-matching/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WildcardMatching.java)|60|和#10多做几遍| -|45|[Jump Game II](https://leetcode.com/problems/jump-game-ii/#/description)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/JumpGameII.java)|| -|46|[Permutations](https://leetcode.com/problems/permutations/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Permutations.java)|| -|47|[Permutations II](https://leetcode.com/problems/permutations-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PermutationsII.java)|70|多做几遍| -|48|[Rotate Image](https://leetcode.com/problems/rotate-image/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RotateImage.java)|100| -|49|[Group Anagrams](https://leetcode.com/problems/anagrams/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/GroupAnagrams.java)|95| -|50|[Pow(x, n)](https://leetcode.com/problems/powx-n/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Pow.java)|80| -|51|[N-Queens](https://leetcode.com/problems/n-queens/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NQueens.java)|| -|52|[N-Queens II](https://leetcode.com/problems/n-queens-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NQueensII.java)|| -|53|[Maximum Subarray](https://leetcode.com/problems/maximum-subarray/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaximumSubarray.java)|95| -|54|[Spiral Matrix](https://leetcode.com/problems/spiral-matrix/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SpiralMatrix.java)|85|| -|55|[Jump Game](https://leetcode.com/problems/jump-game/#/description)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/JumpGame.java)|| -|56|[Merge Intervals](https://leetcode.com/problems/merge-intervals/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MergeIntervals.java)|70| -|57|[Insert Interval](https://leetcode.com/problems/insert-interval/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/InsertInterval.java)|75|这题要多做几遍| -|60|[Permutation Sequence](https://leetcode.com/problems/permutation-sequence/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PermutationSequence.java)|70|这题思路巧妙,多做两遍| -|61|[Rotate List](https://leetcode.com/problems/rotate-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RotateList.java)|90|| -|66|[Plus One](https://leetcode.com/problems/plus-one/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PlusOne.java)|100|这题多看一遍| -|67|[Add Binary](https://leetcode.com/problems/add-binary/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AddBinary.java)|100| -|68|[Text Justification](https://leetcode.com/problems/text-justification/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TextJustification.java)|| -|69|[Sqrt(x)](https://leetcode.com/problems/sqrtx/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Sqrt.java)|85| -|71|[Simplify Path](https://leetcode.com/problems/simplify-path/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SimplifyPath.java)|80| -|72|[Edit Distance](https://leetcode.com/problems/edit-distance/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/EditDistance.java)|75| -|73|[Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes/description/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SetMatrixZeroes.java)|90| -|74|[Search a 2D Matrix](https://leetcode.com/problems/search-a-2d-matrix/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Search2DMatrix.java)|| -|75|[Sort Colors](https://leetcode.com/problems/sort-colors/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SortColors.java)|65|这题多做几遍,很有意思| -|76|[Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MinimumWindowSubstring.java)|50|这题以及类似的题一定要多做几遍,很经典,参见window| -|77|[Combinations](https://leetcode.com/problems/combinations)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Combinations.java)|| -|78|[Subsets](https://leetcode.com/problems/subsets/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Subsets.java)|85| -|79|[Word Search](https://leetcode.com/problems/word-search/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WordSearch.java)|85| -|80|[Remove Duplicates from Sorted Array II](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedArrayII.java)|100| -|81|[Search in Rotated Sorted Array II](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SearchInRotatedSortedArrayII.java)|70| -|82|[Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedListII.java)|75| -|83|[Remove Duplicates from Sorted List](https://leetcode.com/problems/remove-duplicates-from-sorted-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveDuplicatesFromSortedList.java)|100| -|84|[Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LargestRectangleInHistogram.java)|70| -|85|[Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaximalRectangle.java)|75| -|86|[Partition List](https://leetcode.com/problems/partition-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PartitionList.java)|90|| -|88|[Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MergeSortedArray.java)|100| -|90|[Subsets II](https://leetcode.com/problems/subsets-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SubsetsII.java)|80| -|91|[Decode Ways](https://leetcode.com/problems/decode-ways/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/DecodeWays.java)|75|这题多做几遍,包括#639| -|92|[Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseLinkedListII.java)|80|| -|93|[Restore IP Addresses](https://leetcode.com/problems/restore-ip-addresses/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RestoreIPAddresses.java)|80|多看两遍| -|94|[Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeInorderTraversal.java)|100| -|95|[Unique Binary Search Trees II](https://leetcode.com/problems/unique-binary-search-trees-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/UniqueBinarySearchTreesII.java)|70|多做几遍,递归和DP| -|96|[Unique Binary Search Trees](https://leetcode.com/problems/unique-binary-search-trees/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/UniqueBinarySearchTrees.java)|80| -|98|[Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ValidateBinarySearchTree.java)|85|注意溢出| -|99|[Recover Binary Search Tree](https://leetcode.com/problems/recover-binary-search-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RecoverBinarySearchTree.java)|60|这题很容易错,要多做几遍| -|100|[Same Tree](https://leetcode.com/problems/same-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SameTree.java)|100| -|101|[Symmetric Tree](https://leetcode.com/problems/symmetric-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SymmetricTree.java)|95| -|102|[Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeLevelOrderTraversal.java)|85| -|103|[Binary Tree Zigzag Level Order Traversal](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeZigzagLevelOrderTraversal.java)|80| -|104|[Maximum Depth of Binary Tree](https://leetcode.com/problems/maximum-depth-of-binary-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaximumDepthOfBinaryTree.java)|100| -|105|[Construct Binary Tree from Preorder and Inorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ConstructBinaryTreeFromPreorderInorderTraversal.java)|95| -|106|[Construct Binary Tree from Inorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.java)|90| -|107|[Binary Tree Level Order Traversal II](https://leetcode.com/problems/binary-tree-level-order-traversal-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeLevelOrderTraversalII.java)|100| -|108|[Convert Sorted Array to Binary Search Tree](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ConvertSortedArrayToBinarySearchTree.java)|100| -|109|[Convert Sorted List to Binary Search Tree](https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ConvertSortedListToBinarySearchTree.java)|90|| -|110|[Balanced Binary Tree](https://leetcode.com/problems/balanced-binary-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BalancedBinaryTree.java)|80| -|111|[Minimum Depth of Binary Tree](https://leetcode.com/problems/minimum-depth-of-binary-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MinimumDepthOfBinaryTree.java)|80| -|112|[Path Sum](https://leetcode.com/problems/path-sum/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PathSum.java)|85| -|113|[Path Sum II](https://leetcode.com/problems/path-sum-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PathSumII.java)|65|错了好几次,得多做几遍| -|114|[Flatten Binary Tree to Linked List](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FlattenBinaryTreeToLinkedList.java)|80| -|116|[Populating Next Right Pointers in Each Node](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PopulatingNextRightPointersInEachNode.java)|80| -|117|[Populating Next Right Pointers in Each Node II](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PopulatingNextRightPointersInEachNodeII.java)|80| -|118|[Pascal's Triangle](https://leetcode.com/problems/pascals-triangle/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PascalsTriangle.java)|80|| -|119|[Pascal's Triangle II](https://leetcode.com/problems/pascals-triangle-ii/description/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PascalTriangleII.java)|80|| -|121|[Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BestTimeBuySellStock.java)|100| -|122|[Best Time to Buy and Sell Stock II](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockII.java)|100| -|123|[Best Time to Buy and Sell Stock III](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockIII.java)|75| -|124|[Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeMaximumPathSum.java)|60| -|125|[Valid Palindrome](https://leetcode.com/problems/valid-palindrome/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ValidPalindrome.java)|100| -|126|[Word Ladder II](https://leetcode.com/problems/word-ladder-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WordLadderII.java)|| -|127|[Word Ladder](https://leetcode.com/problems/word-ladder/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WordLadder.java)|70|此题非常经典,务必连同ii多做几遍,将双端BFS吃透| -|128|[Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestConsecutiveSequence.java)|60| -|129|[Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SumRootToLeafNumbers.java)|60|这题错了几次,多做几遍| -|130|[Surrounded Regions](https://leetcode.com/problems/surrounded-regions/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SurroundedRegions.java)|65| -|131|[Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromePartitioning.java)|| -|132|[Palindrome Partitioning II](https://leetcode.com/problems/palindrome-partitioning-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromePartitioningII.java)|| -|133|[Clone Graph](https://leetcode.com/problems/clone-graph/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CloneGraph.java)|70|这题不难,多看两遍,BFS方法再做两遍| -|138|[Copy List with Random Pointer](https://leetcode.com/problems/copy-list-with-random-pointer/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CopyListWithRandomPointer.java)|95|有一个易错点| -|139|[Word Break](https://leetcode.com/problems/word-break/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WordBreak.java)|80|多看两遍| -|140|[Word Break II](https://leetcode.com/problems/word-break-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WordBreakII.java)|75|这题多做两遍,很典型| -|141|[Linked List Cycle](https://leetcode.com/problems/linked-list-cycle/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LinkedListCycle.java)|75| -|142|[Linked List Cycle II](https://leetcode.com/problems/linked-list-cycle-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LinkedListCycleII.java)|90|| -|143|[Reorder List](https://leetcode.com/problems/reorder-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReorderList.java)|90|| -|144|[Binary Tree Preorder Traversal](https://leetcode.com/problems/binary-tree-preorder-traversal/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreePreorderTraversal.java)|85| -|145|[Binary Tree Postorder Traversal](https://leetcode.com/problems/binary-tree-postorder-traversal/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreePostorderTraversal.java)|80| -|146|[LRU Cache](https://leetcode.com/problems/lru-cache/)|[Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LRUCache.java)|95|好题目,多做几遍| -|147|[Insertion Sort List](https://leetcode.com/problems/insertion-sort-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/InsertionSortList.java)|90|| -|148|[Sort List](https://leetcode.com/problems/sort-list)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SortList.java)|90|| -|149|[Max Points on a Line](https://leetcode.com/problems/max-points-on-a-line/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaxPointsOnALine.java)|60| -|150|[Evaluate Reverse Polish Notation](https://leetcode.com/problems/evaluate-reverse-polish-notation/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/EvaluateReversePolishNotation.java)|70|| -|151|[Reverse Words in a String](https://leetcode.com/problems/reverse-words-in-a-string/description/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseWordsInAString.java)|70|这题虽然不难,但是也错了几次| -|152|[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaximumProductSubarray.java)|| -|153|[Find Minimum in Rotated Sorted Array](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindMinimumInRotatedSortedArray.java)|| -|154|[Find Minimum in Rotated Sorted Array II](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindMinimumInRotatedSortedArrayII.java)|| -|155|[Min Stack](https://leetcode.com/problems/min-stack/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MinStack.java)|95| -|156|[Binary Tree Upside Down](https://leetcode.com/problems/binary-tree-upside-down/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeUpsideDown.java)|70|这道题挺有意思,多做几遍| -|157|[Read N Characters Given Read4](https://leetcode.com/problems/read-n-characters-given-read4/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReadNCharactersGivenRead4.java)|80|这题多做几遍,结合#158| -|158|[Read N Characters Given Read4 II - Call multiple times](https://leetcode.com/problems/read-n-characters-given-read4-ii-call-multiple-times/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReadNCharactersGivenRead4II.java)|70| -|159|[Longest Substring with At Most Two Distinct Characters](https://leetcode.com/problems/longest-substring-with-at-most-two-distinct-characters/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtMostTwoDistinctCharacters.java)|100|多看两遍| -|160|[Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/IntersectionOfTwoLinkedLists.java)|100| -|161|[One Edit Distance](https://leetcode.com/problems/one-edit-distance/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/OneEditDistance.java)|85|和#72做两遍| -|162|[Find Peak Element](https://leetcode.com/problems/find-peak-element/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindPeakElement.java)|90|| -|163|[Missing Ranges](https://leetcode.com/problems/missing-ranges/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MissingRanges.java)|65|多做几遍,太容易错了| -|164|[Maximum Gap](https://leetcode.com/problems/maximum-gap/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaximumGap.java)|65| -|167|[Two Sum II - Input array is sorted](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TwoSumII.java)|100| -|168|[Excel Sheet Column Title](https://leetcode.com/problems/excel-sheet-column-title/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ExcelSheetColumnTitle.java)|| -|169|[Majority Element](https://leetcode.com/problems/majority-element/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MajorityElement.java)|100|| -|170|[Two Sum III - Data structure design](https://leetcode.com/problems/two-sum-iii-data-structure-design/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TwoSumIII.java)|100|这道题再多做一遍| -|171|[Excel Sheet Column Number](https://leetcode.com/problems/excel-sheet-column-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ExcelSheetColumnNumber.java)|| -|172|[Factorial Trailing Zeroes](https://leetcode.com/problems/factorial-trailing-zeroes/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FactorialTrailingZeroes.java)|100| -|173|[Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BSTIterator.java)|70|多留意一下| -|179|[Largest Number](https://leetcode.com/problems/largest-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LargestNumber.java)|90| -|186|[Reverse Words in a String II](https://leetcode.com/problems/reverse-words-in-a-string-ii/description/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseWordsInAStringII.java)|90|| -|188|[Best Time to Buy and Sell Stock IV](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockIV.java)|| -|189|[Rotate Array](https://leetcode.com/problems/rotate-array/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RotateArray.java)|100|| -|190|[Reverse Bits](https://leetcode.com/problems/reverse-bits/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseBits.java)|85| -|198|[House Robber](https://leetcode.com/problems/house-robber/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/HouseRobber.java)|80| -|199|[Binary Tree Right Side View](https://leetcode.com/problems/binary-tree-right-side-view/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeRightSideView.java)|80| -|200|[Number of Islands](https://leetcode.com/problems/number-of-islands/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NumberOfIslands.java)|85|这道题很经典,而且方法不止一种,每种方法都多做几遍,包括UF,#305| -|203|[Remove Linked List Elements](https://leetcode.com/problems/remove-linked-list-elements/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveLinkedListElements.java)|| -|204|[Count Primes](https://leetcode.com/problems/count-primes/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CountPrimes.java)|85| -|206|[Reverse Linked List](https://leetcode.com/problems/reverse-linked-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseLinkedList.java)|90| -|207|[Course Schedule](https://leetcode.com/problems/course-schedule/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CourseSchedule.java)|100|典型的拓扑排序| -|208|[Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Trie.java)|80|和#211多留意,trie很典型| -|209|[Minimum Size Subarray Sum](https://leetcode.com/problems/minimum-size-subarray-sum/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MinimumSizeSubarraySum.java)|85| -|210|[Course Schedule II](https://leetcode.com/problems/course-schedule-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CourseScheduleII.java)|95|| -|211|[Add and Search Word - Data structure design](https://leetcode.com/problems/add-and-search-word-data-structure-design/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WordDictionary.java)|85| -|212|[Word Search II](https://leetcode.com/problems/word-search-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WordSearchII.java)|| -|213|[House Robber II](https://leetcode.com/problems/house-robber-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/HouseRobberII.java)|80| -|214|[Shortest Palindrome](https://leetcode.com/problems/shortest-palindrome/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ShortestPalindrome.java)|| -|215|[Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/KthLargestElementInArray.java)|65|这题很经典,三种解法都要了然于胸| -|216|[Combination Sum III](https://leetcode.com/problems/combination-sum-iii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CombinationSumIII.java)|65| -|217|[Contains Duplicate](https://leetcode.com/problems/contains-duplicate/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ContainsDuplicate.java)|100| -|218|[The Skyline Problem](https://leetcode.com/problems/the-skyline-problem/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TheSkylineProblem.java)|60|这题多做两遍| -|219|[Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ContainsDuplicateII.java)|95| -|220|[Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ContainsDuplicateIII.java)|65| -|221|[Maximal Square](https://leetcode.com/problems/maximal-square/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaximalSquare.java)|80| -|222|[Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CountCompleteTreeNodes.java)|70|一般的做法会超时| -|223|[Rectangle Area](https://leetcode.com/problems/rectangle-area/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RectangleArea.java)|95| -|224|[Basic Calculator](https://leetcode.com/problems/basic-calculator/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BasicCalculator.java)|80|| -|225|[Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MyStack.java)|90| -|226|[Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/InvertBinaryTree.java)|80| -|228|[Summary Ranges](https://leetcode.com/problems/summary-ranges/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SummaryRanges.java)|70|| -|229|[Majority Element II](https://leetcode.com/problems/majority-element-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MajorityElementII.java)|70|| -|230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/KthSmallestElementInBST.java)|85|注意Follow Up| -|232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MyQueue.java)|95| -|233|[Number of Digit One](https://leetcode.com/problems/number-of-digit-one/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NumberOfDigitOne.java)|| -|234|[Palindrome Linked List](https://leetcode.com/problems/palindrome-linked-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromeLinkedList.java)|75| -|235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)|[Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LowestCommonAncestorOfBinarySearchTree.java)|100| -|236|[Lowest Common Ancestor of a Binary Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LowestCommonAncestorOfBinaryTree.java)|50|这题很经典,多做几遍,留意节点不在树中的情况| -|237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/DeleteNodeInALinkedList.java)|100|| -|238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ProductOfArrayExceptSelf.java)|85| -|239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SlidingWindowMaximum.java)|75|这题非常经典,多做几遍,包括常规算法(优先队列,treemap)及优化算法双端队列| -|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Search2DMatrixII.java)|100| -|241|[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/DifferenceWaysToAddParentheses.java)|| -|242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ValidAnagram.java)|100| -|243|[Shortest Word Distance](https://leetcode.com/problems/shortest-word-distance/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ShortestWordDistance.java)|80| -|244|[Shortest Word Distance II](https://leetcode.com/problems/shortest-word-distance-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ShortestWordDistanceII.java)|80|| -|245|[Shortest Word Distance III](https://leetcode.com/problems/shortest-word-distance-iii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ShortestWordDistanceIII.java)|80|| -|246|[Strobogrammatic Number](https://leetcode.com/problems/strobogrammatic-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/StrobogrammaticNumber.java)|70|#247一个系列,多看两遍| -|247|[Strobogrammatic Number II](https://leetcode.com/problems/strobogrammatic-number-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/StrobogrammaticNumberII.java)|70|多看两遍| -|249|[Group Shifted Strings](https://leetcode.com/problems/group-shifted-strings/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/GroupShiftedStrings.java)|| -|250|[Count Univalue Subtrees](https://leetcode.com/problems/count-univalue-subtrees/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CountUnivalueSubtrees.java)|70|这题要多做几遍| -|251|[Flatten 2D Vector](https://leetcode.com/problems/flatten-2d-vector/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Vector2D.java)|100| -|252|[Meeting Rooms](https://leetcode.com/problems/meeting-rooms/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MeetingRooms.java)|100| -|253|[Meeting Rooms II](https://leetcode.com/problems/meeting-rooms-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MeetingRoomsII.java)|90| -|254|[Factor Combinations](https://leetcode.com/problems/factor-combinations/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FactorCombinations.java)|80|| -|255|[Verify Preorder Sequence in Binary Search Tree](https://leetcode.com/problems/verify-preorder-sequence-in-binary-search-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/VerifyPreorderSequenceInBinarySearchTree.java)|85|很简单,粗心错了| -|256|[Paint House](https://leetcode.com/problems/paint-house/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PaintHouse.java)|95| -|257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreePaths.java)|80| -|259|[3Sum Smaller](https://leetcode.com/problems/3sum-smaller/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ThreeSumSmaller.java)|95|这题虽然简单,但是因为思维定式还是错了几次| -|261|[Graph Valid Tree](https://leetcode.com/problems/graph-valid-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/GraphValidTree.java)|70|这题多做几遍| -|263|[Ugly Number](https://leetcode.com/problems/ugly-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/UglyNumber.java)|85| -|264|[Ugly Number II](https://leetcode.com/problems/ugly-number-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/UglyNumberII.java)|70| -|265|[Paint House II](https://leetcode.com/problems/paint-house-ii)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PaintHouseII.java)|60| -|266|[Palindrome Permutation](https://leetcode.com/problems/palindrome-permutation/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromePermutation.java)|100| -|267|[Palindrome Permutation II](https://leetcode.com/problems/palindrome-permutation-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromePermutationII.java)|80|典型,多看两遍| -|268|[Missing Number](https://leetcode.com/problems/missing-number)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MissingNumber.java)|100|| -|269|[Alien Dictionary](https://leetcode.com/problems/alien-dictionary/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AlienDictionary.java)|70|这题要多做几遍| -|270|[Closest Binary Search Tree Value](https://leetcode.com/problems/closest-binary-search-tree-value/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValue.java)|90| -|271|[Encode and Decode Strings](https://leetcode.com/problems/encode-and-decode-strings/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/EncodeAndDecodeStrings.java)|65|思路巧妙,多看几遍| -|272|[Closest Binary Search Tree Value II](https://leetcode.com/problems/closest-binary-search-tree-value-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ClosestBinarySearchTreeValueII.java)|60|这题非常值得多做几遍,几种写法都试试| -|273|[Integer to English Words](https://leetcode.com/problems/integer-to-english-words/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/IntegerToEnglishWords.java)|75|多做几遍,做到bug free| -|274|[H-Index](https://leetcode.com/problems/h-index/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/HIndex.java)|80| -|275|[H-Index II](https://leetcode.com/problems/h-index-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/HIndexII.java)|75| -|277|[Find the Celebrity](https://leetcode.com/problems/find-the-celebrity/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindCelebrity.java)|100| -|278|[First Bad Version](https://leetcode.com/problems/first-bad-version/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FirstBadVersion.java)|100| -|279|[Perfect Squares](https://leetcode.com/problems/perfect-squares/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PerfectSquares.java)|95| -|280|[Wiggle Sort](https://leetcode.com/problems/wiggle-sort/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WiggleSort.java)|80|思路巧妙,多看两遍| -|281|[Zigzag Iterator](https://leetcode.com/problems/zigzag-iterator/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ZigzagIterator.java)|85|多做三遍,考虑扩展到k的情况| -|282|[Expression Add Operators](https://leetcode.com/problems/expression-add-operators/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ExpressionAddOperators.java)|50| -|283|[Move Zeroes](https://leetcode.com/problems/move-zeroes/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MoveZeroes.java)|100| -|284|[Peeking Iterator](https://leetcode.com/problems/peeking-iterator/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PeekingIterator.java)|100| -|285|[Inorder Successor in BST](https://leetcode.com/problems/inorder-successor-in-bst/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/InorderSuccessorInBST.java)|70|这道题有意思,要多做几遍| -|286|[Walls and Gates](https://leetcode.com/problems/walls-and-gates/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WallsAndGates.java)|70|多看两遍| -|287|[Find the Duplicate Number](https://leetcode.com/problems/find-the-duplicate-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindTheDuplicateNumber.java)|| -|288|[Unique Word Abbreviation](https://leetcode.com/problems/unique-word-abbreviation/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ValidWordAbbr.java)|70|这题不难,多做两遍,题目意思容易理解错| -|289|[Game of Life](https://leetcode.com/problems/game-of-life/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/GameOfLife.java)|70|| -|293|[Flip Game](https://leetcode.com/problems/flip-game/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FlipGame.java)|90|| -|294|[Flip Game II](https://leetcode.com/problems/flip-game-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FlipGameII.java)|90|| -|295|[Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindMedianFromDataStream.java)|| -|297|[Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/)|[Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/Codec.java)|80|好题目,多做做,递归的非递归的| -|298|[Binary Tree Longest Consecutive Sequence](https://leetcode.com/problems/binary-tree-longest-consecutive-sequence/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeLongestConsecutiveSequence.java)|70|多做三遍,尽可能简洁| -|300|[Longest Increasing Subsequence](https://leetcode.com/problems/longest-increasing-subsequence/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestIncreasingSubsequence.java)|| -|301|[Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveInvalidParentheses.java)|70|比较难,多做几遍| -|302|[Smallest Rectangle Enclosing Black Pixels](https://leetcode.com/problems/smallest-rectangle-enclosing-black-pixels/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SmallestRectangleEnclosingBlackPixels.java)||| -|303|[Range Sum Query - Immutable](https://leetcode.com/problems/range-sum-query-immutable/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NumArray.java)|100| -|304|[Range Sum Query 2D - Immutable](https://leetcode.com/problems/range-sum-query-2d-immutable/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NumMatrix.java)|65| -|305|[Number of Islands II](https://leetcode.com/problems/number-of-islands-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NumberOfIslandsII.java)|70|这题多做几遍,经典的UF| -|307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NumArrayII.java)|70|和#303, #304, #308定要多做几遍,掌握BIT| -|308|[Range Sum Query 2D - Mutable](https://leetcode.com/problems/range-sum-query-2d-mutable/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NumMatrixII.java)|70| -|309|[Best Time to Buy and Sell Stock with Cooldown](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BestTimeBuySellStockWithCoolDown.java)|| -|310|[Minimum Height Trees](https://leetcode.com/problems/minimum-height-trees/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MinimumHeightTrees.java)|60|这题多做几遍| -|311|[Sparse Matrix Multiplication](https://leetcode.com/problems/sparse-matrix-multiplication/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SparseMatrixMultiplication.java)|80| -|312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BurstBalloons.java)|60| -|313|[Super Ugly Number](https://leetcode.com/problems/super-ugly-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SuperUglyNumber.java)||| -|314|[Binary Tree Vertical Order Traversal](https://leetcode.com/problems/binary-tree-vertical-order-traversal/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryTreeVerticalOrderTraversal.java)|80| -|315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CountOfSmallerNumbersAfterSelf.java)|60| -|316|[Remove Duplicate Letters](https://leetcode.com/problems/remove-duplicate-letters/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RemoveDuplicateLetters.java)|70| -|317|[Shortest Distance from All Buildings](https://leetcode.com/problems/shortest-distance-from-all-buildings/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ShortestDistanceFromAllBuildings.java)|75|典型的bfs,多做两遍| -|319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BulbSwitcher.java)|90| -|320|[Generalized Abbreviation](https://leetcode.com/problems/generalized-abbreviation/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/GeneralizedAbbreviation.java)|70|这题是典型的back tracking,多做几遍| -|323|[Number of Connected Components in an Undirected Graph](https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NumberOfConnectedComponents.java)|90|典型的图,多看两遍| -|324|[Wiggle Sort II](https://leetcode.com/problems/wiggle-sort-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WiggleSortII.java)|60| -|325|[Maximum Size Subarray Sum Equals k](https://leetcode.com/problems/maximum-size-subarray-sum-equals-k/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaximumSizeSubarraySumEqualsK.java)|75|这题思路有意思,多做几遍| -|328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/OddEvenLinkedList.java)|90| -|329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestIncreasingPathInAMatrix.java)|70|这题要多做几遍| -|332|[Reconstruct Itinerary](https://leetcode.com/problems/reconstruct-itinerary/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReconstructItinerary.java)||| -|333|[Largest BST Subtree](https://leetcode.com/problems/largest-bst-subtree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LargestBSTSubtree.java)|50|这道题虽然不难,但是折腾了很久,一定要多做| -|334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/IncreasingTripletSubsequence.java)|75| -|335|[Self Crossing](https://leetcode.com/problems/self-crossing/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SelfCrossing.java)|80| -|336|[Palindrome Pairs](https://leetcode.com/problems/palindrome-pairs/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PalindromePairs.java)|| -|337|[House Robber III](https://leetcode.com/problems/house-robber-iii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/HouseRobberIII.java)|70|建议再做两遍| -|339|[Nested List Weight Sum](https://leetcode.com/problems/nested-list-weight-sum/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NestedListWeightSum.java)|| -|340|[Longest Substring with At Most K Distinct Characters](https://leetcode.com/problems/longest-substring-with-at-most-k-distinct-characters/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtMostKDistinctCharacters.java)|80|和#159类似| -|341|[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NestedIterator.java)|75|这题有点意思,多做两遍| -|344|[Reverse String](https://leetcode.com/problems/reverse-string/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseString.java)|100|| -|345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseVowelsOfaString.java)|100|| -|346|[Moving Average from Data Stream](https://leetcode.com/problems/moving-average-from-data-stream/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MovingAverage.java)|95| -|347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TopKFrequentElements.java)|85| -|349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/IntersectionOfTwoArrays.java)||| -|350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/IntersectionOfTwoArraysII.java)||| -|351|[Android Unlock Patterns](https://leetcode.com/problems/android-unlock-patterns/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AndroidUnlockPatterns.java)|70|这题多做几遍| -|357|[Count Numbers with Unique Digits](https://leetcode.com/problems/count-numbers-with-unique-digits/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/CountNumberWithUniqueDigits.java)|| -|358|[Rearrange String k Distance Apart](https://leetcode.com/problems/rearrange-string-k-distance-apart/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RearrangeStringKDistanceApart.java)|| -|359|[Logger Rate Limiter](https://leetcode.com/problems/logger-rate-limiter/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LoggerRateLimiter.java)|100|这题如果不考虑空间消耗的话其实很简单| -|361|[Bomb Enemy](https://leetcode.com/problems/bomb-enemy/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BombEnemy.java)|65|这题多做几遍,开始没思路| -|364|[Nested List Weight Sum II](https://leetcode.com/problems/nested-list-weight-sum-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/NestedListWeightSumII.java)|| -|366|[Find Leaves of Binary Tree](https://leetcode.com/problems/find-leaves-of-binary-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindLeavesOfBinaryTree.java)|60|这道题刚开始还没思路| -|367|[Valid Perfect Square](https://leetcode.com/problems/valid-perfect-square)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ValidPerfectSquare.java)||| -|369|[Plus One Linked List](https://leetcode.com/problems/plus-one-linked-list/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PlusOneLinkedList.java)|100|| -|370|[Range Addition](https://leetcode.com/problems/range-addition/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RangeAddition.java)|80|| -|373|[Find K Pairs with Smallest Sums](https://leetcode.com/problems/find-k-pairs-with-smallest-sums/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindKPairsWithSmallestSums.java)||| -|374|[Guess Number Higher or Lower](https://leetcode.com/problems/guess-number-higher-or-lower/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/GuessNumberHigherOrLower.java)|100| -|375|[Guess Number Higher or Lower II](https://leetcode.com/problems/guess-number-higher-or-lower-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/GuessNumberHigherOrLowerII.java)|60| -|377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/combinationSum4.java)|65| -|378|[Kth Smallest Element in a Sorted Matrix](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/KthSmallestElementInASortedMatrix.java)||| -|380|[Insert Delete GetRandom O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RandomizedSet.java)|75|这道题很有意思,多做几遍| -|381|[Insert Delete GetRandom O(1) - Duplicates allowed](https://leetcode.com/problems/insert-delete-getrandom-o1-duplicates-allowed/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RandomizedCollection.java)|| -|382|[Linked List Random Node](https://leetcode.com/problems/linked-list-random-node/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LinkedListRandomNode.java)|| -|384|[Shuffle an Array](https://leetcode.com/problems/shuffle-an-array/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ShuffleAnArray.java)|75| -|387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FirstUniqueCharacterInAString.java)|100| -|388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestAbsoluteFilePath.java)|65|其实不难,乍看没思路,多做几遍| -|391|[Perfect Rectangle](https://leetcode.com/problems/perfect-rectangle/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PerfectRectangle.java)|70|这题很trick,多做两遍| -|393|[UTF-8 Validation](https://leetcode.com/problems/utf-8-validation/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/UTFValidation.java)|60|错了很多次,多做几遍| -|394|[Decode String](https://leetcode.com/problems/decode-string/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/DecodeString.java)|75|这题容易错,多做四遍| -|395|[Longest Substring with At Least K Repeating Characters](https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestSubstringWithAtLeastKRepeatingCharacters.java)|65| -|398|[Random Pick Index](https://leetcode.com/problems/random-pick-index/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RandomPickIndex.java)|80| -|399|[Evaluate Division](https://leetcode.com/problems/evaluate-division/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/EvaluateDivision.java)|60|这题多做几遍| -|401|[Binary Watch](https://leetcode.com/problems/binary-watch/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BinaryWatch.java)|| -|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SumOfLeftLeaves.java)|80| -|406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/QueueReconstructionByHeight.java)|60|这题开始没思路,多做几遍| -|407|[Trapping Rain Water II](https://leetcode.com/problems/trapping-rain-water-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TrappingRainWaterII.java)|| -|408|[Valid Word Abbreviation](https://leetcode.com/problems/valid-word-abbreviation/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/validWordAbbreviation.java)|80|多做两遍| -|409|[Longest Palindrome](https://leetcode.com/problems/longest-palindrome/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestPalindrome.java)|| -|410|[Split Array Largest Sum](https://leetcode.com/problems/split-array-largest-sum)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SplitArrayLargestSum.java)|| -|412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FizzBuzz.java)|100| -|413|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ThirdMaximumNumber.java)|80|| -|418|[Sentence Screen Fitting](https://leetcode.com/problems/sentence-screen-fitting/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SentenceScreenFitting.java)|65|这题思路巧妙,多做几遍,常规思路超时| -|422|[Valid Word Square](https://leetcode.com/problems/valid-word-square/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ValidWordSquare.java)|90| -|425|[Word Squares](https://leetcode.com/problems/word-squares/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/WordSquare.java)|70|这题很典型,多做几遍| -|436|[Find Right Interval](https://leetcode.com/problems/find-right-interval/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindRightInterval.java)||| -|437|[Path Sum III](https://leetcode.com/problems/path-sum-iii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/PathSumIII.java)|60|这道题错了很多遍,要重点关注| -|438|[Find All Anagrams in a String](https://leetcode.com/problems/find-all-anagrams-in-a-string/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindAllAnagramsInString.java)|75|这道题非常经典,最优解法需要多做几遍,保证once bug free| -|442|[Find All Duplicates in an Array](https://leetcode.com/problems/find-all-duplicates-in-an-array/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindAllDuplicatesInAnArray.java)|80|| -|445|[Add Two Numbers II](https://leetcode.com/problems/add-two-numbers-ii/discuss/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AddTwoNumbersII.java)|80|| -|448|[Find All Numbers Disappeared in an Array](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindAllNumbersDisappearedInAnArray.java)|80|| -|449|[Serialize and Deserialize BST](https://leetcode.com/problems/serialize-and-deserialize-bst)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SerializeAndDeserializeBST.java)|90|和#297一样| -|450|[Delete Node in a BST](https://leetcode.com/problems/delete-node-in-a-bst/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/DeleteNodeInBST.java)|60|这题非常经典,值得多做十遍| -|451|[Sort Characters By Frequency](https://leetcode.com/problems/sort-characters-by-frequency/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SortCharactersByFrequency.java)||| -|459|[Repeated Substring Pattern](https://leetcode.com/problems/repeated-substring-pattern/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RepeatedSubstringPattern.java)||| -|477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TotalHammingDistance.java)|| -|480|[Sliding Window Median](https://leetcode.com/problems/sliding-window-median/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SlidingWindowMedian.java)|70|| -|482|[License Key Formatting](https://leetcode.com/problems/license-key-formatting/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LicenseKeyFormatting.java)|90|| -|483|[Smallest Good Base](https://leetcode.com/problems/smallest-good-base/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SmallestGoodBase.java)||| -|485|[Max Consecutive Ones](https://leetcode.com/problems/max-consecutive-ones/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaxConsecutiveOnes.java)|100|| -|487|[Max Consecutive Ones II](https://leetcode.com/problems/max-consecutive-ones-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MaxConsecutiveOnesII.java)|80|| -|501|[Find Mode in Binary Search Tree](https://leetcode.com/problems/find-mode-in-binary-search-tree/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindModeInBinarySearchTree.java)|70|不难,容易错,多做两次| -|508|[Most Frequent Subtree Sum](https://leetcode.com/problems/most-frequent-subtree-sum/submissions/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/MostFrequentSubtreeSum.java)|| -|513|[Find Bottom Left Tree Value](https://leetcode.com/problems/find-bottom-left-tree-value/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindBottomLeftTreeValue.java)|100|| -|515|[Find Largest Value in Each Tree Row](https://leetcode.com/problems/find-largest-value-in-each-tree-row/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindLargestValueInEachTreeRow.java)|100|| -|524|[Longest Word in Dictionary through Deleting](https://leetcode.com/problems/longest-word-in-dictionary-through-deleting/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/LongestWordInDictionaryThroughDeleting.java)||| -|526|[Beautiful Arrangement](https://leetcode.com/problems/beautiful-arrangement/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/BeautifulArrangement.java)|80|| -|535|[Encode and Decode TinyURL](https://leetcode.com/problems/encode-and-decode-tinyurl/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/EncodeAndDecodeTinyURL.java)|100|| -|541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseStringII.java)|100|| -|557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/ReverseWordsInAStringIII.java)|100|| -|560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/SubarraySumEqualsK.java)|70|| +|2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [Java](leetcode/solution/src/AddTwoNumber.java)|80| +|3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [Java](leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java)||这个系列的所有题都要多做几遍| +|4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)| [Java](leetcode/solution/src/MedianOfTwoSortedArrays.java)|70|这题很经典,多做几遍| +|5|[Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)| [Java](leetcode/solution/src/LongestPalindromicSubstring.java)|85|这题对比动态规划和最优算法| +|6|[ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/)| [Java](leetcode/solution/src/ZigZagConversion.java)|| +|7|[Reverse Integer](https://leetcode.com/problems/reverse-integer/)| [Java](leetcode/solution/src/ReverseInteger.java)|95| +|8|[String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)| [Java](leetcode/solution/src/String2Integer.java)|90|很考代码能力,容易错| +|9|[Palindrome Number](https://leetcode.com/problems/palindrome-number/)| [Java](leetcode/solution/src/PalindromeNumber.java)|| +|10|[Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)| [Java](leetcode/solution/src/RegularExpressionMatching.java)|60|这题很经典,多做几遍,和#44一起| +|11|[Container With Most Water](https://leetcode.com/problems/container-with-most-water/)| [Java](leetcode/solution/src/ContainerWithMostWater.java)|| +|12|[Integer to Roman](https://leetcode.com/problems/integer-to-roman/)| [Java](leetcode/solution/src/IntegerToRoman.java)|| +|13|[Roman to Integer](https://leetcode.com/problems/roman-to-integer/)| [Java](leetcode/solution/src/RomanToInteger.java)|| +|14|[Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/)| [Java](leetcode/solution/src/LongestCommonPrefix.java)|| +|15|[3Sum](https://leetcode.com/problems/3sum/)| [Java](leetcode/solution/src/ThreeSum.java)|70| +|16|[3Sum Closest](https://leetcode.com/problems/3sum-closest/)| [Java](leetcode/solution/src/ThreeSumClosest.java)|| +|17|[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)| [Java](leetcode/solution/src/LetterCombinationOfPhoneNumber.java)|85|| +|18|[4Sum](https://leetcode.com/problems/4sum/)| [Java](leetcode/solution/src/FourSum.java)|| +|19|[Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/)| [Java](leetcode/solution/src/RemoveNthNodeFromEndOfList.java)|| +|20|[Valid Parentheses](https://leetcode.com/problems/valid-parentheses/)| [Java](leetcode/solution/src/ValidParentheses.java)|100| +|21|[Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/)| [Java](leetcode/solution/src/MergeTwoSortedList.java)|90| +|22|[Generate Parentheses](https://leetcode.com/problems/generate-parentheses/)| [Java](leetcode/solution/src/GenerateParentheses.java)|80|这题看两遍| +|23|[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)| [Java](leetcode/solution/src/MergeKSortedList.java)|70| +|24|[Swap Nodes in Pairs](https://leetcode.com/problems/swap-nodes-in-pairs/)| [Java](leetcode/solution/src/SwapNodesInPairs.java)|| +|25|[Reverse Nodes in k-Group](https://leetcode.com/problems/reverse-nodes-in-k-group/)| [Java](leetcode/solution/src/ReverseNodesInKGroup.java)|80| +|26|[Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/)| [Java](leetcode/solution/src/RemoveDuplicatesFromSortedArray.java)|80| +|27|[Remove Element](https://leetcode.com/problems/remove-element/)| [Java](leetcode/solution/src/RemoveElement.java)|| +|28|[ Implement strStr()](https://leetcode.com/problems/implement-strstr/)| [Java](leetcode/solution/src/StrStr.java)|70| +|29|[Divide Two Integers](https://leetcode.com/problems/divide-two-integers/)| [Java](leetcode/solution/src/DivideTwoIntegers.java)|| +|30|[Substring with Concatenation of All Words](https://leetcode.com/problems/substring-with-concatenation-of-all-words/)| [Java](leetcode/solution/src/SubstringWithConcatenationOfAllWords.java)|| +|31|[Next Permutation](https://leetcode.com/problems/next-permutation/)| [Java](leetcode/solution/src/NextPermutation.java)|| +|32|[Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses/)| [Java](leetcode/solution/src/LongestValidParentheses.java)|| +|33|[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/)| [Java](leetcode/solution/src/SearchInRotatedSortedArray.java)|80| +|34|[Search for a Range](https://leetcode.com/problems/search-for-a-range/)| [Java](leetcode/solution/src/SearchForARange.java)|| +|35|[Search Insert Position](https://leetcode.com/problems/search-insert-position/)| [Java](leetcode/solution/src/SearchInsertPosition.java)|| +|36|[Valid Sudoku](https://leetcode.com/problems/valid-sudoku/#/description)| [Java](leetcode/solution/src/ValidSudoku.java)|80| +|37|[Sudoku Solver](https://leetcode.com/problems/sudoku-solver/#/description)| [Java](leetcode/solution/src/SudokuSolver.java)|70|这道题是典型的back tracking,多做几遍| +|38|[Count and Say](https://leetcode.com/problems/count-and-say/)| [Java](leetcode/solution/src/CountAndSay.java)|80| +|39|[Combination Sum](https://leetcode.com/problems/combination-sum/)| [Java](leetcode/solution/src/CombinationSum.java)|70|排列组合系列的题要多做几遍| +|40|[Combination Sum II](https://leetcode.com/problems/combination-sum-ii/)| [Java](leetcode/solution/src/CombinationSumII.java)|70| +|41|[First Missing Positive](https://leetcode.com/problems/first-missing-positive/#/description)| [Java](leetcode/solution/src/FirstMissingPositive.java)|| +|42|[Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/)| [Java](leetcode/solution/src/TrappingRainWater.java)|95| +|43|[Multiply Strings](https://leetcode.com/problems/multiply-strings/)| [Java](leetcode/solution/src/MultiplyStrings.java)|80| +|44|[Wildcard Matching](https://leetcode.com/problems/wildcard-matching/)| [Java](leetcode/solution/src/WildcardMatching.java)|60|和#10多做几遍| +|45|[Jump Game II](https://leetcode.com/problems/jump-game-ii/#/description)| [Java](leetcode/solution/src/JumpGameII.java)|| +|46|[Permutations](https://leetcode.com/problems/permutations/)| [Java](leetcode/solution/src/Permutations.java)|| +|47|[Permutations II](https://leetcode.com/problems/permutations-ii/)| [Java](leetcode/solution/src/PermutationsII.java)|70|多做几遍| +|48|[Rotate Image](https://leetcode.com/problems/rotate-image/)| [Java](leetcode/solution/src/RotateImage.java)|100| +|49|[Group Anagrams](https://leetcode.com/problems/anagrams/)| [Java](leetcode/solution/src/GroupAnagrams.java)|95| +|50|[Pow(x, n)](https://leetcode.com/problems/powx-n/)| [Java](leetcode/solution/src/Pow.java)|80| +|51|[N-Queens](https://leetcode.com/problems/n-queens/)| [Java](leetcode/solution/src/NQueens.java)|| +|52|[N-Queens II](https://leetcode.com/problems/n-queens-ii/)| [Java](leetcode/solution/src/NQueensII.java)|| +|53|[Maximum Subarray](https://leetcode.com/problems/maximum-subarray/)| [Java](leetcode/solution/src/MaximumSubarray.java)|95| +|54|[Spiral Matrix](https://leetcode.com/problems/spiral-matrix/)| [Java](leetcode/solution/src/SpiralMatrix.java)|85|| +|55|[Jump Game](https://leetcode.com/problems/jump-game/#/description)| [Java](leetcode/solution/src/JumpGame.java)|| +|56|[Merge Intervals](https://leetcode.com/problems/merge-intervals/)| [Java](leetcode/solution/src/MergeIntervals.java)|70| +|57|[Insert Interval](https://leetcode.com/problems/insert-interval/)| [Java](leetcode/solution/src/InsertInterval.java)|75|这题要多做几遍| +|60|[Permutation Sequence](https://leetcode.com/problems/permutation-sequence/)| [Java](leetcode/solution/src/PermutationSequence.java)|70|这题思路巧妙,多做两遍| +|61|[Rotate List](https://leetcode.com/problems/rotate-list/)| [Java](leetcode/solution/src/RotateList.java)|90|| +|66|[Plus One](https://leetcode.com/problems/plus-one/)| [Java](leetcode/solution/src/PlusOne.java)|100|这题多看一遍| +|67|[Add Binary](https://leetcode.com/problems/add-binary/)| [Java](leetcode/solution/src/AddBinary.java)|100| +|68|[Text Justification](https://leetcode.com/problems/text-justification/)| [Java](leetcode/solution/src/TextJustification.java)|| +|69|[Sqrt(x)](https://leetcode.com/problems/sqrtx/)| [Java](leetcode/solution/src/Sqrt.java)|85| +|71|[Simplify Path](https://leetcode.com/problems/simplify-path/)| [Java](leetcode/solution/src/SimplifyPath.java)|80| +|72|[Edit Distance](https://leetcode.com/problems/edit-distance/)| [Java](leetcode/solution/src/EditDistance.java)|75| +|73|[Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes/description/)| [Java](leetcode/solution/src/SetMatrixZeroes.java)|90| +|74|[Search a 2D Matrix](https://leetcode.com/problems/search-a-2d-matrix/)| [Java](leetcode/solution/src/Search2DMatrix.java)|| +|75|[Sort Colors](https://leetcode.com/problems/sort-colors/)| [Java](leetcode/solution/src/SortColors.java)|65|这题多做几遍,很有意思| +|76|[Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/)| [Java](leetcode/solution/src/MinimumWindowSubstring.java)|50|这题以及类似的题一定要多做几遍,很经典,参见window| +|77|[Combinations](https://leetcode.com/problems/combinations)| [Java](leetcode/solution/src/Combinations.java)|| +|78|[Subsets](https://leetcode.com/problems/subsets/)| [Java](leetcode/solution/src/Subsets.java)|85| +|79|[Word Search](https://leetcode.com/problems/word-search/)| [Java](leetcode/solution/src/WordSearch.java)|85| +|80|[Remove Duplicates from Sorted Array II](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/)| [Java](leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java)|100| +|81|[Search in Rotated Sorted Array II](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/)| [Java](leetcode/solution/src/SearchInRotatedSortedArrayII.java)|70| +|82|[Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/)| [Java](leetcode/solution/src/RemoveDuplicatesFromSortedListII.java)|75| +|83|[Remove Duplicates from Sorted List](https://leetcode.com/problems/remove-duplicates-from-sorted-list/)| [Java](leetcode/solution/src/RemoveDuplicatesFromSortedList.java)|100| +|84|[Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram/)| [Java](leetcode/solution/src/LargestRectangleInHistogram.java)|70| +|85|[Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle/)| [Java](leetcode/solution/src/MaximalRectangle.java)|75| +|86|[Partition List](https://leetcode.com/problems/partition-list/)| [Java](leetcode/solution/src/PartitionList.java)|90|| +|88|[Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array/)| [Java](leetcode/solution/src/MergeSortedArray.java)|100| +|90|[Subsets II](https://leetcode.com/problems/subsets-ii/)| [Java](leetcode/solution/src/SubsetsII.java)|80| +|91|[Decode Ways](https://leetcode.com/problems/decode-ways/)| [Java](leetcode/solution/src/DecodeWays.java)|75|这题多做几遍,包括#639| +|92|[Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/)| [Java](leetcode/solution/src/ReverseLinkedListII.java)|80|| +|93|[Restore IP Addresses](https://leetcode.com/problems/restore-ip-addresses/)| [Java](leetcode/solution/src/RestoreIPAddresses.java)|80|多看两遍| +|94|[Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal/)| [Java](leetcode/solution/src/BinaryTreeInorderTraversal.java)|100| +|95|[Unique Binary Search Trees II](https://leetcode.com/problems/unique-binary-search-trees-ii/)| [Java](leetcode/solution/src/UniqueBinarySearchTreesII.java)|70|多做几遍,递归和DP| +|96|[Unique Binary Search Trees](https://leetcode.com/problems/unique-binary-search-trees/)| [Java](leetcode/solution/src/UniqueBinarySearchTrees.java)|80| +|98|[Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/)| [Java](leetcode/solution/src/ValidateBinarySearchTree.java)|85|注意溢出| +|99|[Recover Binary Search Tree](https://leetcode.com/problems/recover-binary-search-tree/)| [Java](leetcode/solution/src/RecoverBinarySearchTree.java)|60|这题很容易错,要多做几遍| +|100|[Same Tree](https://leetcode.com/problems/same-tree/)| [Java](leetcode/solution/src/SameTree.java)|100| +|101|[Symmetric Tree](https://leetcode.com/problems/symmetric-tree/)| [Java](leetcode/solution/src/SymmetricTree.java)|95| +|102|[Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal/)| [Java](leetcode/solution/src/BinaryTreeLevelOrderTraversal.java)|85| +|103|[Binary Tree Zigzag Level Order Traversal](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)| [Java](leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java)|80| +|104|[Maximum Depth of Binary Tree](https://leetcode.com/problems/maximum-depth-of-binary-tree/)| [Java](leetcode/solution/src/MaximumDepthOfBinaryTree.java)|100| +|105|[Construct Binary Tree from Preorder and Inorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)| [Java](leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java)|95| +|106|[Construct Binary Tree from Inorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/)| [Java](leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java)|90| +|107|[Binary Tree Level Order Traversal II](https://leetcode.com/problems/binary-tree-level-order-traversal-ii/)| [Java](leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java)|100| +|108|[Convert Sorted Array to Binary Search Tree](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/)| [Java](leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java)|100| +|109|[Convert Sorted List to Binary Search Tree](https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/)| [Java](leetcode/solution/src/ConvertSortedListToBinarySearchTree.java)|90|| +|110|[Balanced Binary Tree](https://leetcode.com/problems/balanced-binary-tree/)| [Java](leetcode/solution/src/BalancedBinaryTree.java)|80| +|111|[Minimum Depth of Binary Tree](https://leetcode.com/problems/minimum-depth-of-binary-tree/)| [Java](leetcode/solution/src/MinimumDepthOfBinaryTree.java)|80| +|112|[Path Sum](https://leetcode.com/problems/path-sum/)| [Java](leetcode/solution/src/PathSum.java)|85| +|113|[Path Sum II](https://leetcode.com/problems/path-sum-ii/)| [Java](leetcode/solution/src/PathSumII.java)|65|错了好几次,得多做几遍| +|114|[Flatten Binary Tree to Linked List](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [Java](leetcode/solution/src/FlattenBinaryTreeToLinkedList.java)|80| +|116|[Populating Next Right Pointers in Each Node](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [Java](leetcode/solution/src/PopulatingNextRightPointersInEachNode.java)|80| +|117|[Populating Next Right Pointers in Each Node II](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [Java](leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java)|80| +|118|[Pascal's Triangle](https://leetcode.com/problems/pascals-triangle/)| [Java](leetcode/solution/src/PascalsTriangle.java)|80|| +|119|[Pascal's Triangle II](https://leetcode.com/problems/pascals-triangle-ii/description/)| [Java](leetcode/solution/src/PascalTriangleII.java)|80|| +|121|[Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)| [Java](leetcode/solution/src/BestTimeBuySellStock.java)|100| +|122|[Best Time to Buy and Sell Stock II](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/)| [Java](leetcode/solution/src/BestTimeBuySellStockII.java)|100| +|123|[Best Time to Buy and Sell Stock III](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/)| [Java](leetcode/solution/src/BestTimeBuySellStockIII.java)|75| +|124|[Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum/)| [Java](leetcode/solution/src/BinaryTreeMaximumPathSum.java)|60| +|125|[Valid Palindrome](https://leetcode.com/problems/valid-palindrome/)| [Java](leetcode/solution/src/ValidPalindrome.java)|100| +|126|[Word Ladder II](https://leetcode.com/problems/word-ladder-ii/)| [Java](leetcode/solution/src/WordLadderII.java)|| +|127|[Word Ladder](https://leetcode.com/problems/word-ladder/)| [Java](leetcode/solution/src/WordLadder.java)|70|此题非常经典,务必连同ii多做几遍,将双端BFS吃透| +|128|[Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/)| [Java](leetcode/solution/src/LongestConsecutiveSequence.java)|60| +|129|[Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/)| [Java](leetcode/solution/src/SumRootToLeafNumbers.java)|60|这题错了几次,多做几遍| +|130|[Surrounded Regions](https://leetcode.com/problems/surrounded-regions/)| [Java](leetcode/solution/src/SurroundedRegions.java)|65| +|131|[Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning/)| [Java](leetcode/solution/src/PalindromePartitioning.java)|| +|132|[Palindrome Partitioning II](https://leetcode.com/problems/palindrome-partitioning-ii/)| [Java](leetcode/solution/src/PalindromePartitioningII.java)|| +|133|[Clone Graph](https://leetcode.com/problems/clone-graph/)| [Java](leetcode/solution/src/CloneGraph.java)|70|这题不难,多看两遍,BFS方法再做两遍| +|138|[Copy List with Random Pointer](https://leetcode.com/problems/copy-list-with-random-pointer/)| [Java](leetcode/solution/src/CopyListWithRandomPointer.java)|95|有一个易错点| +|139|[Word Break](https://leetcode.com/problems/word-break/)| [Java](leetcode/solution/src/WordBreak.java)|80|多看两遍| +|140|[Word Break II](https://leetcode.com/problems/word-break-ii/)| [Java](leetcode/solution/src/WordBreakII.java)|75|这题多做两遍,很典型| +|141|[Linked List Cycle](https://leetcode.com/problems/linked-list-cycle/)| [Java](leetcode/solution/src/LinkedListCycle.java)|75| +|142|[Linked List Cycle II](https://leetcode.com/problems/linked-list-cycle-ii/)| [Java](leetcode/solution/src/LinkedListCycleII.java)|90|| +|143|[Reorder List](https://leetcode.com/problems/reorder-list/)| [Java](leetcode/solution/src/ReorderList.java)|90|| +|144|[Binary Tree Preorder Traversal](https://leetcode.com/problems/binary-tree-preorder-traversal/)| [Java](leetcode/solution/src/BinaryTreePreorderTraversal.java)|85| +|145|[Binary Tree Postorder Traversal](https://leetcode.com/problems/binary-tree-postorder-traversal/)| [Java](leetcode/solution/src/BinaryTreePostorderTraversal.java)|80| +|146|[LRU Cache](https://leetcode.com/problems/lru-cache/)|[Java](leetcode/solution/src/LRUCache.java)|95|好题目,多做几遍| +|147|[Insertion Sort List](https://leetcode.com/problems/insertion-sort-list/)| [Java](leetcode/solution/src/InsertionSortList.java)|90|| +|148|[Sort List](https://leetcode.com/problems/sort-list)| [Java](leetcode/solution/src/SortList.java)|90|| +|149|[Max Points on a Line](https://leetcode.com/problems/max-points-on-a-line/)| [Java](leetcode/solution/src/MaxPointsOnALine.java)|60| +|150|[Evaluate Reverse Polish Notation](https://leetcode.com/problems/evaluate-reverse-polish-notation/)| [Java](leetcode/solution/src/EvaluateReversePolishNotation.java)|70|| +|151|[Reverse Words in a String](https://leetcode.com/problems/reverse-words-in-a-string/description/)| [Java](leetcode/solution/src/ReverseWordsInAString.java)|70|这题虽然不难,但是也错了几次| +|152|[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray/)| [Java](leetcode/solution/src/MaximumProductSubarray.java)|| +|153|[Find Minimum in Rotated Sorted Array](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/)| [Java](leetcode/solution/src/FindMinimumInRotatedSortedArray.java)|| +|154|[Find Minimum in Rotated Sorted Array II](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/)| [Java](leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java)|| +|155|[Min Stack](https://leetcode.com/problems/min-stack/)| [Java](leetcode/solution/src/MinStack.java)|95| +|156|[Binary Tree Upside Down](https://leetcode.com/problems/binary-tree-upside-down/)| [Java](leetcode/solution/src/BinaryTreeUpsideDown.java)|70|这道题挺有意思,多做几遍| +|157|[Read N Characters Given Read4](https://leetcode.com/problems/read-n-characters-given-read4/)| [Java](leetcode/solution/src/ReadNCharactersGivenRead4.java)|80|这题多做几遍,结合#158| +|158|[Read N Characters Given Read4 II - Call multiple times](https://leetcode.com/problems/read-n-characters-given-read4-ii-call-multiple-times/)| [Java](leetcode/solution/src/ReadNCharactersGivenRead4II.java)|70| +|159|[Longest Substring with At Most Two Distinct Characters](https://leetcode.com/problems/longest-substring-with-at-most-two-distinct-characters/)| [Java](leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java)|100|多看两遍| +|160|[Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists/)| [Java](leetcode/solution/src/IntersectionOfTwoLinkedLists.java)|100| +|161|[One Edit Distance](https://leetcode.com/problems/one-edit-distance/)| [Java](leetcode/solution/src/OneEditDistance.java)|85|和#72做两遍| +|162|[Find Peak Element](https://leetcode.com/problems/find-peak-element/)| [Java](leetcode/solution/src/FindPeakElement.java)|90|| +|163|[Missing Ranges](https://leetcode.com/problems/missing-ranges/)| [Java](leetcode/solution/src/MissingRanges.java)|65|多做几遍,太容易错了| +|164|[Maximum Gap](https://leetcode.com/problems/maximum-gap/)| [Java](leetcode/solution/src/MaximumGap.java)|65| +|167|[Two Sum II - Input array is sorted](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/)| [Java](leetcode/solution/src/TwoSumII.java)|100| +|168|[Excel Sheet Column Title](https://leetcode.com/problems/excel-sheet-column-title/)| [Java](leetcode/solution/src/ExcelSheetColumnTitle.java)|| +|169|[Majority Element](https://leetcode.com/problems/majority-element/)| [Java](leetcode/solution/src/MajorityElement.java)|100|| +|170|[Two Sum III - Data structure design](https://leetcode.com/problems/two-sum-iii-data-structure-design/)| [Java](leetcode/solution/src/TwoSumIII.java)|100|这道题再多做一遍| +|171|[Excel Sheet Column Number](https://leetcode.com/problems/excel-sheet-column-number/)| [Java](leetcode/solution/src/ExcelSheetColumnNumber.java)|| +|172|[Factorial Trailing Zeroes](https://leetcode.com/problems/factorial-trailing-zeroes/)| [Java](leetcode/solution/src/FactorialTrailingZeroes.java)|100| +|173|[Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator/)| [Java](leetcode/solution/src/BSTIterator.java)|70|多留意一下| +|179|[Largest Number](https://leetcode.com/problems/largest-number/)| [Java](leetcode/solution/src/LargestNumber.java)|90| +|186|[Reverse Words in a String II](https://leetcode.com/problems/reverse-words-in-a-string-ii/description/)| [Java](leetcode/solution/src/ReverseWordsInAStringII.java)|90|| +|188|[Best Time to Buy and Sell Stock IV](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/)| [Java](leetcode/solution/src/BestTimeBuySellStockIV.java)|| +|189|[Rotate Array](https://leetcode.com/problems/rotate-array/)| [Java](leetcode/solution/src/RotateArray.java)|100|| +|190|[Reverse Bits](https://leetcode.com/problems/reverse-bits/)| [Java](leetcode/solution/src/ReverseBits.java)|85| +|198|[House Robber](https://leetcode.com/problems/house-robber/)| [Java](leetcode/solution/src/HouseRobber.java)|80| +|199|[Binary Tree Right Side View](https://leetcode.com/problems/binary-tree-right-side-view/)| [Java](leetcode/solution/src/BinaryTreeRightSideView.java)|80| +|200|[Number of Islands](https://leetcode.com/problems/number-of-islands/)| [Java](leetcode/solution/src/NumberOfIslands.java)|85|这道题很经典,而且方法不止一种,每种方法都多做几遍,包括UF,#305| +|203|[Remove Linked List Elements](https://leetcode.com/problems/remove-linked-list-elements/)| [Java](leetcode/solution/src/RemoveLinkedListElements.java)|| +|204|[Count Primes](https://leetcode.com/problems/count-primes/)| [Java](leetcode/solution/src/CountPrimes.java)|85| +|206|[Reverse Linked List](https://leetcode.com/problems/reverse-linked-list/)| [Java](leetcode/solution/src/ReverseLinkedList.java)|90| +|207|[Course Schedule](https://leetcode.com/problems/course-schedule/)| [Java](leetcode/solution/src/CourseSchedule.java)|100|典型的拓扑排序| +|208|[Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree/)| [Java](leetcode/solution/src/Trie.java)|80|和#211多留意,trie很典型| +|209|[Minimum Size Subarray Sum](https://leetcode.com/problems/minimum-size-subarray-sum/)| [Java](leetcode/solution/src/MinimumSizeSubarraySum.java)|85| +|210|[Course Schedule II](https://leetcode.com/problems/course-schedule-ii/)| [Java](leetcode/solution/src/CourseScheduleII.java)|95|| +|211|[Add and Search Word - Data structure design](https://leetcode.com/problems/add-and-search-word-data-structure-design/)| [Java](leetcode/solution/src/WordDictionary.java)|85| +|212|[Word Search II](https://leetcode.com/problems/word-search-ii/)| [Java](leetcode/solution/src/WordSearchII.java)|| +|213|[House Robber II](https://leetcode.com/problems/house-robber-ii/)| [Java](leetcode/solution/src/HouseRobberII.java)|80| +|214|[Shortest Palindrome](https://leetcode.com/problems/shortest-palindrome/)| [Java](leetcode/solution/src/ShortestPalindrome.java)|| +|215|[Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array/)| [Java](leetcode/solution/src/KthLargestElementInArray.java)|65|这题很经典,三种解法都要了然于胸| +|216|[Combination Sum III](https://leetcode.com/problems/combination-sum-iii/)| [Java](leetcode/solution/src/CombinationSumIII.java)|65| +|217|[Contains Duplicate](https://leetcode.com/problems/contains-duplicate/)| [Java](leetcode/solution/src/ContainsDuplicate.java)|100| +|218|[The Skyline Problem](https://leetcode.com/problems/the-skyline-problem/)| [Java](leetcode/solution/src/TheSkylineProblem.java)|60|这题多做两遍| +|219|[Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/)| [Java](leetcode/solution/src/ContainsDuplicateII.java)|95| +|220|[Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/)| [Java](leetcode/solution/src/ContainsDuplicateIII.java)|65| +|221|[Maximal Square](https://leetcode.com/problems/maximal-square/)| [Java](leetcode/solution/src/MaximalSquare.java)|80| +|222|[Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/)| [Java](leetcode/solution/src/CountCompleteTreeNodes.java)|70|一般的做法会超时| +|223|[Rectangle Area](https://leetcode.com/problems/rectangle-area/)| [Java](leetcode/solution/src/RectangleArea.java)|95| +|224|[Basic Calculator](https://leetcode.com/problems/basic-calculator/)| [Java](leetcode/solution/src/BasicCalculator.java)|80|| +|225|[Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)| [Java](leetcode/solution/src/MyStack.java)|90| +|226|[Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/)| [Java](leetcode/solution/src/InvertBinaryTree.java)|80| +|228|[Summary Ranges](https://leetcode.com/problems/summary-ranges/)| [Java](leetcode/solution/src/SummaryRanges.java)|70|| +|229|[Majority Element II](https://leetcode.com/problems/majority-element-ii/)| [Java](leetcode/solution/src/MajorityElementII.java)|70|| +|230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [Java](leetcode/solution/src/KthSmallestElementInBST.java)|85|注意Follow Up| +|232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [Java](leetcode/solution/src/MyQueue.java)|95| +|233|[Number of Digit One](https://leetcode.com/problems/number-of-digit-one/)| [Java](leetcode/solution/src/NumberOfDigitOne.java)|| +|234|[Palindrome Linked List](https://leetcode.com/problems/palindrome-linked-list/)| [Java](leetcode/solution/src/PalindromeLinkedList.java)|75| +|235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)|[Java](leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java)|100| +|236|[Lowest Common Ancestor of a Binary Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/)| [Java](leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java)|50|这题很经典,多做几遍,留意节点不在树中的情况| +|237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list/)| [Java](leetcode/solution/src/DeleteNodeInALinkedList.java)|100|| +|238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)| [Java](leetcode/solution/src/ProductOfArrayExceptSelf.java)|85| +|239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [Java](leetcode/solution/src/SlidingWindowMaximum.java)|75|这题非常经典,多做几遍,包括常规算法(优先队列,treemap)及优化算法双端队列| +|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)| [Java](leetcode/solution/src/Search2DMatrixII.java)|100| +|241|[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)| [Java](leetcode/solution/src/DifferenceWaysToAddParentheses.java)|| +|242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [Java](leetcode/solution/src/ValidAnagram.java)|100| +|243|[Shortest Word Distance](https://leetcode.com/problems/shortest-word-distance/)| [Java](leetcode/solution/src/ShortestWordDistance.java)|80| +|244|[Shortest Word Distance II](https://leetcode.com/problems/shortest-word-distance-ii/)| [Java](leetcode/solution/src/ShortestWordDistanceII.java)|80|| +|245|[Shortest Word Distance III](https://leetcode.com/problems/shortest-word-distance-iii/)| [Java](leetcode/solution/src/ShortestWordDistanceIII.java)|80|| +|246|[Strobogrammatic Number](https://leetcode.com/problems/strobogrammatic-number/)| [Java](leetcode/solution/src/StrobogrammaticNumber.java)|70|#247一个系列,多看两遍| +|247|[Strobogrammatic Number II](https://leetcode.com/problems/strobogrammatic-number-ii/)| [Java](leetcode/solution/src/StrobogrammaticNumberII.java)|70|多看两遍| +|249|[Group Shifted Strings](https://leetcode.com/problems/group-shifted-strings/)| [Java](leetcode/solution/src/GroupShiftedStrings.java)|| +|250|[Count Univalue Subtrees](https://leetcode.com/problems/count-univalue-subtrees/)| [Java](leetcode/solution/src/CountUnivalueSubtrees.java)|70|这题要多做几遍| +|251|[Flatten 2D Vector](https://leetcode.com/problems/flatten-2d-vector/)| [Java](leetcode/solution/src/Vector2D.java)|100| +|252|[Meeting Rooms](https://leetcode.com/problems/meeting-rooms/)| [Java](leetcode/solution/src/MeetingRooms.java)|100| +|253|[Meeting Rooms II](https://leetcode.com/problems/meeting-rooms-ii/)| [Java](leetcode/solution/src/MeetingRoomsII.java)|90| +|254|[Factor Combinations](https://leetcode.com/problems/factor-combinations/)| [Java](leetcode/solution/src/FactorCombinations.java)|80|| +|255|[Verify Preorder Sequence in Binary Search Tree](https://leetcode.com/problems/verify-preorder-sequence-in-binary-search-tree/)| [Java](leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java)|85|很简单,粗心错了| +|256|[Paint House](https://leetcode.com/problems/paint-house/)| [Java](leetcode/solution/src/PaintHouse.java)|95| +|257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [Java](leetcode/solution/src/BinaryTreePaths.java)|80| +|259|[3Sum Smaller](https://leetcode.com/problems/3sum-smaller/)| [Java](leetcode/solution/src/ThreeSumSmaller.java)|95|这题虽然简单,但是因为思维定式还是错了几次| +|261|[Graph Valid Tree](https://leetcode.com/problems/graph-valid-tree/)| [Java](leetcode/solution/src/GraphValidTree.java)|70|这题多做几遍| +|263|[Ugly Number](https://leetcode.com/problems/ugly-number/)| [Java](leetcode/solution/src/UglyNumber.java)|85| +|264|[Ugly Number II](https://leetcode.com/problems/ugly-number-ii/)| [Java](leetcode/solution/src/UglyNumberII.java)|70| +|265|[Paint House II](https://leetcode.com/problems/paint-house-ii)| [Java](leetcode/solution/src/PaintHouseII.java)|60| +|266|[Palindrome Permutation](https://leetcode.com/problems/palindrome-permutation/)| [Java](leetcode/solution/src/PalindromePermutation.java)|100| +|267|[Palindrome Permutation II](https://leetcode.com/problems/palindrome-permutation-ii/)| [Java](leetcode/solution/src/PalindromePermutationII.java)|80|典型,多看两遍| +|268|[Missing Number](https://leetcode.com/problems/missing-number)| [Java](leetcode/solution/src/MissingNumber.java)|100|| +|269|[Alien Dictionary](https://leetcode.com/problems/alien-dictionary/)| [Java](leetcode/solution/src/AlienDictionary.java)|70|这题要多做几遍| +|270|[Closest Binary Search Tree Value](https://leetcode.com/problems/closest-binary-search-tree-value/)| [Java](leetcode/solution/src/ClosestBinarySearchTreeValue.java)|90| +|271|[Encode and Decode Strings](https://leetcode.com/problems/encode-and-decode-strings/)| [Java](leetcode/solution/src/EncodeAndDecodeStrings.java)|65|思路巧妙,多看几遍| +|272|[Closest Binary Search Tree Value II](https://leetcode.com/problems/closest-binary-search-tree-value-ii/)| [Java](leetcode/solution/src/ClosestBinarySearchTreeValueII.java)|60|这题非常值得多做几遍,几种写法都试试| +|273|[Integer to English Words](https://leetcode.com/problems/integer-to-english-words/)| [Java](leetcode/solution/src/IntegerToEnglishWords.java)|75|多做几遍,做到bug free| +|274|[H-Index](https://leetcode.com/problems/h-index/)| [Java](leetcode/solution/src/HIndex.java)|80| +|275|[H-Index II](https://leetcode.com/problems/h-index-ii/)| [Java](leetcode/solution/src/HIndexII.java)|75| +|277|[Find the Celebrity](https://leetcode.com/problems/find-the-celebrity/)| [Java](leetcode/solution/src/FindCelebrity.java)|100| +|278|[First Bad Version](https://leetcode.com/problems/first-bad-version/)| [Java](leetcode/solution/src/FirstBadVersion.java)|100| +|279|[Perfect Squares](https://leetcode.com/problems/perfect-squares/)| [Java](leetcode/solution/src/PerfectSquares.java)|95| +|280|[Wiggle Sort](https://leetcode.com/problems/wiggle-sort/)| [Java](leetcode/solution/src/WiggleSort.java)|80|思路巧妙,多看两遍| +|281|[Zigzag Iterator](https://leetcode.com/problems/zigzag-iterator/)| [Java](leetcode/solution/src/ZigzagIterator.java)|85|多做三遍,考虑扩展到k的情况| +|282|[Expression Add Operators](https://leetcode.com/problems/expression-add-operators/)| [Java](leetcode/solution/src/ExpressionAddOperators.java)|50| +|283|[Move Zeroes](https://leetcode.com/problems/move-zeroes/)| [Java](leetcode/solution/src/MoveZeroes.java)|100| +|284|[Peeking Iterator](https://leetcode.com/problems/peeking-iterator/)| [Java](leetcode/solution/src/PeekingIterator.java)|100| +|285|[Inorder Successor in BST](https://leetcode.com/problems/inorder-successor-in-bst/)| [Java](leetcode/solution/src/InorderSuccessorInBST.java)|70|这道题有意思,要多做几遍| +|286|[Walls and Gates](https://leetcode.com/problems/walls-and-gates/)| [Java](leetcode/solution/src/WallsAndGates.java)|70|多看两遍| +|287|[Find the Duplicate Number](https://leetcode.com/problems/find-the-duplicate-number/)| [Java](leetcode/solution/src/FindTheDuplicateNumber.java)|| +|288|[Unique Word Abbreviation](https://leetcode.com/problems/unique-word-abbreviation/)| [Java](leetcode/solution/src/ValidWordAbbr.java)|70|这题不难,多做两遍,题目意思容易理解错| +|289|[Game of Life](https://leetcode.com/problems/game-of-life/)| [Java](leetcode/solution/src/GameOfLife.java)|70|| +|293|[Flip Game](https://leetcode.com/problems/flip-game/)| [Java](leetcode/solution/src/FlipGame.java)|90|| +|294|[Flip Game II](https://leetcode.com/problems/flip-game-ii/)| [Java](leetcode/solution/src/FlipGameII.java)|90|| +|295|[Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/)| [Java](leetcode/solution/src/FindMedianFromDataStream.java)|| +|297|[Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/)|[Java](leetcode/solution/src/Codec.java)|80|好题目,多做做,递归的非递归的| +|298|[Binary Tree Longest Consecutive Sequence](https://leetcode.com/problems/binary-tree-longest-consecutive-sequence/)| [Java](leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java)|70|多做三遍,尽可能简洁| +|300|[Longest Increasing Subsequence](https://leetcode.com/problems/longest-increasing-subsequence/)| [Java](leetcode/solution/src/LongestIncreasingSubsequence.java)|| +|301|[Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses/)| [Java](leetcode/solution/src/RemoveInvalidParentheses.java)|70|比较难,多做几遍| +|302|[Smallest Rectangle Enclosing Black Pixels](https://leetcode.com/problems/smallest-rectangle-enclosing-black-pixels/)| [Java](leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java)||| +|303|[Range Sum Query - Immutable](https://leetcode.com/problems/range-sum-query-immutable/)| [Java](leetcode/solution/src/NumArray.java)|100| +|304|[Range Sum Query 2D - Immutable](https://leetcode.com/problems/range-sum-query-2d-immutable/)| [Java](leetcode/solution/src/NumMatrix.java)|65| +|305|[Number of Islands II](https://leetcode.com/problems/number-of-islands-ii/)| [Java](leetcode/solution/src/NumberOfIslandsII.java)|70|这题多做几遍,经典的UF| +|307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/)| [Java](leetcode/solution/src/NumArrayII.java)|70|和#303, #304, #308定要多做几遍,掌握BIT| +|308|[Range Sum Query 2D - Mutable](https://leetcode.com/problems/range-sum-query-2d-mutable/)| [Java](leetcode/solution/src/NumMatrixII.java)|70| +|309|[Best Time to Buy and Sell Stock with Cooldown](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/)| [Java](leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java)|| +|310|[Minimum Height Trees](https://leetcode.com/problems/minimum-height-trees/)| [Java](leetcode/solution/src/MinimumHeightTrees.java)|60|这题多做几遍| +|311|[Sparse Matrix Multiplication](https://leetcode.com/problems/sparse-matrix-multiplication/)| [Java](leetcode/solution/src/SparseMatrixMultiplication.java)|80| +|312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/)| [Java](leetcode/solution/src/BurstBalloons.java)|60| +|313|[Super Ugly Number](https://leetcode.com/problems/super-ugly-number/)| [Java](leetcode/solution/src/SuperUglyNumber.java)||| +|314|[Binary Tree Vertical Order Traversal](https://leetcode.com/problems/binary-tree-vertical-order-traversal/)| [Java](leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java)|80| +|315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/)| [Java](leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java)|60| +|316|[Remove Duplicate Letters](https://leetcode.com/problems/remove-duplicate-letters/)| [Java](leetcode/solution/src/RemoveDuplicateLetters.java)|70| +|317|[Shortest Distance from All Buildings](https://leetcode.com/problems/shortest-distance-from-all-buildings/)| [Java](leetcode/solution/src/ShortestDistanceFromAllBuildings.java)|75|典型的bfs,多做两遍| +|319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/)| [Java](leetcode/solution/src/BulbSwitcher.java)|90| +|320|[Generalized Abbreviation](https://leetcode.com/problems/generalized-abbreviation/)| [Java](leetcode/solution/src/GeneralizedAbbreviation.java)|70|这题是典型的back tracking,多做几遍| +|323|[Number of Connected Components in an Undirected Graph](https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/)| [Java](leetcode/solution/src/NumberOfConnectedComponents.java)|90|典型的图,多看两遍| +|324|[Wiggle Sort II](https://leetcode.com/problems/wiggle-sort-ii/)| [Java](leetcode/solution/src/WiggleSortII.java)|60| +|325|[Maximum Size Subarray Sum Equals k](https://leetcode.com/problems/maximum-size-subarray-sum-equals-k/)| [Java](leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java)|75|这题思路有意思,多做几遍| +|328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/)| [Java](leetcode/solution/src/OddEvenLinkedList.java)|90| +|329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/)| [Java](leetcode/solution/src/LongestIncreasingPathInAMatrix.java)|70|这题要多做几遍| +|332|[Reconstruct Itinerary](https://leetcode.com/problems/reconstruct-itinerary/)| [Java](leetcode/solution/src/ReconstructItinerary.java)||| +|333|[Largest BST Subtree](https://leetcode.com/problems/largest-bst-subtree/)| [Java](leetcode/solution/src/LargestBSTSubtree.java)|50|这道题虽然不难,但是折腾了很久,一定要多做| +|334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/)| [Java](leetcode/solution/src/IncreasingTripletSubsequence.java)|75| +|335|[Self Crossing](https://leetcode.com/problems/self-crossing/)| [Java](leetcode/solution/src/SelfCrossing.java)|80| +|336|[Palindrome Pairs](https://leetcode.com/problems/palindrome-pairs/)| [Java](leetcode/solution/src/PalindromePairs.java)|| +|337|[House Robber III](https://leetcode.com/problems/house-robber-iii/)| [Java](leetcode/solution/src/HouseRobberIII.java)|70|建议再做两遍| +|339|[Nested List Weight Sum](https://leetcode.com/problems/nested-list-weight-sum/)| [Java](leetcode/solution/src/NestedListWeightSum.java)|| +|340|[Longest Substring with At Most K Distinct Characters](https://leetcode.com/problems/longest-substring-with-at-most-k-distinct-characters/)| [Java](leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java)|80|和#159类似| +|341|[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator/)| [Java](leetcode/solution/src/NestedIterator.java)|75|这题有点意思,多做两遍| +|344|[Reverse String](https://leetcode.com/problems/reverse-string/)| [Java](leetcode/solution/src/ReverseString.java)|100|| +|345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/)| [Java](leetcode/solution/src/ReverseVowelsOfaString.java)|100|| +|346|[Moving Average from Data Stream](https://leetcode.com/problems/moving-average-from-data-stream/)| [Java](leetcode/solution/src/MovingAverage.java)|95| +|347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/)| [Java](leetcode/solution/src/TopKFrequentElements.java)|85| +|349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/)| [Java](leetcode/solution/src/IntersectionOfTwoArrays.java)||| +|350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/)| [Java](leetcode/solution/src/IntersectionOfTwoArraysII.java)||| +|351|[Android Unlock Patterns](https://leetcode.com/problems/android-unlock-patterns/)| [Java](leetcode/solution/src/AndroidUnlockPatterns.java)|70|这题多做几遍| +|357|[Count Numbers with Unique Digits](https://leetcode.com/problems/count-numbers-with-unique-digits/)| [Java](leetcode/solution/src/CountNumberWithUniqueDigits.java)|| +|358|[Rearrange String k Distance Apart](https://leetcode.com/problems/rearrange-string-k-distance-apart/)| [Java](leetcode/solution/src/RearrangeStringKDistanceApart.java)|| +|359|[Logger Rate Limiter](https://leetcode.com/problems/logger-rate-limiter/)| [Java](leetcode/solution/src/LoggerRateLimiter.java)|100|这题如果不考虑空间消耗的话其实很简单| +|361|[Bomb Enemy](https://leetcode.com/problems/bomb-enemy/)| [Java](leetcode/solution/src/BombEnemy.java)|65|这题多做几遍,开始没思路| +|364|[Nested List Weight Sum II](https://leetcode.com/problems/nested-list-weight-sum-ii/)| [Java](leetcode/solution/src/NestedListWeightSumII.java)|| +|366|[Find Leaves of Binary Tree](https://leetcode.com/problems/find-leaves-of-binary-tree/)| [Java](leetcode/solution/src/FindLeavesOfBinaryTree.java)|60|这道题刚开始还没思路| +|367|[Valid Perfect Square](https://leetcode.com/problems/valid-perfect-square)| [Java](leetcode/solution/src/ValidPerfectSquare.java)||| +|369|[Plus One Linked List](https://leetcode.com/problems/plus-one-linked-list/)| [Java](leetcode/solution/src/PlusOneLinkedList.java)|100|| +|370|[Range Addition](https://leetcode.com/problems/range-addition/)| [Java](leetcode/solution/src/RangeAddition.java)|80|| +|373|[Find K Pairs with Smallest Sums](https://leetcode.com/problems/find-k-pairs-with-smallest-sums/)| [Java](leetcode/solution/src/FindKPairsWithSmallestSums.java)||| +|374|[Guess Number Higher or Lower](https://leetcode.com/problems/guess-number-higher-or-lower/)| [Java](leetcode/solution/src/GuessNumberHigherOrLower.java)|100| +|375|[Guess Number Higher or Lower II](https://leetcode.com/problems/guess-number-higher-or-lower-ii/)| [Java](leetcode/solution/src/GuessNumberHigherOrLowerII.java)|60| +|377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/)| [Java](leetcode/solution/src/combinationSum4.java)|65| +|378|[Kth Smallest Element in a Sorted Matrix](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/)| [Java](leetcode/solution/src/KthSmallestElementInASortedMatrix.java)||| +|380|[Insert Delete GetRandom O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1/)| [Java](leetcode/solution/src/RandomizedSet.java)|75|这道题很有意思,多做几遍| +|381|[Insert Delete GetRandom O(1) - Duplicates allowed](https://leetcode.com/problems/insert-delete-getrandom-o1-duplicates-allowed/)| [Java](leetcode/solution/src/RandomizedCollection.java)|| +|382|[Linked List Random Node](https://leetcode.com/problems/linked-list-random-node/)| [Java](leetcode/solution/src/LinkedListRandomNode.java)|| +|384|[Shuffle an Array](https://leetcode.com/problems/shuffle-an-array/)| [Java](leetcode/solution/src/ShuffleAnArray.java)|75| +|387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/)| [Java](leetcode/solution/src/FirstUniqueCharacterInAString.java)|100| +|388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/)| [Java](leetcode/solution/src/LongestAbsoluteFilePath.java)|65|其实不难,乍看没思路,多做几遍| +|391|[Perfect Rectangle](https://leetcode.com/problems/perfect-rectangle/)| [Java](leetcode/solution/src/PerfectRectangle.java)|70|这题很trick,多做两遍| +|393|[UTF-8 Validation](https://leetcode.com/problems/utf-8-validation/)| [Java](leetcode/solution/src/UTFValidation.java)|60|错了很多次,多做几遍| +|394|[Decode String](https://leetcode.com/problems/decode-string/)| [Java](leetcode/solution/src/DecodeString.java)|75|这题容易错,多做四遍| +|395|[Longest Substring with At Least K Repeating Characters](https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/)| [Java](leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java)|65| +|398|[Random Pick Index](https://leetcode.com/problems/random-pick-index/)| [Java](leetcode/solution/src/RandomPickIndex.java)|80| +|399|[Evaluate Division](https://leetcode.com/problems/evaluate-division/)| [Java](leetcode/solution/src/EvaluateDivision.java)|60|这题多做几遍| +|401|[Binary Watch](https://leetcode.com/problems/binary-watch/)| [Java](leetcode/solution/src/BinaryWatch.java)|| +|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/)| [Java](leetcode/solution/src/SumOfLeftLeaves.java)|80| +|406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/)| [Java](leetcode/solution/src/QueueReconstructionByHeight.java)|60|这题开始没思路,多做几遍| +|407|[Trapping Rain Water II](https://leetcode.com/problems/trapping-rain-water-ii/)| [Java](leetcode/solution/src/TrappingRainWaterII.java)|| +|408|[Valid Word Abbreviation](https://leetcode.com/problems/valid-word-abbreviation/)| [Java](leetcode/solution/src/validWordAbbreviation.java)|80|多做两遍| +|409|[Longest Palindrome](https://leetcode.com/problems/longest-palindrome/)| [Java](leetcode/solution/src/LongestPalindrome.java)|| +|410|[Split Array Largest Sum](https://leetcode.com/problems/split-array-largest-sum)| [Java](leetcode/solution/src/SplitArrayLargestSum.java)|| +|412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz/)| [Java](leetcode/solution/src/FizzBuzz.java)|100| +|413|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/)| [Java](leetcode/solution/src/ThirdMaximumNumber.java)|80|| +|418|[Sentence Screen Fitting](https://leetcode.com/problems/sentence-screen-fitting/)| [Java](leetcode/solution/src/SentenceScreenFitting.java)|65|这题思路巧妙,多做几遍,常规思路超时| +|422|[Valid Word Square](https://leetcode.com/problems/valid-word-square/)| [Java](leetcode/solution/src/ValidWordSquare.java)|90| +|425|[Word Squares](https://leetcode.com/problems/word-squares/)| [Java](leetcode/solution/src/WordSquare.java)|70|这题很典型,多做几遍| +|436|[Find Right Interval](https://leetcode.com/problems/find-right-interval/)| [Java](leetcode/solution/src/FindRightInterval.java)||| +|437|[Path Sum III](https://leetcode.com/problems/path-sum-iii/)| [Java](leetcode/solution/src/PathSumIII.java)|60|这道题错了很多遍,要重点关注| +|438|[Find All Anagrams in a String](https://leetcode.com/problems/find-all-anagrams-in-a-string/)| [Java](leetcode/solution/src/FindAllAnagramsInString.java)|75|这道题非常经典,最优解法需要多做几遍,保证once bug free| +|442|[Find All Duplicates in an Array](https://leetcode.com/problems/find-all-duplicates-in-an-array/)| [Java](leetcode/solution/src/FindAllDuplicatesInAnArray.java)|80|| +|445|[Add Two Numbers II](https://leetcode.com/problems/add-two-numbers-ii/discuss/)| [Java](leetcode/solution/src/AddTwoNumbersII.java)|80|| +|448|[Find All Numbers Disappeared in an Array](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array)| [Java](leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java)|80|| +|449|[Serialize and Deserialize BST](https://leetcode.com/problems/serialize-and-deserialize-bst)| [Java](leetcode/solution/src/SerializeAndDeserializeBST.java)|90|和#297一样| +|450|[Delete Node in a BST](https://leetcode.com/problems/delete-node-in-a-bst/)| [Java](leetcode/solution/src/DeleteNodeInBST.java)|60|这题非常经典,值得多做十遍| +|451|[Sort Characters By Frequency](https://leetcode.com/problems/sort-characters-by-frequency/)| [Java](leetcode/solution/src/SortCharactersByFrequency.java)||| +|459|[Repeated Substring Pattern](https://leetcode.com/problems/repeated-substring-pattern/)| [Java](leetcode/solution/src/RepeatedSubstringPattern.java)||| +|477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/)| [Java](leetcode/solution/src/TotalHammingDistance.java)|| +|480|[Sliding Window Median](https://leetcode.com/problems/sliding-window-median/)| [Java](leetcode/solution/src/SlidingWindowMedian.java)|70|| +|482|[License Key Formatting](https://leetcode.com/problems/license-key-formatting/)| [Java](leetcode/solution/src/LicenseKeyFormatting.java)|90|| +|483|[Smallest Good Base](https://leetcode.com/problems/smallest-good-base/)| [Java](leetcode/solution/src/SmallestGoodBase.java)||| +|485|[Max Consecutive Ones](https://leetcode.com/problems/max-consecutive-ones/)| [Java](leetcode/solution/src/MaxConsecutiveOnes.java)|100|| +|487|[Max Consecutive Ones II](https://leetcode.com/problems/max-consecutive-ones-ii/)| [Java](leetcode/solution/src/MaxConsecutiveOnesII.java)|80|| +|501|[Find Mode in Binary Search Tree](https://leetcode.com/problems/find-mode-in-binary-search-tree/)| [Java](leetcode/solution/src/FindModeInBinarySearchTree.java)|70|不难,容易错,多做两次| +|508|[Most Frequent Subtree Sum](https://leetcode.com/problems/most-frequent-subtree-sum/submissions/)| [Java](leetcode/solution/src/MostFrequentSubtreeSum.java)|| +|513|[Find Bottom Left Tree Value](https://leetcode.com/problems/find-bottom-left-tree-value/)| [Java](leetcode/solution/src/FindBottomLeftTreeValue.java)|100|| +|515|[Find Largest Value in Each Tree Row](https://leetcode.com/problems/find-largest-value-in-each-tree-row/)| [Java](leetcode/solution/src/FindLargestValueInEachTreeRow.java)|100|| +|524|[Longest Word in Dictionary through Deleting](https://leetcode.com/problems/longest-word-in-dictionary-through-deleting/)| [Java](leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java)||| +|526|[Beautiful Arrangement](https://leetcode.com/problems/beautiful-arrangement/)| [Java](leetcode/solution/src/BeautifulArrangement.java)|80|| +|535|[Encode and Decode TinyURL](https://leetcode.com/problems/encode-and-decode-tinyurl/)| [Java](leetcode/solution/src/EncodeAndDecodeTinyURL.java)|100|| +|541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](leetcode/solution/src/ReverseStringII.java)|100|| +|557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| +|560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| |617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|Java|100|很简单| -|637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/AverageOfLevelsInBinaryTree.java)|100|| -|652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/FindDuplicateSubtrees.java)|70|开始还没思路| -|653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/TwoSumIV.java)|90|| +|637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](leetcode/solution/src/AverageOfLevelsInBinaryTree.java)|100|| +|652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](leetcode/solution/src/FindDuplicateSubtrees.java)|70|开始还没思路| +|653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](leetcode/solution/src/TwoSumIV.java)|90|| |669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|Java|100|| -|684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](https://github.com/dingjikerbo/leetcode/blob/master/solution/src/main/java/com/inuker/solution/RedundantConnection.java)||| \ No newline at end of file +|684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| \ No newline at end of file From 6c48b31fba56082ed70b473d38d93f8ca7fe1838 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 25 Aug 2018 17:52:28 +0800 Subject: [PATCH 04/96] fix path --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2c4b5a2..a0d88e1 100644 --- a/README.md +++ b/README.md @@ -373,9 +373,9 @@ |541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](leetcode/solution/src/ReverseStringII.java)|100|| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| -|617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|Java|100|很简单| +|617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)]|100|很简单| |637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](leetcode/solution/src/AverageOfLevelsInBinaryTree.java)|100|| |652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](leetcode/solution/src/FindDuplicateSubtrees.java)|70|开始还没思路| |653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](leetcode/solution/src/TwoSumIV.java)|90|| -|669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|Java|100|| +|669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|[Java](leetcode/solution/src/TrimABinarySearchTree.java)|100|| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| \ No newline at end of file From f816c6be3f3645e36f20af820ccda9037c823768 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 25 Aug 2018 18:26:31 +0800 Subject: [PATCH 05/96] remove name --- .DS_Store | Bin 6148 -> 8196 bytes README.md | 2 +- leetcode/common/src/CommonUtils.java | 4 ---- leetcode/common/src/Interval.java | 4 ---- leetcode/common/src/ListNode.java | 4 ---- leetcode/common/src/NestedInteger.java | 4 ---- leetcode/common/src/Point.java | 4 ---- leetcode/common/src/RandomListNode.java | 4 ---- leetcode/common/src/TreeLinkNode.java | 4 ---- leetcode/common/src/TreeNode.java | 4 ---- leetcode/common/src/TrieNode.java | 4 ---- leetcode/common/src/UndirectedGraphNode.java | 4 ---- leetcode/solution/src/AddBinary.java | 4 ---- leetcode/solution/src/AddTwoNumber.java | 4 ---- leetcode/solution/src/AddTwoNumbersII.java | 4 ---- leetcode/solution/src/AlienDictionary.java | 1 - .../solution/src/AndroidUnlockPatterns.java | 4 ---- .../src/AverageOfLevelsInBinaryTree.java | 4 ---- leetcode/solution/src/BSTIterator.java | 4 ---- leetcode/solution/src/BalancedBinaryTree.java | 4 ---- leetcode/solution/src/BasicCalculator.java | 4 ---- .../solution/src/BeautifulArrangement.java | 4 ---- .../solution/src/BestTimeBuySellStock.java | 4 ---- .../solution/src/BestTimeBuySellStockII.java | 4 ---- .../solution/src/BestTimeBuySellStockIII.java | 6 ------ .../solution/src/BestTimeBuySellStockIV.java | 6 ------ .../src/BestTimeBuySellStockWithCoolDown.java | 6 ------ .../src/BinaryTreeInorderTraversal.java | 4 ---- .../src/BinaryTreeLevelOrderTraversal.java | 4 ---- .../src/BinaryTreeLevelOrderTraversalII.java | 4 ---- .../BinaryTreeLongestConsecutiveSequence.java | 4 ---- .../src/BinaryTreeMaximumPathSum.java | 4 ---- leetcode/solution/src/BinaryTreePaths.java | 4 ---- .../src/BinaryTreePostorderTraversal.java | 4 ---- .../src/BinaryTreePreorderTraversal.java | 4 ---- .../solution/src/BinaryTreeRightSideView.java | 4 ---- .../solution/src/BinaryTreeUpsideDown.java | 4 ---- .../src/BinaryTreeVerticalOrderTraversal.java | 4 ---- .../BinaryTreeZigzagLevelOrderTraversal.java | 4 ---- leetcode/solution/src/BinaryWatch.java | 4 ---- leetcode/solution/src/BombEnemy.java | 4 ---- leetcode/solution/src/BulbSwitcher.java | 4 ---- leetcode/solution/src/BurstBalloons.java | 4 ---- leetcode/solution/src/CanArrangeWords.java | 4 ---- leetcode/solution/src/CloneGraph.java | 4 ---- .../src/ClosestBinarySearchTreeValue.java | 4 ---- .../src/ClosestBinarySearchTreeValueII.java | 4 ---- leetcode/solution/src/Codec.java | 4 ---- leetcode/solution/src/CombinationSum.java | 4 ---- leetcode/solution/src/CombinationSumII.java | 4 ---- leetcode/solution/src/CombinationSumIII.java | 4 ---- leetcode/solution/src/CombinationSumIV.java | 4 ---- leetcode/solution/src/Combinations.java | 4 ---- ...yTreeFromInorderAndPostorderTraversal.java | 4 ---- ...inaryTreeFromPreorderInorderTraversal.java | 4 ---- .../solution/src/ContainerWithMostWater.java | 4 ---- leetcode/solution/src/ContainsDuplicate.java | 4 ---- .../solution/src/ContainsDuplicateII.java | 4 ---- .../solution/src/ContainsDuplicateIII.java | 4 ---- .../ConvertSortedArrayToBinarySearchTree.java | 4 ---- .../ConvertSortedListToBinarySearchTree.java | 4 ---- .../src/CopyListWithRandomPointer.java | 4 ---- leetcode/solution/src/CountAndSay.java | 4 ---- .../solution/src/CountCompleteTreeNodes.java | 4 ---- .../src/CountNumberWithUniqueDigits.java | 4 ---- .../src/CountOfSmallerNumbersAfterSelf.java | 4 ---- leetcode/solution/src/CountPrimes.java | 4 ---- .../solution/src/CountUnivalueSubtrees.java | 4 ---- leetcode/solution/src/CourseSchedule.java | 4 ---- leetcode/solution/src/CourseScheduleII.java | 4 ---- leetcode/solution/src/DecodeString.java | 4 ---- leetcode/solution/src/DecodeWays.java | 4 ---- .../solution/src/DeleteNodeInALinkedList.java | 4 ---- leetcode/solution/src/DeleteNodeInBST.java | 4 ---- .../src/DifferenceWaysToAddParentheses.java | 4 ---- leetcode/solution/src/DivideTwoIntegers.java | 4 ---- leetcode/solution/src/EditDistance.java | 4 ---- .../solution/src/EncodeAndDecodeStrings.java | 4 ---- .../solution/src/EncodeAndDecodeTinyURL.java | 4 ---- leetcode/solution/src/EvaluateDivision.java | 4 ---- .../src/EvaluateReversePolishNotation.java | 4 ---- .../solution/src/ExcelSheetColumnNumber.java | 4 ---- .../solution/src/ExcelSheetColumnTitle.java | 4 ---- .../solution/src/ExpressionAddOperators.java | 4 ---- leetcode/solution/src/FactorCombinations.java | 4 ---- .../solution/src/FactorialTrailingZeroes.java | 4 ---- .../solution/src/FindAllAnagramsInString.java | 4 ---- .../src/FindAllDuplicatesInAnArray.java | 4 ---- .../FindAllNumbersDisappearedInAnArray.java | 4 ---- .../solution/src/FindBottomLeftTreeValue.java | 4 ---- leetcode/solution/src/FindCelebrity.java | 4 ---- .../solution/src/FindDuplicateSubtrees.java | 4 ---- .../src/FindKPairsWithSmallestSums.java | 4 ---- .../src/FindLargestValueInEachTreeRow.java | 4 ---- .../solution/src/FindLeavesOfBinaryTree.java | 4 ---- .../src/FindMedianFromDataStream.java | 4 ---- .../src/FindMinimumInRotatedSortedArray.java | 4 ---- .../FindMinimumInRotatedSortedArrayII.java | 4 ---- .../src/FindModeInBinarySearchTree.java | 4 ---- leetcode/solution/src/FindPeakElement.java | 4 ---- leetcode/solution/src/FindRightInterval.java | 4 ---- .../solution/src/FindTheDuplicateNumber.java | 4 ---- leetcode/solution/src/FirstBadVersion.java | 4 ---- .../solution/src/FirstMissingPositive.java | 4 ---- .../src/FirstUniqueCharacterInAString.java | 4 ---- leetcode/solution/src/FizzBuzz.java | 4 ---- .../src/FlattenBinaryTreeToLinkedList.java | 4 ---- .../src/FlattenNestedListIterator.java | 4 ---- leetcode/solution/src/FlipGame.java | 4 ---- leetcode/solution/src/FlipGameII.java | 4 ---- leetcode/solution/src/FourSum.java | 4 ---- leetcode/solution/src/GameOfLife.java | 4 ---- .../solution/src/GeneralizedAbbreviation.java | 4 ---- .../solution/src/GenerateParentheses.java | 4 ---- leetcode/solution/src/GraphValidTree.java | 1 - leetcode/solution/src/GrayCode.java | 4 ---- leetcode/solution/src/GroupAnagrams.java | 4 ---- .../solution/src/GroupShiftedStrings.java | 4 ---- .../src/GuessNumberHigherOrLower.java | 4 ---- .../src/GuessNumberHigherOrLowerII.java | 4 ---- leetcode/solution/src/HIndex.java | 3 --- leetcode/solution/src/HIndexII.java | 3 --- leetcode/solution/src/HammingDistance.java | 4 ---- leetcode/solution/src/HouseRobber.java | 4 ---- leetcode/solution/src/HouseRobberII.java | 4 ---- leetcode/solution/src/HouseRobberIII.java | 4 ---- .../src/IncreasingTripletSubsequence.java | 4 ---- .../solution/src/InorderSuccessorInBST.java | 4 ---- .../solution/src/InsertDeleteGetRandom.java | 4 ---- .../solution/src/InsertDeleteGetRandomII.java | 4 ---- leetcode/solution/src/InsertInterval.java | 4 ---- leetcode/solution/src/InsertionSortList.java | 4 ---- .../solution/src/IntegerToEnglishWords.java | 4 ---- leetcode/solution/src/IntegerToRoman.java | 4 ---- .../solution/src/IntersectionOfTwoArrays.java | 4 ---- .../src/IntersectionOfTwoArraysII.java | 4 ---- leetcode/solution/src/InvertBinaryTree.java | 4 ---- leetcode/solution/src/JumpGame.java | 4 ---- leetcode/solution/src/JumpGameII.java | 4 ---- .../src/KthLargestElementInArray.java | 4 ---- .../KthSmallestElementInASortedMatrix.java | 4 ---- .../solution/src/KthSmallestElementInBST.java | 4 ---- leetcode/solution/src/LFUCache.java | 3 --- leetcode/solution/src/LargestBSTSubtree.java | 4 ---- leetcode/solution/src/LargestNumber.java | 4 ---- .../src/LargestRectangleInHistogram.java | 4 ---- .../src/LetterCombinationOfPhoneNumber.java | 4 ---- .../solution/src/LicenseKeyFormatting.java | 4 ---- leetcode/solution/src/LinkedListCycle.java | 1 - leetcode/solution/src/LinkedListCycleII.java | 4 ---- .../solution/src/LinkedListRandomNode.java | 4 ---- leetcode/solution/src/LoggerRateLimiter.java | 4 ---- .../solution/src/LongestAbsoluteFilePath.java | 4 ---- .../solution/src/LongestCommonPrefix.java | 4 ---- .../src/LongestConsecutiveSequence.java | 1 - .../src/LongestIncreasingPathInAMatrix.java | 4 ---- .../src/LongestIncreasingSubsequence.java | 4 ---- leetcode/solution/src/LongestPalindrome.java | 4 ---- .../src/LongestPalindromicSubstring.java | 4 ---- ...stringWithAtLeastKRepeatingCharacters.java | 4 ---- ...ubstringWithAtMostKDistinctCharacters.java | 4 ---- ...stringWithAtMostTwoDistinctCharacters.java | 4 ---- ...stSubstringWithoutRepeatingCharacters.java | 4 ---- .../solution/src/LongestValidParentheses.java | 4 ---- ...ongestWordInDictionaryThroughDeleting.java | 4 ---- ...owestCommonAncestorOfBinarySearchTree.java | 4 ---- .../src/LowestCommonAncestorOfBinaryTree.java | 3 --- leetcode/solution/src/MajorityElement.java | 4 ---- leetcode/solution/src/MajorityElementII.java | 4 ---- leetcode/solution/src/MaxConsecutiveOnes.java | 4 ---- .../solution/src/MaxConsecutiveOnesII.java | 4 ---- leetcode/solution/src/MaxPointsOnALine.java | 4 ---- leetcode/solution/src/MaximalRectangle.java | 4 ---- leetcode/solution/src/MaximalSquare.java | 4 ---- .../src/MaximumDepthOfBinaryTree.java | 5 ----- leetcode/solution/src/MaximumGap.java | 4 ---- .../solution/src/MaximumProductSubarray.java | 4 ---- .../src/MaximumSizeSubarraySumEqualsK.java | 4 ---- leetcode/solution/src/MaximumSubarray.java | 4 ---- .../solution/src/MedianOfTwoSortedArrays.java | 1 - leetcode/solution/src/MeetingRooms.java | 4 ---- leetcode/solution/src/MeetingRoomsII.java | 4 ---- leetcode/solution/src/MergeIntervals.java | 1 - leetcode/solution/src/MergeKSortedList.java | 1 - leetcode/solution/src/MergeSortedArray.java | 4 ---- leetcode/solution/src/MergeTwoSortedList.java | 4 ---- leetcode/solution/src/MinStack.java | 4 ---- .../src/MinimumDepthOfBinaryTree.java | 4 ---- leetcode/solution/src/MinimumHeightTrees.java | 4 ---- .../solution/src/MinimumSizeSubarraySum.java | 4 ---- .../solution/src/MinimumWindowSubstring.java | 4 ---- leetcode/solution/src/MissingNumber.java | 4 ---- leetcode/solution/src/MissingRanges.java | 4 ---- .../solution/src/MostFrequentSubtreeSum.java | 4 ---- leetcode/solution/src/MoveZeroes.java | 4 ---- leetcode/solution/src/MovingAverage.java | 4 ---- leetcode/solution/src/MultiplyStrings.java | 4 ---- leetcode/solution/src/MyQueue.java | 4 ---- leetcode/solution/src/MyStack.java | 4 ---- leetcode/solution/src/NQueens.java | 4 ---- leetcode/solution/src/NQueensII.java | 4 ---- .../solution/src/NestedListWeightSum.java | 4 ---- .../solution/src/NestedListWeightSumII.java | 4 ---- leetcode/solution/src/NextPermutation.java | 4 ---- leetcode/solution/src/NumArray.java | 4 ---- leetcode/solution/src/NumArrayII.java | 3 --- leetcode/solution/src/NumMatrix.java | 4 ---- leetcode/solution/src/NumMatrixII.java | 4 ---- .../src/NumberOfConnectedComponents.java | 4 ---- leetcode/solution/src/NumberOfDigitOne.java | 4 ---- leetcode/solution/src/NumberOfIslands.java | 4 ---- leetcode/solution/src/NumberOfIslandsII.java | 4 ---- leetcode/solution/src/OddEvenLinkedList.java | 4 ---- leetcode/solution/src/OneEditDistance.java | 4 ---- leetcode/solution/src/PaintHouse.java | 4 ---- leetcode/solution/src/PaintHouseII.java | 4 ---- .../solution/src/PalindromeLinkedList.java | 4 ---- leetcode/solution/src/PalindromeNumber.java | 4 ---- leetcode/solution/src/PalindromePairs.java | 4 ---- .../solution/src/PalindromePartitioning.java | 4 ---- .../src/PalindromePartitioningII.java | 4 ---- .../solution/src/PalindromePermutation.java | 4 ---- .../solution/src/PalindromePermutationII.java | 4 ---- leetcode/solution/src/PartitionList.java | 4 ---- leetcode/solution/src/PascalTriangleII.java | 4 ---- leetcode/solution/src/PascalsTriangle.java | 4 ---- leetcode/solution/src/PathSum.java | 4 ---- leetcode/solution/src/PathSumII.java | 4 ---- leetcode/solution/src/PathSumIII.java | 4 ---- leetcode/solution/src/PeekingIterator.java | 4 ---- leetcode/solution/src/PerfectRectangle.java | 4 ---- leetcode/solution/src/PerfectSquares.java | 4 ---- .../solution/src/PermutationSequence.java | 4 ---- leetcode/solution/src/Permutations.java | 4 ---- leetcode/solution/src/PermutationsII.java | 4 ---- leetcode/solution/src/PlusOne.java | 4 ---- leetcode/solution/src/PlusOneLinkedList.java | 4 ---- ...PopulatingNextRightPointersInEachNode.java | 4 ---- ...pulatingNextRightPointersInEachNodeII.java | 4 ---- leetcode/solution/src/Pow.java | 4 ---- .../src/ProductOfArrayExceptSelf.java | 4 ---- .../src/QueueReconstructionByHeight.java | 1 - leetcode/solution/src/RandomPickIndex.java | 4 ---- leetcode/solution/src/RangeAddition.java | 4 ---- .../src/ReadNCharactersGivenRead4.java | 4 ---- .../src/ReadNCharactersGivenRead4II.java | 4 ---- .../src/RearrangeStringKDistanceApart.java | 4 ---- .../solution/src/ReconstructItinerary.java | 3 --- .../solution/src/RecoverBinarySearchTree.java | 4 ---- leetcode/solution/src/RectangleArea.java | 4 ---- .../solution/src/RedundantConnection.java | 4 ---- .../src/RegularExpressionMatching.java | 3 --- .../solution/src/RemoveDuplicateLetters.java | 4 ---- .../src/RemoveDuplicatesFromSortedArray.java | 4 ---- .../RemoveDuplicatesFromSortedArrayII.java | 4 ---- .../src/RemoveDuplicatesFromSortedList.java | 4 ---- .../src/RemoveDuplicatesFromSortedListII.java | 4 ---- leetcode/solution/src/RemoveElement.java | 4 ---- .../src/RemoveInvalidParentheses.java | 4 ---- leetcode/solution/src/RemoveKDigits.java | 4 ---- .../src/RemoveLinkedListElements.java | 4 ---- .../src/RemoveNthNodeFromEndOfList.java | 4 ---- leetcode/solution/src/ReorderList.java | 4 ---- .../src/RepeatedSubstringPattern.java | 4 ---- leetcode/solution/src/RestoreIPAddresses.java | 4 ---- leetcode/solution/src/ReverseBits.java | 3 --- leetcode/solution/src/ReverseInteger.java | 3 --- leetcode/solution/src/ReverseLinkedList.java | 4 ---- .../solution/src/ReverseLinkedListII.java | 4 ---- .../solution/src/ReverseNodesInKGroup.java | 4 ---- leetcode/solution/src/ReverseString.java | 4 ---- leetcode/solution/src/ReverseStringII.java | 4 ---- .../solution/src/ReverseVowelsOfaString.java | 4 ---- .../solution/src/ReverseWordsInAString.java | 4 ---- .../solution/src/ReverseWordsInAStringII.java | 4 ---- .../src/ReverseWordsInAStringIII.java | 4 ---- leetcode/solution/src/RomanToInteger.java | 4 ---- leetcode/solution/src/RotateArray.java | 4 ---- leetcode/solution/src/RotateImage.java | 3 --- leetcode/solution/src/RotateList.java | 4 ---- leetcode/solution/src/SameTree.java | 4 ---- leetcode/solution/src/Search2DMatrix.java | 4 ---- leetcode/solution/src/Search2DMatrixII.java | 4 ---- leetcode/solution/src/SearchForARange.java | 4 ---- .../src/SearchInRotatedSortedArray.java | 4 ---- .../src/SearchInRotatedSortedArrayII.java | 4 ---- .../solution/src/SearchInsertPosition.java | 4 ---- leetcode/solution/src/SegmentTreeNode.java | 4 ---- leetcode/solution/src/SelfCrossing.java | 4 ---- .../solution/src/SentenceScreenFitting.java | 4 ---- .../src/SerializeAndDeserializeBST.java | 4 ---- leetcode/solution/src/SetMatrixZeroes.java | 4 ---- .../src/ShortestDistanceFromAllBuildings.java | 4 ---- leetcode/solution/src/ShortestPalindrome.java | 4 ---- .../solution/src/ShortestWordDistance.java | 4 ---- .../solution/src/ShortestWordDistanceII.java | 4 ---- .../solution/src/ShortestWordDistanceIII.java | 4 ---- leetcode/solution/src/ShuffleAnArray.java | 4 ---- leetcode/solution/src/SimplifyPath.java | 4 ---- .../solution/src/SlidingWindowMaximum.java | 4 ---- .../solution/src/SlidingWindowMedian.java | 1 - leetcode/solution/src/SmallestGoodBase.java | 4 ---- ...SmallestRectangleEnclosingBlackPixels.java | 4 ---- .../src/SortCharactersByFrequency.java | 4 ---- leetcode/solution/src/SortColors.java | 4 ---- leetcode/solution/src/SortList.java | 4 ---- .../src/SparseMatrixMultiplication.java | 4 ---- leetcode/solution/src/SpiralMatrix.java | 4 ---- .../solution/src/SplitArrayLargestSum.java | 4 ---- leetcode/solution/src/Sqrt.java | 4 ---- leetcode/solution/src/StrStr.java | 4 ---- leetcode/solution/src/String2Integer.java | 4 ---- .../solution/src/StrobogrammaticNumber.java | 4 ---- leetcode/solution/src/SubarraySumEqualsK.java | 1 - leetcode/solution/src/Subsets.java | 4 ---- leetcode/solution/src/SubsetsII.java | 4 ---- .../SubstringWithConcatenationOfAllWords.java | 4 ---- leetcode/solution/src/SudokuSolver.java | 4 ---- leetcode/solution/src/SumOfLeftLeaves.java | 4 ---- .../solution/src/SumRootToLeafNumbers.java | 4 ---- leetcode/solution/src/SummaryRanges.java | 4 ---- leetcode/solution/src/SuperUglyNumber.java | 4 ---- leetcode/solution/src/SurroundedRegions.java | 4 ---- leetcode/solution/src/SwapNodesInPairs.java | 4 ---- leetcode/solution/src/SymmetricTree.java | 4 ---- leetcode/solution/src/TextJustification.java | 4 ---- leetcode/solution/src/TheSkylineProblem.java | 4 ---- leetcode/solution/src/ThirdMaximumNumber.java | 4 ---- leetcode/solution/src/ThreeSum.java | 4 ---- leetcode/solution/src/ThreeSumClosest.java | 4 ---- leetcode/solution/src/ThreeSumSmaller.java | 4 ---- .../solution/src/TopKFrequentElements.java | 4 ---- .../solution/src/TotalHammingDistance.java | 4 ---- leetcode/solution/src/TrappingRainWater.java | 4 ---- .../solution/src/TrappingRainWaterII.java | 4 ---- leetcode/solution/src/Trie.java | 4 ---- leetcode/solution/src/TwoSum.java | 4 ---- leetcode/solution/src/TwoSumII.java | 1 - leetcode/solution/src/TwoSumIII.java | 4 ---- leetcode/solution/src/TwoSumIV.java | 4 ---- leetcode/solution/src/UTFValidation.java | 4 ---- leetcode/solution/src/UglyNumber.java | 4 ---- leetcode/solution/src/UglyNumberII.java | 4 ---- .../solution/src/UniqueBinarySearchTrees.java | 4 ---- .../src/UniqueBinarySearchTreesII.java | 4 ---- leetcode/solution/src/ValidAnagram.java | 4 ---- leetcode/solution/src/ValidPalindrome.java | 4 ---- leetcode/solution/src/ValidParentheses.java | 4 ---- leetcode/solution/src/ValidPerfectSquare.java | 4 ---- leetcode/solution/src/ValidSudoku.java | 4 ---- leetcode/solution/src/ValidWordAbbr.java | 4 ---- .../solution/src/ValidWordAbbreviation.java | 4 ---- leetcode/solution/src/ValidWordSquare.java | 4 ---- .../src/ValidateBinarySearchTree.java | 4 ---- leetcode/solution/src/Vector2D.java | 4 ---- ...ifyPreorderSequenceInBinarySearchTree.java | 4 ---- leetcode/solution/src/WallsAndGates.java | 4 ---- leetcode/solution/src/WiggleSort.java | 4 ---- leetcode/solution/src/WiggleSortII.java | 4 ---- leetcode/solution/src/WildcardMatching.java | 4 ---- leetcode/solution/src/WordBreak.java | 4 ---- leetcode/solution/src/WordBreakII.java | 4 ---- leetcode/solution/src/WordDictionary.java | 4 ---- leetcode/solution/src/WordLadder.java | 4 ---- leetcode/solution/src/WordLadderII.java | 4 ---- leetcode/solution/src/WordSearch.java | 4 ---- leetcode/solution/src/WordSearchII.java | 4 ---- leetcode/solution/src/WordSquares.java | 4 ---- leetcode/solution/src/ZigZagConversion.java | 4 ---- leetcode/solution/src/ZigzagIterator.java | 4 ---- .../solution/src/system/DesignTinyURL.java | 4 ---- leetcode/solution/src/system/Info.java | 4 ---- 372 files changed, 1 insertion(+), 1445 deletions(-) diff --git a/.DS_Store b/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..cf4a7d13889654e6329784e526ff4a7957b038e3 100644 GIT binary patch literal 8196 zcmeI1&2G~`5P)Z!1Z)8!hf2-S7j8M!6$;7$$qM06aj7tZLqV+_o5sTNMzKRgO_1-r z0Q3R+Ebs(<9cF(>{mTI%O6iWYJL{dDwdeE1_HF=xjFz4W&;tMs3)9^@Sk(x#vr>^Q z*|UwBpg+WOH>55eeRJoP(W*lcPy`eKML-cy1pWmA_|9gcHN5wQRn>}sB5)%Ku;+t; zg=tIbOlbb-z=|&cP`9z03%0wgf!dJTk~$L_Eht2|q86@1E-{F3$9_YOv!u?17Vbdg z;)BRD6S+bm{OmZt!G{B}gjTg8pa@h6u(f*&JfJXfSNZjO7{tl$?giOuwL7TW-wQQ`!Vzu?Y+=i`vquY$;< zs}WsBUd-pQg@K>wsJoMTBOMOSzVXN$tk=4>^T2$(e?0qentoh=`XT}% z@}U6tO96hpj4nJe?FpUb_a$W9Gddo7%VYv@asKw;?%}1+jCu{0`Lt=a_x2(RX>@|K zu&e5T4=&QB@a{k5n~Si9an4%c{Os&=kxqei#ahEVH*<-(1|d@SA%O{U_rTAQ|L)GO zHnV$aY7SUx4}P86EOk*DQ~L~!l|V}%I*5R!UI=jx0dCG+ErLJzw5KPGg_gAhnpCgF}!R pBnTAa1`@77th%xAJM(0I8AV3M$)+;eJWLRCKt?lcj^~-f3;-`E4{!hg diff --git a/README.md b/README.md index a0d88e1..21b5f3d 100644 --- a/README.md +++ b/README.md @@ -373,7 +373,7 @@ |541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](leetcode/solution/src/ReverseStringII.java)|100|| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| -|617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)]|100|很简单| +|617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)|100|很简单| |637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](leetcode/solution/src/AverageOfLevelsInBinaryTree.java)|100|| |652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](leetcode/solution/src/FindDuplicateSubtrees.java)|70|开始还没思路| |653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](leetcode/solution/src/TwoSumIV.java)|90|| diff --git a/leetcode/common/src/CommonUtils.java b/leetcode/common/src/CommonUtils.java index 88d88b0..4e25df5 100644 --- a/leetcode/common/src/CommonUtils.java +++ b/leetcode/common/src/CommonUtils.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/12. - */ - public class CommonUtils { diff --git a/leetcode/common/src/Interval.java b/leetcode/common/src/Interval.java index 1f574a7..749239e 100644 --- a/leetcode/common/src/Interval.java +++ b/leetcode/common/src/Interval.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/20. - */ - /** * Definition for an interval. */ diff --git a/leetcode/common/src/ListNode.java b/leetcode/common/src/ListNode.java index d59391d..02be290 100644 --- a/leetcode/common/src/ListNode.java +++ b/leetcode/common/src/ListNode.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - public class ListNode { public int val; diff --git a/leetcode/common/src/NestedInteger.java b/leetcode/common/src/NestedInteger.java index cbc4d89..39cb29e 100644 --- a/leetcode/common/src/NestedInteger.java +++ b/leetcode/common/src/NestedInteger.java @@ -1,9 +1,5 @@ import java.util.List; -/** - * Created by dingjikerbo on 2016/11/22. - */ - public interface NestedInteger { // @return true if this NestedInteger holds a single integer, rather than a nested list. diff --git a/leetcode/common/src/Point.java b/leetcode/common/src/Point.java index a90dc08..991a20a 100644 --- a/leetcode/common/src/Point.java +++ b/leetcode/common/src/Point.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/7. - */ - class Point { int x; int y; diff --git a/leetcode/common/src/RandomListNode.java b/leetcode/common/src/RandomListNode.java index f8f74d2..8816baa 100644 --- a/leetcode/common/src/RandomListNode.java +++ b/leetcode/common/src/RandomListNode.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 17/8/9. - */ - public class RandomListNode { public int label; public RandomListNode next, random; diff --git a/leetcode/common/src/TreeLinkNode.java b/leetcode/common/src/TreeLinkNode.java index 13025ad..0b21dca 100644 --- a/leetcode/common/src/TreeLinkNode.java +++ b/leetcode/common/src/TreeLinkNode.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - /** * Definition for binary tree with next pointer. */ diff --git a/leetcode/common/src/TreeNode.java b/leetcode/common/src/TreeNode.java index be195f0..6a1f777 100644 --- a/leetcode/common/src/TreeNode.java +++ b/leetcode/common/src/TreeNode.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - public class TreeNode { public int val; diff --git a/leetcode/common/src/TrieNode.java b/leetcode/common/src/TrieNode.java index 3aff8c7..58a80df 100644 --- a/leetcode/common/src/TrieNode.java +++ b/leetcode/common/src/TrieNode.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/22. - */ - public class TrieNode { public TrieNode[] nodes; diff --git a/leetcode/common/src/UndirectedGraphNode.java b/leetcode/common/src/UndirectedGraphNode.java index 4470cff..5193303 100644 --- a/leetcode/common/src/UndirectedGraphNode.java +++ b/leetcode/common/src/UndirectedGraphNode.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by dingjikerbo on 16/12/19. - */ - public class UndirectedGraphNode { public int label; diff --git a/leetcode/solution/src/AddBinary.java b/leetcode/solution/src/AddBinary.java index 8609984..e94a5ae 100644 --- a/leetcode/solution/src/AddBinary.java +++ b/leetcode/solution/src/AddBinary.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/19. - */ - public class AddBinary { public String addBinary(String a, String b) { diff --git a/leetcode/solution/src/AddTwoNumber.java b/leetcode/solution/src/AddTwoNumber.java index 5684062..9469ff4 100644 --- a/leetcode/solution/src/AddTwoNumber.java +++ b/leetcode/solution/src/AddTwoNumber.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class AddTwoNumber { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { diff --git a/leetcode/solution/src/AddTwoNumbersII.java b/leetcode/solution/src/AddTwoNumbersII.java index 5ec0e51..08ca684 100644 --- a/leetcode/solution/src/AddTwoNumbersII.java +++ b/leetcode/solution/src/AddTwoNumbersII.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by liwentian on 2017/9/11. - */ - public class AddTwoNumbersII { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { diff --git a/leetcode/solution/src/AlienDictionary.java b/leetcode/solution/src/AlienDictionary.java index 45c270d..6fd8f05 100644 --- a/leetcode/solution/src/AlienDictionary.java +++ b/leetcode/solution/src/AlienDictionary.java @@ -1,7 +1,6 @@ import java.util.*; /** - * Created by dingjikerbo on 16/12/17. *

* TestCases * "z", "z" => "z" diff --git a/leetcode/solution/src/AndroidUnlockPatterns.java b/leetcode/solution/src/AndroidUnlockPatterns.java index e715264..6912537 100644 --- a/leetcode/solution/src/AndroidUnlockPatterns.java +++ b/leetcode/solution/src/AndroidUnlockPatterns.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/6. - */ - /** * https://leetcode.com/articles/android-unlock-patterns/ */ diff --git a/leetcode/solution/src/AverageOfLevelsInBinaryTree.java b/leetcode/solution/src/AverageOfLevelsInBinaryTree.java index 1fe1322..1324566 100644 --- a/leetcode/solution/src/AverageOfLevelsInBinaryTree.java +++ b/leetcode/solution/src/AverageOfLevelsInBinaryTree.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Queue; -/** - * Created by dingjikerbo on 2017/7/22. - */ - public class AverageOfLevelsInBinaryTree { public List averageOfLevels(TreeNode root) { diff --git a/leetcode/solution/src/BSTIterator.java b/leetcode/solution/src/BSTIterator.java index a85aba8..e484df4 100644 --- a/leetcode/solution/src/BSTIterator.java +++ b/leetcode/solution/src/BSTIterator.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by dingjikerbo on 16/11/21. - */ - public class BSTIterator { private Stack mStack; diff --git a/leetcode/solution/src/BalancedBinaryTree.java b/leetcode/solution/src/BalancedBinaryTree.java index 3db11a9..0e88812 100644 --- a/leetcode/solution/src/BalancedBinaryTree.java +++ b/leetcode/solution/src/BalancedBinaryTree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/28. - */ - /** * 平衡二叉树条件是左边是平衡,右边是平衡,且两边高度差相差不超过1 * 树的高度是所有子树的最大高度 diff --git a/leetcode/solution/src/BasicCalculator.java b/leetcode/solution/src/BasicCalculator.java index 48d9dfd..a246d72 100644 --- a/leetcode/solution/src/BasicCalculator.java +++ b/leetcode/solution/src/BasicCalculator.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by liwentian on 2017/9/12. - */ - public class BasicCalculator { public int calculate(String s) { diff --git a/leetcode/solution/src/BeautifulArrangement.java b/leetcode/solution/src/BeautifulArrangement.java index eec778f..8c7ebb0 100644 --- a/leetcode/solution/src/BeautifulArrangement.java +++ b/leetcode/solution/src/BeautifulArrangement.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/6. - */ - /** * https://leetcode.com/articles/beautiful-arrangement/ */ diff --git a/leetcode/solution/src/BestTimeBuySellStock.java b/leetcode/solution/src/BestTimeBuySellStock.java index f0eb728..8661ea7 100644 --- a/leetcode/solution/src/BestTimeBuySellStock.java +++ b/leetcode/solution/src/BestTimeBuySellStock.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - /** * https://leetcode.com/articles/best-time-buy-and-sell-stock/ */ diff --git a/leetcode/solution/src/BestTimeBuySellStockII.java b/leetcode/solution/src/BestTimeBuySellStockII.java index 09bbfd3..4428037 100644 --- a/leetcode/solution/src/BestTimeBuySellStockII.java +++ b/leetcode/solution/src/BestTimeBuySellStockII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - /** * https://leetcode.com/articles/best-time-buy-and-sell-stock-ii/ */ diff --git a/leetcode/solution/src/BestTimeBuySellStockIII.java b/leetcode/solution/src/BestTimeBuySellStockIII.java index 36ae79f..f97d430 100644 --- a/leetcode/solution/src/BestTimeBuySellStockIII.java +++ b/leetcode/solution/src/BestTimeBuySellStockIII.java @@ -1,9 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - -/** - */ public class BestTimeBuySellStockIII { public int maxProfit(int[] prices) { diff --git a/leetcode/solution/src/BestTimeBuySellStockIV.java b/leetcode/solution/src/BestTimeBuySellStockIV.java index 8495c6d..72e784e 100644 --- a/leetcode/solution/src/BestTimeBuySellStockIV.java +++ b/leetcode/solution/src/BestTimeBuySellStockIV.java @@ -1,9 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - -/** - */ public class BestTimeBuySellStockIV { public int maxProfit(int k, int[] prices) { diff --git a/leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java b/leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java index c9b2e9b..e0acc92 100644 --- a/leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java +++ b/leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java @@ -1,9 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - -/** - */ public class BestTimeBuySellStockWithCoolDown { public int maxProfit(int[] prices) { diff --git a/leetcode/solution/src/BinaryTreeInorderTraversal.java b/leetcode/solution/src/BinaryTreeInorderTraversal.java index 1410584..9f546db 100644 --- a/leetcode/solution/src/BinaryTreeInorderTraversal.java +++ b/leetcode/solution/src/BinaryTreeInorderTraversal.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Stack; -/** - * Created by dingjikerbo on 16/12/1. - */ - public class BinaryTreeInorderTraversal { public List inorderTraversal(TreeNode root) { diff --git a/leetcode/solution/src/BinaryTreeLevelOrderTraversal.java b/leetcode/solution/src/BinaryTreeLevelOrderTraversal.java index 407747d..f132a20 100644 --- a/leetcode/solution/src/BinaryTreeLevelOrderTraversal.java +++ b/leetcode/solution/src/BinaryTreeLevelOrderTraversal.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class BinaryTreeLevelOrderTraversal { // 耗时2ms diff --git a/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java b/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java index f185642..7eb105a 100644 --- a/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java +++ b/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class BinaryTreeLevelOrderTraversalII { // 耗时2ms,和I一样,只不过加到result时添加到头 diff --git a/leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java b/leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java index b0c837b..611244b 100644 --- a/leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java +++ b/leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/2. - */ - /** * https://leetcode.com/articles/binary-tree-longest-consecutive-sequence/ */ diff --git a/leetcode/solution/src/BinaryTreeMaximumPathSum.java b/leetcode/solution/src/BinaryTreeMaximumPathSum.java index 433d00c..d7159b2 100644 --- a/leetcode/solution/src/BinaryTreeMaximumPathSum.java +++ b/leetcode/solution/src/BinaryTreeMaximumPathSum.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/28. - */ - /** * 单边的或者双边的,或只包含根节点的 */ diff --git a/leetcode/solution/src/BinaryTreePaths.java b/leetcode/solution/src/BinaryTreePaths.java index 933c07e..a09e484 100644 --- a/leetcode/solution/src/BinaryTreePaths.java +++ b/leetcode/solution/src/BinaryTreePaths.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/11/20. - */ - public class BinaryTreePaths { // 耗时2ms diff --git a/leetcode/solution/src/BinaryTreePostorderTraversal.java b/leetcode/solution/src/BinaryTreePostorderTraversal.java index c93fcc8..2d9558b 100644 --- a/leetcode/solution/src/BinaryTreePostorderTraversal.java +++ b/leetcode/solution/src/BinaryTreePostorderTraversal.java @@ -3,10 +3,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/12/1. - */ - public class BinaryTreePostorderTraversal { /** diff --git a/leetcode/solution/src/BinaryTreePreorderTraversal.java b/leetcode/solution/src/BinaryTreePreorderTraversal.java index 723a3fa..891c8e3 100644 --- a/leetcode/solution/src/BinaryTreePreorderTraversal.java +++ b/leetcode/solution/src/BinaryTreePreorderTraversal.java @@ -3,10 +3,6 @@ import java.util.Deque; import java.util.List; -/** - * Created by dingjikerbo on 16/12/1. - */ - public class BinaryTreePreorderTraversal { public List preorderTraversal(TreeNode root) { diff --git a/leetcode/solution/src/BinaryTreeRightSideView.java b/leetcode/solution/src/BinaryTreeRightSideView.java index 689ab3e..0d7c4cf 100644 --- a/leetcode/solution/src/BinaryTreeRightSideView.java +++ b/leetcode/solution/src/BinaryTreeRightSideView.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class BinaryTreeRightSideView { public List rightSideView(TreeNode root) { diff --git a/leetcode/solution/src/BinaryTreeUpsideDown.java b/leetcode/solution/src/BinaryTreeUpsideDown.java index 31b9a4e..f86829c 100644 --- a/leetcode/solution/src/BinaryTreeUpsideDown.java +++ b/leetcode/solution/src/BinaryTreeUpsideDown.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/2. - */ - public class BinaryTreeUpsideDown { /** diff --git a/leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java b/leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java index 41cd47d..79365f5 100644 --- a/leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java +++ b/leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/11/19. - */ - public class BinaryTreeVerticalOrderTraversal { private int minKey = 0, maxKey = 0; diff --git a/leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java b/leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java index 6f0fb7d..8641f80 100644 --- a/leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java +++ b/leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/2. - */ - public class BinaryTreeZigzagLevelOrderTraversal { public List> zigzagLevelOrder(TreeNode root) { diff --git a/leetcode/solution/src/BinaryWatch.java b/leetcode/solution/src/BinaryWatch.java index 7a11deb..d23e246 100644 --- a/leetcode/solution/src/BinaryWatch.java +++ b/leetcode/solution/src/BinaryWatch.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by liwentian on 2016/12/29. - */ - public class BinaryWatch { public List readBinaryWatch(int num) { diff --git a/leetcode/solution/src/BombEnemy.java b/leetcode/solution/src/BombEnemy.java index f14d5b2..0f75d72 100644 --- a/leetcode/solution/src/BombEnemy.java +++ b/leetcode/solution/src/BombEnemy.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/11. - */ - public class BombEnemy { public int maxKilledEnemies(char[][] grid) { diff --git a/leetcode/solution/src/BulbSwitcher.java b/leetcode/solution/src/BulbSwitcher.java index 11d8290..ba9d281 100644 --- a/leetcode/solution/src/BulbSwitcher.java +++ b/leetcode/solution/src/BulbSwitcher.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/8. - */ - public class BulbSwitcher { /** * https://discuss.leetcode.com/topic/39558/share-my-o-1-solution-with-explanation/2 diff --git a/leetcode/solution/src/BurstBalloons.java b/leetcode/solution/src/BurstBalloons.java index 53d4b3f..c05a99a 100644 --- a/leetcode/solution/src/BurstBalloons.java +++ b/leetcode/solution/src/BurstBalloons.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/21. - */ - /** * 这题用的闭区间DP,dp[start][end]表示区间start,end内所有气球爆掉的最大coin * 假设最后爆第i个气球,start <= i <= end,则对应的coin为 diff --git a/leetcode/solution/src/CanArrangeWords.java b/leetcode/solution/src/CanArrangeWords.java index 6e08997..a48632a 100644 --- a/leetcode/solution/src/CanArrangeWords.java +++ b/leetcode/solution/src/CanArrangeWords.java @@ -1,9 +1,5 @@ import java.util.HashSet; -/** - * Created by dingjikerbo on 2017/9/29. - */ - /** * 单词接龙,前一个单词的尾巴和后一个单词的头相同就算接上了 * 如果要返回接龙的结果,可以给HashSet改成List diff --git a/leetcode/solution/src/CloneGraph.java b/leetcode/solution/src/CloneGraph.java index d407783..087d010 100644 --- a/leetcode/solution/src/CloneGraph.java +++ b/leetcode/solution/src/CloneGraph.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.Map; -/** - * Created by dingjikerbo on 2016/12/21. - */ - public class CloneGraph { /** diff --git a/leetcode/solution/src/ClosestBinarySearchTreeValue.java b/leetcode/solution/src/ClosestBinarySearchTreeValue.java index 0871db5..3a2adf6 100644 --- a/leetcode/solution/src/ClosestBinarySearchTreeValue.java +++ b/leetcode/solution/src/ClosestBinarySearchTreeValue.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/2. - */ - public class ClosestBinarySearchTreeValue { public int closestValue(TreeNode root, double target) { diff --git a/leetcode/solution/src/ClosestBinarySearchTreeValueII.java b/leetcode/solution/src/ClosestBinarySearchTreeValueII.java index f3229db..41edbf3 100644 --- a/leetcode/solution/src/ClosestBinarySearchTreeValueII.java +++ b/leetcode/solution/src/ClosestBinarySearchTreeValueII.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Stack; -/** - * Created by dingjikerbo on 2016/12/2. - */ - /** * 有三种解法: * 2,中序遍历两遍二叉树,不过每次都会中途退出,构成双栈,一个是大于target,一个是小于target,然后依次出栈满k为止,复杂度O(n + k) diff --git a/leetcode/solution/src/Codec.java b/leetcode/solution/src/Codec.java index af4add7..588c86e 100644 --- a/leetcode/solution/src/Codec.java +++ b/leetcode/solution/src/Codec.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * 类似题 * https://leetcode.com/problems/serialize-and-deserialize-bst/ diff --git a/leetcode/solution/src/CombinationSum.java b/leetcode/solution/src/CombinationSum.java index 471037d..824a65a 100644 --- a/leetcode/solution/src/CombinationSum.java +++ b/leetcode/solution/src/CombinationSum.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/11/22. - */ - public class CombinationSum { // 耗时23ms diff --git a/leetcode/solution/src/CombinationSumII.java b/leetcode/solution/src/CombinationSumII.java index da22db5..2ab9acd 100644 --- a/leetcode/solution/src/CombinationSumII.java +++ b/leetcode/solution/src/CombinationSumII.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/11/22. - */ - public class CombinationSumII { // 耗时29ms diff --git a/leetcode/solution/src/CombinationSumIII.java b/leetcode/solution/src/CombinationSumIII.java index 254f780..c64c203 100644 --- a/leetcode/solution/src/CombinationSumIII.java +++ b/leetcode/solution/src/CombinationSumIII.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/11/22. - */ - /** * 这题不允许重复数字 */ diff --git a/leetcode/solution/src/CombinationSumIV.java b/leetcode/solution/src/CombinationSumIV.java index 2224d19..3920298 100644 --- a/leetcode/solution/src/CombinationSumIV.java +++ b/leetcode/solution/src/CombinationSumIV.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 16/11/22. - */ - public class CombinationSumIV { /** diff --git a/leetcode/solution/src/Combinations.java b/leetcode/solution/src/Combinations.java index f3b125b..f4091d3 100644 --- a/leetcode/solution/src/Combinations.java +++ b/leetcode/solution/src/Combinations.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class Combinations { public List> combine(int n, int k) { diff --git a/leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java b/leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java index 9944b07..7610466 100644 --- a/leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java +++ b/leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/2. - */ - public class ConstructBinaryTreeFromInorderAndPostorderTraversal { public TreeNode buildTree(int[] inorder, int[] postorder) { diff --git a/leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java b/leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java index 65965fb..58477f7 100644 --- a/leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java +++ b/leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/30. - */ - public class ConstructBinaryTreeFromPreorderInorderTraversal { public TreeNode buildTree(int[] preorder, int[] inorder) { diff --git a/leetcode/solution/src/ContainerWithMostWater.java b/leetcode/solution/src/ContainerWithMostWater.java index e0b5083..440da17 100644 --- a/leetcode/solution/src/ContainerWithMostWater.java +++ b/leetcode/solution/src/ContainerWithMostWater.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/5/2. - */ - /** * 题目的意思是选定两块板子组成一个桶,使得装水量最大。注意其余的板子都忽略。 * 一种O(n)的方法是对于区间[left, right],假如height[left] < height[right],则我们可以认定[left, right - 1],[left, right - 2] ... diff --git a/leetcode/solution/src/ContainsDuplicate.java b/leetcode/solution/src/ContainsDuplicate.java index 635e61a..3a56afa 100644 --- a/leetcode/solution/src/ContainsDuplicate.java +++ b/leetcode/solution/src/ContainsDuplicate.java @@ -1,10 +1,6 @@ import java.util.HashSet; import java.util.Set; -/** - * Created by dingjikerbo on 16/12/8. - */ - /** * https://leetcode.com/articles/contains-duplicate/ */ diff --git a/leetcode/solution/src/ContainsDuplicateII.java b/leetcode/solution/src/ContainsDuplicateII.java index 6ab0d8a..0e0ac92 100644 --- a/leetcode/solution/src/ContainsDuplicateII.java +++ b/leetcode/solution/src/ContainsDuplicateII.java @@ -1,10 +1,6 @@ import java.util.HashMap; import java.util.HashSet; -/** - * Created by dingjikerbo on 16/12/8. - */ - /** * https://leetcode.com/articles/contains-duplicate-ii/ */ diff --git a/leetcode/solution/src/ContainsDuplicateIII.java b/leetcode/solution/src/ContainsDuplicateIII.java index e71031c..ca6dc6f 100644 --- a/leetcode/solution/src/ContainsDuplicateIII.java +++ b/leetcode/solution/src/ContainsDuplicateIII.java @@ -2,10 +2,6 @@ import java.util.Map; import java.util.TreeSet; -/** - * Created by dingjikerbo on 16/12/8. - */ - /** * https://leetcode.com/articles/contains-duplicate-iii/ */ diff --git a/leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java b/leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java index a477107..a81ae81 100644 --- a/leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java +++ b/leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/28. - */ - public class ConvertSortedArrayToBinarySearchTree { public TreeNode sortedArrayToBST(int[] nums) { diff --git a/leetcode/solution/src/ConvertSortedListToBinarySearchTree.java b/leetcode/solution/src/ConvertSortedListToBinarySearchTree.java index 5d5a09c..6723b13 100644 --- a/leetcode/solution/src/ConvertSortedListToBinarySearchTree.java +++ b/leetcode/solution/src/ConvertSortedListToBinarySearchTree.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - public class ConvertSortedListToBinarySearchTree { public TreeNode sortedListToBST(ListNode head) { diff --git a/leetcode/solution/src/CopyListWithRandomPointer.java b/leetcode/solution/src/CopyListWithRandomPointer.java index ad8ee1b..9b4615d 100644 --- a/leetcode/solution/src/CopyListWithRandomPointer.java +++ b/leetcode/solution/src/CopyListWithRandomPointer.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * 易错的地方在于random要判空 */ diff --git a/leetcode/solution/src/CountAndSay.java b/leetcode/solution/src/CountAndSay.java index 8605fad..ec3f9b2 100644 --- a/leetcode/solution/src/CountAndSay.java +++ b/leetcode/solution/src/CountAndSay.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/22. - */ - public class CountAndSay { public String countAndSay(int n) { diff --git a/leetcode/solution/src/CountCompleteTreeNodes.java b/leetcode/solution/src/CountCompleteTreeNodes.java index 995d738..d1189b3 100644 --- a/leetcode/solution/src/CountCompleteTreeNodes.java +++ b/leetcode/solution/src/CountCompleteTreeNodes.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/29. - */ - public class CountCompleteTreeNodes { /** 适合通用的二叉树,但是对于完全二叉树会超时 diff --git a/leetcode/solution/src/CountNumberWithUniqueDigits.java b/leetcode/solution/src/CountNumberWithUniqueDigits.java index b5d29ac..50283e3 100644 --- a/leetcode/solution/src/CountNumberWithUniqueDigits.java +++ b/leetcode/solution/src/CountNumberWithUniqueDigits.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2016/12/29. - */ - public class CountNumberWithUniqueDigits { public int countNumbersWithUniqueDigits(int n) { diff --git a/leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java b/leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java index 34a5075..4aa9c80 100644 --- a/leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java +++ b/leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java @@ -1,10 +1,6 @@ import java.util.Arrays; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/21. - */ - /** * 这题理解了好久才搞明白 * 建立一棵二叉树,从数组末尾开始遍历,这里每个树的节点要记录sum和dup diff --git a/leetcode/solution/src/CountPrimes.java b/leetcode/solution/src/CountPrimes.java index 0dafc81..e0ddfd0 100644 --- a/leetcode/solution/src/CountPrimes.java +++ b/leetcode/solution/src/CountPrimes.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ - /** * 如果一个数是另一个数的倍数,那这个数肯定不是素数。 * 利用这个性质,我们可以建立一个素数数组,从2开始将素数的倍数都标注为不是素数。 diff --git a/leetcode/solution/src/CountUnivalueSubtrees.java b/leetcode/solution/src/CountUnivalueSubtrees.java index 2fa584b..b0071b2 100644 --- a/leetcode/solution/src/CountUnivalueSubtrees.java +++ b/leetcode/solution/src/CountUnivalueSubtrees.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/1. - */ - public class CountUnivalueSubtrees { public int countUnivalSubtrees(TreeNode root) { diff --git a/leetcode/solution/src/CourseSchedule.java b/leetcode/solution/src/CourseSchedule.java index a2ff1ca..12a928d 100644 --- a/leetcode/solution/src/CourseSchedule.java +++ b/leetcode/solution/src/CourseSchedule.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class CourseSchedule { /** diff --git a/leetcode/solution/src/CourseScheduleII.java b/leetcode/solution/src/CourseScheduleII.java index b6d63f6..95fc851 100644 --- a/leetcode/solution/src/CourseScheduleII.java +++ b/leetcode/solution/src/CourseScheduleII.java @@ -3,10 +3,6 @@ import java.util.Queue; import java.util.Set; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class CourseScheduleII { public int[] findOrder(int numCourses, int[][] prerequisites) { diff --git a/leetcode/solution/src/DecodeString.java b/leetcode/solution/src/DecodeString.java index 6930342..48315d9 100644 --- a/leetcode/solution/src/DecodeString.java +++ b/leetcode/solution/src/DecodeString.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/11. - */ - public class DecodeString { /** diff --git a/leetcode/solution/src/DecodeWays.java b/leetcode/solution/src/DecodeWays.java index d20150f..6d4a70e 100644 --- a/leetcode/solution/src/DecodeWays.java +++ b/leetcode/solution/src/DecodeWays.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/20. - */ - /** * TestCases * "" diff --git a/leetcode/solution/src/DeleteNodeInALinkedList.java b/leetcode/solution/src/DeleteNodeInALinkedList.java index ac5d588..d7d9aa0 100644 --- a/leetcode/solution/src/DeleteNodeInALinkedList.java +++ b/leetcode/solution/src/DeleteNodeInALinkedList.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - /** * https://leetcode.com/articles/delete-node-linked-list/ */ diff --git a/leetcode/solution/src/DeleteNodeInBST.java b/leetcode/solution/src/DeleteNodeInBST.java index 3f97de5..b33cc58 100644 --- a/leetcode/solution/src/DeleteNodeInBST.java +++ b/leetcode/solution/src/DeleteNodeInBST.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/1/2. - */ - public class DeleteNodeInBST { public TreeNode deleteNode(TreeNode root, int key) { diff --git a/leetcode/solution/src/DifferenceWaysToAddParentheses.java b/leetcode/solution/src/DifferenceWaysToAddParentheses.java index a98f57c..a176668 100644 --- a/leetcode/solution/src/DifferenceWaysToAddParentheses.java +++ b/leetcode/solution/src/DifferenceWaysToAddParentheses.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class DifferenceWaysToAddParentheses { public List diffWaysToCompute(String input) { diff --git a/leetcode/solution/src/DivideTwoIntegers.java b/leetcode/solution/src/DivideTwoIntegers.java index d7936bf..855a504 100644 --- a/leetcode/solution/src/DivideTwoIntegers.java +++ b/leetcode/solution/src/DivideTwoIntegers.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/1/12. - */ - public class DivideTwoIntegers { /** diff --git a/leetcode/solution/src/EditDistance.java b/leetcode/solution/src/EditDistance.java index 410fdb2..95d8798 100644 --- a/leetcode/solution/src/EditDistance.java +++ b/leetcode/solution/src/EditDistance.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/15. - */ - /** * 这题非常重要的是对f的初始化,千万不能漏 * 所有DP问题都要注意初始化边界条件 diff --git a/leetcode/solution/src/EncodeAndDecodeStrings.java b/leetcode/solution/src/EncodeAndDecodeStrings.java index 66577df..f5b1bd2 100644 --- a/leetcode/solution/src/EncodeAndDecodeStrings.java +++ b/leetcode/solution/src/EncodeAndDecodeStrings.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/11. - */ - public class EncodeAndDecodeStrings { /** diff --git a/leetcode/solution/src/EncodeAndDecodeTinyURL.java b/leetcode/solution/src/EncodeAndDecodeTinyURL.java index 9265846..386e4fa 100644 --- a/leetcode/solution/src/EncodeAndDecodeTinyURL.java +++ b/leetcode/solution/src/EncodeAndDecodeTinyURL.java @@ -1,10 +1,6 @@ import java.util.HashMap; import java.util.Random; -/** - * Created by dingjikerbo on 2017/8/20. - */ - /** * https://leetcode.com/articles/encode-and-decode-tinyurl/ */ diff --git a/leetcode/solution/src/EvaluateDivision.java b/leetcode/solution/src/EvaluateDivision.java index dbb7834..f772c14 100644 --- a/leetcode/solution/src/EvaluateDivision.java +++ b/leetcode/solution/src/EvaluateDivision.java @@ -2,10 +2,6 @@ import java.util.HashSet; import java.util.Map; -/** - * Created by liwentian on 2017/9/3. - */ - /** * 1, 首先给除的结果都存起来,建立有向图 * 2,用DFS遍历路径 diff --git a/leetcode/solution/src/EvaluateReversePolishNotation.java b/leetcode/solution/src/EvaluateReversePolishNotation.java index 6f0cf07..0099e69 100644 --- a/leetcode/solution/src/EvaluateReversePolishNotation.java +++ b/leetcode/solution/src/EvaluateReversePolishNotation.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by liwentian on 2017/9/12. - */ - public class EvaluateReversePolishNotation { public int evalRPN(String[] tokens) { diff --git a/leetcode/solution/src/ExcelSheetColumnNumber.java b/leetcode/solution/src/ExcelSheetColumnNumber.java index 56a0ebf..4d8a79f 100644 --- a/leetcode/solution/src/ExcelSheetColumnNumber.java +++ b/leetcode/solution/src/ExcelSheetColumnNumber.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class ExcelSheetColumnNumber { public List binaryTreePaths(TreeNode root) { diff --git a/leetcode/solution/src/ExcelSheetColumnTitle.java b/leetcode/solution/src/ExcelSheetColumnTitle.java index a7f2d28..88fcd30 100644 --- a/leetcode/solution/src/ExcelSheetColumnTitle.java +++ b/leetcode/solution/src/ExcelSheetColumnTitle.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class ExcelSheetColumnTitle { /** diff --git a/leetcode/solution/src/ExpressionAddOperators.java b/leetcode/solution/src/ExpressionAddOperators.java index baf3bb2..da1008c 100644 --- a/leetcode/solution/src/ExpressionAddOperators.java +++ b/leetcode/solution/src/ExpressionAddOperators.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/11/21. - */ - public class ExpressionAddOperators { /** diff --git a/leetcode/solution/src/FactorCombinations.java b/leetcode/solution/src/FactorCombinations.java index b747508..b16a400 100644 --- a/leetcode/solution/src/FactorCombinations.java +++ b/leetcode/solution/src/FactorCombinations.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by liwentian on 2017/9/6. - */ - public class FactorCombinations { public List> getFactors(int n) { diff --git a/leetcode/solution/src/FactorialTrailingZeroes.java b/leetcode/solution/src/FactorialTrailingZeroes.java index 5ed6083..a816916 100644 --- a/leetcode/solution/src/FactorialTrailingZeroes.java +++ b/leetcode/solution/src/FactorialTrailingZeroes.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/7. - */ - public class FactorialTrailingZeroes { public int trailingZeroes(int n) { diff --git a/leetcode/solution/src/FindAllAnagramsInString.java b/leetcode/solution/src/FindAllAnagramsInString.java index 0e39b5f..98a9d5b 100644 --- a/leetcode/solution/src/FindAllAnagramsInString.java +++ b/leetcode/solution/src/FindAllAnagramsInString.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class FindAllAnagramsInString { // 耗时16ms,复杂度O(n) diff --git a/leetcode/solution/src/FindAllDuplicatesInAnArray.java b/leetcode/solution/src/FindAllDuplicatesInAnArray.java index f66277a..5233bf3 100644 --- a/leetcode/solution/src/FindAllDuplicatesInAnArray.java +++ b/leetcode/solution/src/FindAllDuplicatesInAnArray.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by liwentian on 2017/9/10. - */ - public class FindAllDuplicatesInAnArray { public List findDuplicates(int[] nums) { diff --git a/leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java b/leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java index ac911d1..159043c 100644 --- a/leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java +++ b/leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by liwentian on 2017/9/10. - */ - public class FindAllNumbersDisappearedInAnArray { //4,3,2,7,8,2,3,1 diff --git a/leetcode/solution/src/FindBottomLeftTreeValue.java b/leetcode/solution/src/FindBottomLeftTreeValue.java index 8130cc1..a177a75 100644 --- a/leetcode/solution/src/FindBottomLeftTreeValue.java +++ b/leetcode/solution/src/FindBottomLeftTreeValue.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.Queue; -/** - * Created by liwentian on 17/8/3. - */ - public class FindBottomLeftTreeValue { public int findBottomLeftValue(TreeNode root) { diff --git a/leetcode/solution/src/FindCelebrity.java b/leetcode/solution/src/FindCelebrity.java index c9dc7e6..09e1a45 100644 --- a/leetcode/solution/src/FindCelebrity.java +++ b/leetcode/solution/src/FindCelebrity.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/20. - */ - /** * 先用排除法扫一轮,剩下的是唯一的候选人,然后再严格判断 */ diff --git a/leetcode/solution/src/FindDuplicateSubtrees.java b/leetcode/solution/src/FindDuplicateSubtrees.java index b3cf5d6..7036b91 100644 --- a/leetcode/solution/src/FindDuplicateSubtrees.java +++ b/leetcode/solution/src/FindDuplicateSubtrees.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by liwentian on 17/8/3. - */ - public class FindDuplicateSubtrees { /** diff --git a/leetcode/solution/src/FindKPairsWithSmallestSums.java b/leetcode/solution/src/FindKPairsWithSmallestSums.java index 7a1bdeb..0513bd1 100644 --- a/leetcode/solution/src/FindKPairsWithSmallestSums.java +++ b/leetcode/solution/src/FindKPairsWithSmallestSums.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.PriorityQueue; -/** - * Created by liwentian on 2017/9/22. - */ - public class FindKPairsWithSmallestSums { public List kSmallestPairs(int[] nums1, int[] nums2, int k) { diff --git a/leetcode/solution/src/FindLargestValueInEachTreeRow.java b/leetcode/solution/src/FindLargestValueInEachTreeRow.java index 51df877..2c2bd6f 100644 --- a/leetcode/solution/src/FindLargestValueInEachTreeRow.java +++ b/leetcode/solution/src/FindLargestValueInEachTreeRow.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Queue; -/** - * Created by liwentian on 17/7/25. - */ - public class FindLargestValueInEachTreeRow { public List largestValues(TreeNode root) { diff --git a/leetcode/solution/src/FindLeavesOfBinaryTree.java b/leetcode/solution/src/FindLeavesOfBinaryTree.java index 33164bf..d0fc777 100644 --- a/leetcode/solution/src/FindLeavesOfBinaryTree.java +++ b/leetcode/solution/src/FindLeavesOfBinaryTree.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/12/3. - */ - public class FindLeavesOfBinaryTree { public List> findLeaves(TreeNode root) { diff --git a/leetcode/solution/src/FindMedianFromDataStream.java b/leetcode/solution/src/FindMedianFromDataStream.java index 4cca2de..9169ed3 100644 --- a/leetcode/solution/src/FindMedianFromDataStream.java +++ b/leetcode/solution/src/FindMedianFromDataStream.java @@ -1,10 +1,6 @@ import java.util.Comparator; import java.util.PriorityQueue; -/** - * Created by dingjikerbo on 17/1/2. - */ - public class FindMedianFromDataStream { /** diff --git a/leetcode/solution/src/FindMinimumInRotatedSortedArray.java b/leetcode/solution/src/FindMinimumInRotatedSortedArray.java index 80e9a7c..ed1c5aa 100644 --- a/leetcode/solution/src/FindMinimumInRotatedSortedArray.java +++ b/leetcode/solution/src/FindMinimumInRotatedSortedArray.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class FindMinimumInRotatedSortedArray { public int findMin(int[] nums) { diff --git a/leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java b/leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java index f11c067..36b1176 100644 --- a/leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java +++ b/leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class FindMinimumInRotatedSortedArrayII { public int findMin(int[] nums) { diff --git a/leetcode/solution/src/FindModeInBinarySearchTree.java b/leetcode/solution/src/FindModeInBinarySearchTree.java index befd60b..be9319f 100644 --- a/leetcode/solution/src/FindModeInBinarySearchTree.java +++ b/leetcode/solution/src/FindModeInBinarySearchTree.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by liwentian on 17/8/3. - */ - /** * 这题是要找BST中出现次数最多的节点集合,这里允许有重复节点 * 思路很简单,中序遍历,会按升序排列,再统计重复的值 diff --git a/leetcode/solution/src/FindPeakElement.java b/leetcode/solution/src/FindPeakElement.java index d220e7e..8b78217 100644 --- a/leetcode/solution/src/FindPeakElement.java +++ b/leetcode/solution/src/FindPeakElement.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - /** * https://leetcode.com/articles/find-peak-element/ */ diff --git a/leetcode/solution/src/FindRightInterval.java b/leetcode/solution/src/FindRightInterval.java index 2445b7d..bc914df 100644 --- a/leetcode/solution/src/FindRightInterval.java +++ b/leetcode/solution/src/FindRightInterval.java @@ -1,10 +1,6 @@ import java.util.Map; import java.util.TreeMap; -/** - * Created by liwentian on 2017/9/22. - */ - public class FindRightInterval { public int[] findRightInterval(Interval[] intervals) { diff --git a/leetcode/solution/src/FindTheDuplicateNumber.java b/leetcode/solution/src/FindTheDuplicateNumber.java index ead08f3..d6ac374 100644 --- a/leetcode/solution/src/FindTheDuplicateNumber.java +++ b/leetcode/solution/src/FindTheDuplicateNumber.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - /** * 题目的意思是有n+1个数,这些数的范围限定在[1,n],其中只有一个重复数,重复的次数不限 */ diff --git a/leetcode/solution/src/FirstBadVersion.java b/leetcode/solution/src/FirstBadVersion.java index 4a48a0a..aca392a 100644 --- a/leetcode/solution/src/FirstBadVersion.java +++ b/leetcode/solution/src/FirstBadVersion.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/19. - */ - /** * https://leetcode.com/articles/first-bad-version/ */ diff --git a/leetcode/solution/src/FirstMissingPositive.java b/leetcode/solution/src/FirstMissingPositive.java index cd9a712..aa290f4 100644 --- a/leetcode/solution/src/FirstMissingPositive.java +++ b/leetcode/solution/src/FirstMissingPositive.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/5/11. - */ - /** * 这里要注意的是nums[nums[i] - 1] != nums[i]这个条件,意思是目标坑和当前坑的值不等,此时才能swap * 倘若换成nums[i] - 1 != i是不行的,这表示目标坑和当前坑不是一个坑就swap,会死循环 diff --git a/leetcode/solution/src/FirstUniqueCharacterInAString.java b/leetcode/solution/src/FirstUniqueCharacterInAString.java index 0d778e3..c0966a8 100644 --- a/leetcode/solution/src/FirstUniqueCharacterInAString.java +++ b/leetcode/solution/src/FirstUniqueCharacterInAString.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - public class FirstUniqueCharacterInAString { // 耗时21ms,O(2n) diff --git a/leetcode/solution/src/FizzBuzz.java b/leetcode/solution/src/FizzBuzz.java index a85b066..776b9bf 100644 --- a/leetcode/solution/src/FizzBuzz.java +++ b/leetcode/solution/src/FizzBuzz.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/12/7. - */ - public class FizzBuzz { public List fizzBuzz(int n) { diff --git a/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java b/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java index b8f816e..92ede32 100644 --- a/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java +++ b/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Stack; -/** - * Created by dingjikerbo on 16/11/30. - */ - public class FlattenBinaryTreeToLinkedList { /** diff --git a/leetcode/solution/src/FlattenNestedListIterator.java b/leetcode/solution/src/FlattenNestedListIterator.java index 56d1053..eb7d611 100644 --- a/leetcode/solution/src/FlattenNestedListIterator.java +++ b/leetcode/solution/src/FlattenNestedListIterator.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Stack; -/** - * Created by dingjikerbo on 2016/11/22. - */ - public abstract class FlattenNestedListIterator implements Iterator { private Stack stack; diff --git a/leetcode/solution/src/FlipGame.java b/leetcode/solution/src/FlipGame.java index d75404b..030671f 100644 --- a/leetcode/solution/src/FlipGame.java +++ b/leetcode/solution/src/FlipGame.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by liwentian on 2017/9/6. - */ - public class FlipGame { public List generatePossibleNextMoves(String s) { diff --git a/leetcode/solution/src/FlipGameII.java b/leetcode/solution/src/FlipGameII.java index a236d74..29ead0e 100644 --- a/leetcode/solution/src/FlipGameII.java +++ b/leetcode/solution/src/FlipGameII.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/6. - */ - public class FlipGameII { public boolean canWin(String s) { diff --git a/leetcode/solution/src/FourSum.java b/leetcode/solution/src/FourSum.java index 26e6bc8..0f9f8f4 100644 --- a/leetcode/solution/src/FourSum.java +++ b/leetcode/solution/src/FourSum.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 17/5/5. - */ - /** * 本题要注意的一个是溢出,一个是查重 */ diff --git a/leetcode/solution/src/GameOfLife.java b/leetcode/solution/src/GameOfLife.java index ceec444..3d5744c 100644 --- a/leetcode/solution/src/GameOfLife.java +++ b/leetcode/solution/src/GameOfLife.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - public class GameOfLife { public void gameOfLife(int[][] board) { diff --git a/leetcode/solution/src/GeneralizedAbbreviation.java b/leetcode/solution/src/GeneralizedAbbreviation.java index 1458659..dca0bfb 100644 --- a/leetcode/solution/src/GeneralizedAbbreviation.java +++ b/leetcode/solution/src/GeneralizedAbbreviation.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by liwentian on 2016/12/29. - */ - /** * https://leetcode.com/articles/generalized-abbreviation/ * 思路就是back tracking,对于每个字母,到底是选择留下还是缩写 diff --git a/leetcode/solution/src/GenerateParentheses.java b/leetcode/solution/src/GenerateParentheses.java index f8a091b..92acd47 100644 --- a/leetcode/solution/src/GenerateParentheses.java +++ b/leetcode/solution/src/GenerateParentheses.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/12/8. - */ - public class GenerateParentheses { // 耗时4ms diff --git a/leetcode/solution/src/GraphValidTree.java b/leetcode/solution/src/GraphValidTree.java index 2a5c315..43912a4 100644 --- a/leetcode/solution/src/GraphValidTree.java +++ b/leetcode/solution/src/GraphValidTree.java @@ -1,5 +1,4 @@ /** - * Created by dingjikerbo on 17/1/2. *

* 判断无向图是否带环,可采用UF, DFS, BFS。 * UF实现简单,性能很好 diff --git a/leetcode/solution/src/GrayCode.java b/leetcode/solution/src/GrayCode.java index 0b7f369..8947b74 100644 --- a/leetcode/solution/src/GrayCode.java +++ b/leetcode/solution/src/GrayCode.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/29. - */ - /** * 关键公式整数n的格雷码为n ^ (n / 2) */ diff --git a/leetcode/solution/src/GroupAnagrams.java b/leetcode/solution/src/GroupAnagrams.java index e3061ca..cfc1833 100644 --- a/leetcode/solution/src/GroupAnagrams.java +++ b/leetcode/solution/src/GroupAnagrams.java @@ -3,10 +3,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/11/22. - */ - public class GroupAnagrams { public List> groupAnagrams(String[] strs) { diff --git a/leetcode/solution/src/GroupShiftedStrings.java b/leetcode/solution/src/GroupShiftedStrings.java index 793565f..00a3249 100644 --- a/leetcode/solution/src/GroupShiftedStrings.java +++ b/leetcode/solution/src/GroupShiftedStrings.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by liwentian on 2017/12/9. - */ - public class GroupShiftedStrings { /** * 这里核心是getTag,不论怎么shift,都回滚到a开头 diff --git a/leetcode/solution/src/GuessNumberHigherOrLower.java b/leetcode/solution/src/GuessNumberHigherOrLower.java index e137cd3..da86cd6 100644 --- a/leetcode/solution/src/GuessNumberHigherOrLower.java +++ b/leetcode/solution/src/GuessNumberHigherOrLower.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ - /** * 可参考官方文档 * https://leetcode.com/articles/guess-number-higher-or-lower/ diff --git a/leetcode/solution/src/GuessNumberHigherOrLowerII.java b/leetcode/solution/src/GuessNumberHigherOrLowerII.java index 983c727..7b0275c 100644 --- a/leetcode/solution/src/GuessNumberHigherOrLowerII.java +++ b/leetcode/solution/src/GuessNumberHigherOrLowerII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ - /** * 可参考官方文档 * https://leetcode.com/articles/guess-number-higher-or-lower-ii/ diff --git a/leetcode/solution/src/HIndex.java b/leetcode/solution/src/HIndex.java index 2b22d9b..771e95e 100644 --- a/leetcode/solution/src/HIndex.java +++ b/leetcode/solution/src/HIndex.java @@ -1,8 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 16/11/23. - */ /** * https://leetcode.com/articles/h-index/ */ diff --git a/leetcode/solution/src/HIndexII.java b/leetcode/solution/src/HIndexII.java index c45cc96..e9c5918 100644 --- a/leetcode/solution/src/HIndexII.java +++ b/leetcode/solution/src/HIndexII.java @@ -1,6 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ public class HIndexII { diff --git a/leetcode/solution/src/HammingDistance.java b/leetcode/solution/src/HammingDistance.java index 5c1809a..eb2900a 100644 --- a/leetcode/solution/src/HammingDistance.java +++ b/leetcode/solution/src/HammingDistance.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/1/7. - */ - public class HammingDistance { public int hammingDistance(int x, int y) { diff --git a/leetcode/solution/src/HouseRobber.java b/leetcode/solution/src/HouseRobber.java index 88e0ce9..9ae674e 100644 --- a/leetcode/solution/src/HouseRobber.java +++ b/leetcode/solution/src/HouseRobber.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/1. - */ - public class HouseRobber { /** diff --git a/leetcode/solution/src/HouseRobberII.java b/leetcode/solution/src/HouseRobberII.java index 4358665..0865864 100644 --- a/leetcode/solution/src/HouseRobberII.java +++ b/leetcode/solution/src/HouseRobberII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ - public class HouseRobberII { public int rob(int[] nums) { diff --git a/leetcode/solution/src/HouseRobberIII.java b/leetcode/solution/src/HouseRobberIII.java index a9e17a6..2bf4931 100644 --- a/leetcode/solution/src/HouseRobberIII.java +++ b/leetcode/solution/src/HouseRobberIII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/1. - */ - public class HouseRobberIII { public int rob(TreeNode root) { diff --git a/leetcode/solution/src/IncreasingTripletSubsequence.java b/leetcode/solution/src/IncreasingTripletSubsequence.java index 715f361..8801679 100644 --- a/leetcode/solution/src/IncreasingTripletSubsequence.java +++ b/leetcode/solution/src/IncreasingTripletSubsequence.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - // 是longest increasing subsequence的简化版 public class IncreasingTripletSubsequence { diff --git a/leetcode/solution/src/InorderSuccessorInBST.java b/leetcode/solution/src/InorderSuccessorInBST.java index 3918feb..5e0a664 100644 --- a/leetcode/solution/src/InorderSuccessorInBST.java +++ b/leetcode/solution/src/InorderSuccessorInBST.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Stack; -/** - * Created by dingjikerbo on 16/11/20. - */ - /** * 有两种方法,用栈做普通的中序遍历,这种没有充分利用BST的特点 * 第二种方法比较巧妙,首先遍历到p,然后继续遍历找到p的右子树的最小值 diff --git a/leetcode/solution/src/InsertDeleteGetRandom.java b/leetcode/solution/src/InsertDeleteGetRandom.java index 8e8857e..6f4348d 100644 --- a/leetcode/solution/src/InsertDeleteGetRandom.java +++ b/leetcode/solution/src/InsertDeleteGetRandom.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Random; -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * 有几点要注意: * remove时要判断删除的是不是最后一个,另外交换了结尾后要更新结尾数的idx diff --git a/leetcode/solution/src/InsertDeleteGetRandomII.java b/leetcode/solution/src/InsertDeleteGetRandomII.java index 34dcc8c..ec6f23d 100644 --- a/leetcode/solution/src/InsertDeleteGetRandomII.java +++ b/leetcode/solution/src/InsertDeleteGetRandomII.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 2016/12/17. - */ - /** * 这题的区别在于允许数字重复,那么保存index需要用set,删除的时候从set中随便删一个就行了 */ diff --git a/leetcode/solution/src/InsertInterval.java b/leetcode/solution/src/InsertInterval.java index 280d1be..5369066 100644 --- a/leetcode/solution/src/InsertInterval.java +++ b/leetcode/solution/src/InsertInterval.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/11/22. - */ - public class InsertInterval { public List insert(List intervals, Interval newInterval) { diff --git a/leetcode/solution/src/InsertionSortList.java b/leetcode/solution/src/InsertionSortList.java index f4497be..4090938 100644 --- a/leetcode/solution/src/InsertionSortList.java +++ b/leetcode/solution/src/InsertionSortList.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - public class InsertionSortList { /** diff --git a/leetcode/solution/src/IntegerToEnglishWords.java b/leetcode/solution/src/IntegerToEnglishWords.java index 1615fa2..74375a4 100644 --- a/leetcode/solution/src/IntegerToEnglishWords.java +++ b/leetcode/solution/src/IntegerToEnglishWords.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/19. - */ - /** * TestCase * 0 diff --git a/leetcode/solution/src/IntegerToRoman.java b/leetcode/solution/src/IntegerToRoman.java index cc81468..3e814cf 100644 --- a/leetcode/solution/src/IntegerToRoman.java +++ b/leetcode/solution/src/IntegerToRoman.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class IntegerToRoman { public String intToRoman(int num) { diff --git a/leetcode/solution/src/IntersectionOfTwoArrays.java b/leetcode/solution/src/IntersectionOfTwoArrays.java index cdd681a..2a14c72 100644 --- a/leetcode/solution/src/IntersectionOfTwoArrays.java +++ b/leetcode/solution/src/IntersectionOfTwoArrays.java @@ -2,10 +2,6 @@ import java.util.HashSet; import java.util.Set; -/** - * Created by liwentian on 2017/9/22. - */ - public class IntersectionOfTwoArrays { public int[] intersection(int[] nums1, int[] nums2) { diff --git a/leetcode/solution/src/IntersectionOfTwoArraysII.java b/leetcode/solution/src/IntersectionOfTwoArraysII.java index 479b814..5d812cb 100644 --- a/leetcode/solution/src/IntersectionOfTwoArraysII.java +++ b/leetcode/solution/src/IntersectionOfTwoArraysII.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.HashMap; -/** - * Created by liwentian on 2017/9/22. - */ - public class IntersectionOfTwoArraysII { public int[] intersect(int[] nums1, int[] nums2) { diff --git a/leetcode/solution/src/InvertBinaryTree.java b/leetcode/solution/src/InvertBinaryTree.java index 4a61130..6efd2c9 100644 --- a/leetcode/solution/src/InvertBinaryTree.java +++ b/leetcode/solution/src/InvertBinaryTree.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.Queue; -/** - * Created by dingjikerbo on 16/11/28. - */ - /** * 给非递归法也要会写 * 核心思路就是访问所有的节点,将其左右节点交换,可以采用递归,也可以BFS diff --git a/leetcode/solution/src/JumpGame.java b/leetcode/solution/src/JumpGame.java index 0aefc17..beb0863 100644 --- a/leetcode/solution/src/JumpGame.java +++ b/leetcode/solution/src/JumpGame.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/5/11. - */ - public class JumpGame { public boolean canJump(int[] nums) { diff --git a/leetcode/solution/src/JumpGameII.java b/leetcode/solution/src/JumpGameII.java index b23aa96..03b00b0 100644 --- a/leetcode/solution/src/JumpGameII.java +++ b/leetcode/solution/src/JumpGameII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2017/5/20. - */ - public class JumpGameII { /** diff --git a/leetcode/solution/src/KthLargestElementInArray.java b/leetcode/solution/src/KthLargestElementInArray.java index 451a25f..119617b 100644 --- a/leetcode/solution/src/KthLargestElementInArray.java +++ b/leetcode/solution/src/KthLargestElementInArray.java @@ -1,10 +1,6 @@ import java.util.Arrays; import java.util.PriorityQueue; -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class KthLargestElementInArray { // 耗时15ms,时间复杂度O(nlgk),空间复杂度O(k) diff --git a/leetcode/solution/src/KthSmallestElementInASortedMatrix.java b/leetcode/solution/src/KthSmallestElementInASortedMatrix.java index 2fe3fcc..5d7e85b 100644 --- a/leetcode/solution/src/KthSmallestElementInASortedMatrix.java +++ b/leetcode/solution/src/KthSmallestElementInASortedMatrix.java @@ -1,9 +1,5 @@ import java.util.PriorityQueue; -/** - * Created by liwentian on 2017/9/12. - */ - public class KthSmallestElementInASortedMatrix { public int kthSmallest(int[][] matrix, int k) { diff --git a/leetcode/solution/src/KthSmallestElementInBST.java b/leetcode/solution/src/KthSmallestElementInBST.java index 057dd12..a921b62 100644 --- a/leetcode/solution/src/KthSmallestElementInBST.java +++ b/leetcode/solution/src/KthSmallestElementInBST.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by dingjikerbo on 16/11/30. - */ - /** * 这题关键是follow up * 如果更新频繁,则通常的做法每次都是O(n),更优的做法是O(lgn) diff --git a/leetcode/solution/src/LFUCache.java b/leetcode/solution/src/LFUCache.java index e69d6b5..0878c1a 100644 --- a/leetcode/solution/src/LFUCache.java +++ b/leetcode/solution/src/LFUCache.java @@ -1,9 +1,6 @@ import java.util.HashMap; import java.util.LinkedHashSet; -/** - * Created by dingjikerbo on 17/1/2. - */ /** * 和LRU的区别是 * LRU,即便历史频率再高,如果最近用的少了一样踢掉 diff --git a/leetcode/solution/src/LargestBSTSubtree.java b/leetcode/solution/src/LargestBSTSubtree.java index 6930947..d7b906a 100644 --- a/leetcode/solution/src/LargestBSTSubtree.java +++ b/leetcode/solution/src/LargestBSTSubtree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/3. - */ - public class LargestBSTSubtree { class Result { diff --git a/leetcode/solution/src/LargestNumber.java b/leetcode/solution/src/LargestNumber.java index 232900f..cce7008 100644 --- a/leetcode/solution/src/LargestNumber.java +++ b/leetcode/solution/src/LargestNumber.java @@ -1,10 +1,6 @@ import java.util.Arrays; import java.util.Comparator; -/** - * Created by dingjikerbo on 16/12/8. - */ - public class LargestNumber { public String largestNumber(int[] nums) { diff --git a/leetcode/solution/src/LargestRectangleInHistogram.java b/leetcode/solution/src/LargestRectangleInHistogram.java index 056646f..237defa 100644 --- a/leetcode/solution/src/LargestRectangleInHistogram.java +++ b/leetcode/solution/src/LargestRectangleInHistogram.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - import java.util.Stack; /** diff --git a/leetcode/solution/src/LetterCombinationOfPhoneNumber.java b/leetcode/solution/src/LetterCombinationOfPhoneNumber.java index 336a536..2b0b899 100644 --- a/leetcode/solution/src/LetterCombinationOfPhoneNumber.java +++ b/leetcode/solution/src/LetterCombinationOfPhoneNumber.java @@ -2,10 +2,6 @@ import java.util.List; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/11/16. - */ - public class LetterCombinationOfPhoneNumber { /** diff --git a/leetcode/solution/src/LicenseKeyFormatting.java b/leetcode/solution/src/LicenseKeyFormatting.java index ac1b04b..18b7b58 100644 --- a/leetcode/solution/src/LicenseKeyFormatting.java +++ b/leetcode/solution/src/LicenseKeyFormatting.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 17/8/26. - */ - /** * 将字符串s按长度k为一组,从右往左重排,组之间用"-"分隔,还要转成大写 * 注意别在最前面多加一个"-",即下面判断i != 0 diff --git a/leetcode/solution/src/LinkedListCycle.java b/leetcode/solution/src/LinkedListCycle.java index 83e38d4..a629027 100644 --- a/leetcode/solution/src/LinkedListCycle.java +++ b/leetcode/solution/src/LinkedListCycle.java @@ -1,5 +1,4 @@ /** - * Created by dingjikerbo on 2016/11/17. * https://leetcode.com/articles/linked-list-cycle/ */ diff --git a/leetcode/solution/src/LinkedListCycleII.java b/leetcode/solution/src/LinkedListCycleII.java index 9ecc538..5c16094 100644 --- a/leetcode/solution/src/LinkedListCycleII.java +++ b/leetcode/solution/src/LinkedListCycleII.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - public class LinkedListCycleII { /** * 这里有个问题,如果链表是a,b,然后又回到a diff --git a/leetcode/solution/src/LinkedListRandomNode.java b/leetcode/solution/src/LinkedListRandomNode.java index 2d0419b..3b7573b 100644 --- a/leetcode/solution/src/LinkedListRandomNode.java +++ b/leetcode/solution/src/LinkedListRandomNode.java @@ -1,9 +1,5 @@ import java.util.Random; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class LinkedListRandomNode { private Random mRandom; diff --git a/leetcode/solution/src/LoggerRateLimiter.java b/leetcode/solution/src/LoggerRateLimiter.java index bd13d7c..db6a6e5 100644 --- a/leetcode/solution/src/LoggerRateLimiter.java +++ b/leetcode/solution/src/LoggerRateLimiter.java @@ -3,10 +3,6 @@ import java.util.PriorityQueue; import java.util.Queue; -/** - * Created by liwentian on 2017/8/31. - */ - /** * 如果要考虑到空间消耗,则要另外定义一个List,每次新来一条日志,都要遍历 * list中10s外的poll了,同时从map中remove diff --git a/leetcode/solution/src/LongestAbsoluteFilePath.java b/leetcode/solution/src/LongestAbsoluteFilePath.java index 74d51f0..2116455 100644 --- a/leetcode/solution/src/LongestAbsoluteFilePath.java +++ b/leetcode/solution/src/LongestAbsoluteFilePath.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by dingjikerbo on 16/11/26. - */ - public class LongestAbsoluteFilePath { // 耗时4ms diff --git a/leetcode/solution/src/LongestCommonPrefix.java b/leetcode/solution/src/LongestCommonPrefix.java index a5f8b5f..1246091 100644 --- a/leetcode/solution/src/LongestCommonPrefix.java +++ b/leetcode/solution/src/LongestCommonPrefix.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/5/2. - */ - /** * 注意只有一个字符串的情况 * 还要注意字符串越界问题 diff --git a/leetcode/solution/src/LongestConsecutiveSequence.java b/leetcode/solution/src/LongestConsecutiveSequence.java index a60973e..cf90150 100644 --- a/leetcode/solution/src/LongestConsecutiveSequence.java +++ b/leetcode/solution/src/LongestConsecutiveSequence.java @@ -1,7 +1,6 @@ import java.util.HashMap; /** - * Created by dingjikerbo on 16/11/22. * https://leetcode.com/articles/longest-consecutive-sequence/ */ public class LongestConsecutiveSequence { diff --git a/leetcode/solution/src/LongestIncreasingPathInAMatrix.java b/leetcode/solution/src/LongestIncreasingPathInAMatrix.java index c4c021e..e4eb4ff 100644 --- a/leetcode/solution/src/LongestIncreasingPathInAMatrix.java +++ b/leetcode/solution/src/LongestIncreasingPathInAMatrix.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/1. - */ - /** * https://leetcode.com/articles/longest-increasing-path-matrix/ */ diff --git a/leetcode/solution/src/LongestIncreasingSubsequence.java b/leetcode/solution/src/LongestIncreasingSubsequence.java index f030f15..b8d1fd8 100644 --- a/leetcode/solution/src/LongestIncreasingSubsequence.java +++ b/leetcode/solution/src/LongestIncreasingSubsequence.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 17/1/5. - */ - public class LongestIncreasingSubsequence { /** diff --git a/leetcode/solution/src/LongestPalindrome.java b/leetcode/solution/src/LongestPalindrome.java index 5bd750d..4326fbe 100644 --- a/leetcode/solution/src/LongestPalindrome.java +++ b/leetcode/solution/src/LongestPalindrome.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/19. - */ - public class LongestPalindrome { public int longestPalindrome(String s) { diff --git a/leetcode/solution/src/LongestPalindromicSubstring.java b/leetcode/solution/src/LongestPalindromicSubstring.java index 59ce58c..2d35d2f 100644 --- a/leetcode/solution/src/LongestPalindromicSubstring.java +++ b/leetcode/solution/src/LongestPalindromicSubstring.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * 这题采用动态规划也可,但是不论时间还是空间性能都不好 */ diff --git a/leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java b/leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java index 14bf2e6..0abd7e2 100644 --- a/leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/27. - */ - /** * 要注意,这道题不能用window法来做,window法是先尽可能扩张window到不符合条件,然后 * 缩小window直到将不符合因素排除,所以通常适用于AtMost类型的问题,因为首先要超出most, diff --git a/leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java b/leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java index c1641c1..46cdd41 100644 --- a/leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/27. - */ - public class LongestSubstringWithAtMostKDistinctCharacters { /** diff --git a/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java b/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java index 6205949..aa25f8e 100644 --- a/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/27. - */ - public class LongestSubstringWithAtMostTwoDistinctCharacters { // 7ms diff --git a/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java b/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java index eb41cb0..3ff3e38 100644 --- a/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - /** * https://leetcode.com/articles/longest-substring-without-repeating-characters/ */ diff --git a/leetcode/solution/src/LongestValidParentheses.java b/leetcode/solution/src/LongestValidParentheses.java index 25924ce..b1ee7b9 100644 --- a/leetcode/solution/src/LongestValidParentheses.java +++ b/leetcode/solution/src/LongestValidParentheses.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - import java.util.Stack; /** diff --git a/leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java b/leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java index defeb53..98a9890 100644 --- a/leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java +++ b/leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java @@ -1,9 +1,5 @@ import java.util.List; -/** - * Created by liwentian on 2017/12/10. - */ - public class LongestWordInDictionaryThroughDeleting { public String findLongestWord(String s, List d) { diff --git a/leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java b/leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java index 942c30d..b895c46 100644 --- a/leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java +++ b/leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - public class LowestCommonAncestorOfBinarySearchTree { /** diff --git a/leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java b/leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java index 5a4cba0..4c5689f 100644 --- a/leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java +++ b/leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java @@ -1,8 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 2016/11/16. - */ public class LowestCommonAncestorOfBinaryTree { /** diff --git a/leetcode/solution/src/MajorityElement.java b/leetcode/solution/src/MajorityElement.java index cddd97c..bdedd39 100644 --- a/leetcode/solution/src/MajorityElement.java +++ b/leetcode/solution/src/MajorityElement.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - public class MajorityElement { public int majorityElement(int[] nums) { diff --git a/leetcode/solution/src/MajorityElementII.java b/leetcode/solution/src/MajorityElementII.java index 83f06e4..83a9cce 100644 --- a/leetcode/solution/src/MajorityElementII.java +++ b/leetcode/solution/src/MajorityElementII.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by liwentian on 2017/9/10. - */ - public class MajorityElementII { public List majorityElement(int[] nums) { diff --git a/leetcode/solution/src/MaxConsecutiveOnes.java b/leetcode/solution/src/MaxConsecutiveOnes.java index b6d7b3c..f51f473 100644 --- a/leetcode/solution/src/MaxConsecutiveOnes.java +++ b/leetcode/solution/src/MaxConsecutiveOnes.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - public class MaxConsecutiveOnes { public int findMaxConsecutiveOnes(int[] nums) { diff --git a/leetcode/solution/src/MaxConsecutiveOnesII.java b/leetcode/solution/src/MaxConsecutiveOnesII.java index 7593d85..b98a62a 100644 --- a/leetcode/solution/src/MaxConsecutiveOnesII.java +++ b/leetcode/solution/src/MaxConsecutiveOnesII.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.Queue; -/** - * Created by liwentian on 2017/9/10. - */ - public class MaxConsecutiveOnesII { /** diff --git a/leetcode/solution/src/MaxPointsOnALine.java b/leetcode/solution/src/MaxPointsOnALine.java index 8db03c1..f77bcfd 100644 --- a/leetcode/solution/src/MaxPointsOnALine.java +++ b/leetcode/solution/src/MaxPointsOnALine.java @@ -1,10 +1,6 @@ import java.awt.Point; import java.util.HashMap; -/** - * Created by dingjikerbo on 16/12/7. - */ - /** * TestCase * 边界条件很多,比如有重复的点,有斜率无穷大的线 diff --git a/leetcode/solution/src/MaximalRectangle.java b/leetcode/solution/src/MaximalRectangle.java index 0c93aca..ddc77be 100644 --- a/leetcode/solution/src/MaximalRectangle.java +++ b/leetcode/solution/src/MaximalRectangle.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public abstract class MaximalRectangle { // 耗时10ms,时间复杂度是O(mn),空间复杂度O(n) diff --git a/leetcode/solution/src/MaximalSquare.java b/leetcode/solution/src/MaximalSquare.java index 6709513..2000238 100644 --- a/leetcode/solution/src/MaximalSquare.java +++ b/leetcode/solution/src/MaximalSquare.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/23. - */ - /** * https://leetcode.com/articles/maximal-square/ */ diff --git a/leetcode/solution/src/MaximumDepthOfBinaryTree.java b/leetcode/solution/src/MaximumDepthOfBinaryTree.java index f1e8668..73fe2f7 100644 --- a/leetcode/solution/src/MaximumDepthOfBinaryTree.java +++ b/leetcode/solution/src/MaximumDepthOfBinaryTree.java @@ -1,8 +1,3 @@ - -/** - * Created by dingjikerbo on 16/11/28. - */ - public class MaximumDepthOfBinaryTree { public int maxDepth(TreeNode node) { diff --git a/leetcode/solution/src/MaximumGap.java b/leetcode/solution/src/MaximumGap.java index 690dbb8..c151ae1 100644 --- a/leetcode/solution/src/MaximumGap.java +++ b/leetcode/solution/src/MaximumGap.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 16/12/8. - */ - public class MaximumGap { /** diff --git a/leetcode/solution/src/MaximumProductSubarray.java b/leetcode/solution/src/MaximumProductSubarray.java index 45a87a5..6c4d5a9 100644 --- a/leetcode/solution/src/MaximumProductSubarray.java +++ b/leetcode/solution/src/MaximumProductSubarray.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/1/5. - */ - public class MaximumProductSubarray { /** diff --git a/leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java b/leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java index a190add..022112d 100644 --- a/leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java +++ b/leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java @@ -1,9 +1,5 @@ import java.util.HashMap; -/** - * Created by dingjikerbo on 2016/11/19. - */ - public class MaximumSizeSubarraySumEqualsK { // 耗时29ms,时间复杂度O(n) diff --git a/leetcode/solution/src/MaximumSubarray.java b/leetcode/solution/src/MaximumSubarray.java index 5d219ad..db0611a 100644 --- a/leetcode/solution/src/MaximumSubarray.java +++ b/leetcode/solution/src/MaximumSubarray.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/15. - */ - public class MaximumSubarray { // dp[i]表示包含第i个元素时的最大和 diff --git a/leetcode/solution/src/MedianOfTwoSortedArrays.java b/leetcode/solution/src/MedianOfTwoSortedArrays.java index 67fd74f..982d443 100644 --- a/leetcode/solution/src/MedianOfTwoSortedArrays.java +++ b/leetcode/solution/src/MedianOfTwoSortedArrays.java @@ -1,5 +1,4 @@ /** - * Created by dingjikerbo on 16/12/20. * https://leetcode.com/articles/median-of-two-sorted-arrays/ */ diff --git a/leetcode/solution/src/MeetingRooms.java b/leetcode/solution/src/MeetingRooms.java index f630abc..c2ae246 100644 --- a/leetcode/solution/src/MeetingRooms.java +++ b/leetcode/solution/src/MeetingRooms.java @@ -1,10 +1,6 @@ import java.util.Arrays; import java.util.Comparator; -/** - * Created by dingjikerbo on 16/11/20. - */ - /** * https://leetcode.com/articles/meeting-rooms/ */ diff --git a/leetcode/solution/src/MeetingRoomsII.java b/leetcode/solution/src/MeetingRoomsII.java index 4a878d7..4d0dd4b 100644 --- a/leetcode/solution/src/MeetingRoomsII.java +++ b/leetcode/solution/src/MeetingRoomsII.java @@ -3,10 +3,6 @@ import java.util.PriorityQueue; import java.util.Queue; -/** - * Created by dingjikerbo on 16/11/20. - */ - public class MeetingRoomsII { // 耗时17ms,时间复杂度O(nlgn) diff --git a/leetcode/solution/src/MergeIntervals.java b/leetcode/solution/src/MergeIntervals.java index c285b5b..ba5e827 100644 --- a/leetcode/solution/src/MergeIntervals.java +++ b/leetcode/solution/src/MergeIntervals.java @@ -4,7 +4,6 @@ import java.util.List; /** - * Created by dingjikerbo on 16/11/21. * https://leetcode.com/articles/merge-intervals/ */ diff --git a/leetcode/solution/src/MergeKSortedList.java b/leetcode/solution/src/MergeKSortedList.java index 8701600..5cbdd6b 100644 --- a/leetcode/solution/src/MergeKSortedList.java +++ b/leetcode/solution/src/MergeKSortedList.java @@ -2,7 +2,6 @@ import java.util.PriorityQueue; /** - * Created by dingjikerbo on 16/11/20. * https://leetcode.com/articles/merge-k-sorted-list/ */ diff --git a/leetcode/solution/src/MergeSortedArray.java b/leetcode/solution/src/MergeSortedArray.java index 95242e5..d834f14 100644 --- a/leetcode/solution/src/MergeSortedArray.java +++ b/leetcode/solution/src/MergeSortedArray.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public class MergeSortedArray { public void merge(int[] nums1, int m, int[] nums2, int n) { diff --git a/leetcode/solution/src/MergeTwoSortedList.java b/leetcode/solution/src/MergeTwoSortedList.java index 895f4c5..f006d7c 100644 --- a/leetcode/solution/src/MergeTwoSortedList.java +++ b/leetcode/solution/src/MergeTwoSortedList.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class MergeTwoSortedList { // 耗时15ms diff --git a/leetcode/solution/src/MinStack.java b/leetcode/solution/src/MinStack.java index 3143fca..ac8cf47 100644 --- a/leetcode/solution/src/MinStack.java +++ b/leetcode/solution/src/MinStack.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class MinStack { Stack mMinStack; diff --git a/leetcode/solution/src/MinimumDepthOfBinaryTree.java b/leetcode/solution/src/MinimumDepthOfBinaryTree.java index 4ed8014..dbe0332 100644 --- a/leetcode/solution/src/MinimumDepthOfBinaryTree.java +++ b/leetcode/solution/src/MinimumDepthOfBinaryTree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/28. - */ - public class MinimumDepthOfBinaryTree { /** diff --git a/leetcode/solution/src/MinimumHeightTrees.java b/leetcode/solution/src/MinimumHeightTrees.java index 06737e9..a231294 100644 --- a/leetcode/solution/src/MinimumHeightTrees.java +++ b/leetcode/solution/src/MinimumHeightTrees.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by liwentian on 2017/9/3. - */ - /** * 从叶子节点开始,一层层剥掉,直到最后剩下的节点就是所求深度最大的 * https://discuss.leetcode.com/topic/30572/share-some-thoughts diff --git a/leetcode/solution/src/MinimumSizeSubarraySum.java b/leetcode/solution/src/MinimumSizeSubarraySum.java index b64ea8c..74245f5 100644 --- a/leetcode/solution/src/MinimumSizeSubarraySum.java +++ b/leetcode/solution/src/MinimumSizeSubarraySum.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 16/11/22. - */ - public class MinimumSizeSubarraySum { /** * 仍然采用滑动窗口的办法 diff --git a/leetcode/solution/src/MinimumWindowSubstring.java b/leetcode/solution/src/MinimumWindowSubstring.java index 5f61dae..57186fb 100644 --- a/leetcode/solution/src/MinimumWindowSubstring.java +++ b/leetcode/solution/src/MinimumWindowSubstring.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/21. - */ - public class MinimumWindowSubstring { // 耗时8ms,时间复杂度O(n) diff --git a/leetcode/solution/src/MissingNumber.java b/leetcode/solution/src/MissingNumber.java index a8c641f..97c42e2 100644 --- a/leetcode/solution/src/MissingNumber.java +++ b/leetcode/solution/src/MissingNumber.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - public class MissingNumber { public int missingNumber(int[] nums) { diff --git a/leetcode/solution/src/MissingRanges.java b/leetcode/solution/src/MissingRanges.java index 16028fa..4380310 100644 --- a/leetcode/solution/src/MissingRanges.java +++ b/leetcode/solution/src/MissingRanges.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/11. - */ - /** * TestCases * [], lower=1, upper=1 diff --git a/leetcode/solution/src/MostFrequentSubtreeSum.java b/leetcode/solution/src/MostFrequentSubtreeSum.java index 1e52f69..ab746d4 100644 --- a/leetcode/solution/src/MostFrequentSubtreeSum.java +++ b/leetcode/solution/src/MostFrequentSubtreeSum.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by liwentian on 17/8/3. - */ - /** * 这题算法比较直观 */ diff --git a/leetcode/solution/src/MoveZeroes.java b/leetcode/solution/src/MoveZeroes.java index 2736036..0356ac1 100644 --- a/leetcode/solution/src/MoveZeroes.java +++ b/leetcode/solution/src/MoveZeroes.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/19. - */ - /** * https://leetcode.com/articles/move-zeroes/ */ diff --git a/leetcode/solution/src/MovingAverage.java b/leetcode/solution/src/MovingAverage.java index 055b630..3916cfa 100644 --- a/leetcode/solution/src/MovingAverage.java +++ b/leetcode/solution/src/MovingAverage.java @@ -1,10 +1,6 @@ import java.util.Deque; import java.util.LinkedList; -/** - * Created by dingjikerbo on 16/12/4. - */ - public class MovingAverage { private int mSize; diff --git a/leetcode/solution/src/MultiplyStrings.java b/leetcode/solution/src/MultiplyStrings.java index 55733ed..114cc6e 100644 --- a/leetcode/solution/src/MultiplyStrings.java +++ b/leetcode/solution/src/MultiplyStrings.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/22. - */ - public class MultiplyStrings { public String multiply(String num1, String num2) { diff --git a/leetcode/solution/src/MyQueue.java b/leetcode/solution/src/MyQueue.java index 298f3b1..6341b73 100644 --- a/leetcode/solution/src/MyQueue.java +++ b/leetcode/solution/src/MyQueue.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by dingjikerbo on 16/12/10. - */ - /** * https://leetcode.com/articles/implement-queue-using-stacks/ */ diff --git a/leetcode/solution/src/MyStack.java b/leetcode/solution/src/MyStack.java index 05972f8..e22ec04 100644 --- a/leetcode/solution/src/MyStack.java +++ b/leetcode/solution/src/MyStack.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.Queue; -/** - * Created by dingjikerbo on 16/12/10. - */ - /** * https://leetcode.com/articles/implement-stack-using-queues/ */ diff --git a/leetcode/solution/src/NQueens.java b/leetcode/solution/src/NQueens.java index 8aab3ba..43444a2 100644 --- a/leetcode/solution/src/NQueens.java +++ b/leetcode/solution/src/NQueens.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 17/1/12. - */ - public class NQueens { public List> solveNQueens(int n) { diff --git a/leetcode/solution/src/NQueensII.java b/leetcode/solution/src/NQueensII.java index 9d543c6..d4ae0d5 100644 --- a/leetcode/solution/src/NQueensII.java +++ b/leetcode/solution/src/NQueensII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/1/12. - */ - public class NQueensII { private int total; diff --git a/leetcode/solution/src/NestedListWeightSum.java b/leetcode/solution/src/NestedListWeightSum.java index aa760d2..606fa13 100644 --- a/leetcode/solution/src/NestedListWeightSum.java +++ b/leetcode/solution/src/NestedListWeightSum.java @@ -1,9 +1,5 @@ import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - /** * https://leetcode.com/articles/nested-list-weight-sum/ */ diff --git a/leetcode/solution/src/NestedListWeightSumII.java b/leetcode/solution/src/NestedListWeightSumII.java index cd97b05..59e2bbf 100644 --- a/leetcode/solution/src/NestedListWeightSumII.java +++ b/leetcode/solution/src/NestedListWeightSumII.java @@ -1,9 +1,5 @@ import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - /** * https://leetcode.com/articles/nested-list-weight-sum/ */ diff --git a/leetcode/solution/src/NextPermutation.java b/leetcode/solution/src/NextPermutation.java index 8c80c2c..4fccdc6 100644 --- a/leetcode/solution/src/NextPermutation.java +++ b/leetcode/solution/src/NextPermutation.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - /** * https://leetcode.com/articles/next-permutation/ */ diff --git a/leetcode/solution/src/NumArray.java b/leetcode/solution/src/NumArray.java index ec093a1..9659f01 100644 --- a/leetcode/solution/src/NumArray.java +++ b/leetcode/solution/src/NumArray.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/26. - */ - /** * https://leetcode.com/articles/range-sum-query-immutable/ */ diff --git a/leetcode/solution/src/NumArrayII.java b/leetcode/solution/src/NumArrayII.java index 9743e1d..153d026 100644 --- a/leetcode/solution/src/NumArrayII.java +++ b/leetcode/solution/src/NumArrayII.java @@ -1,6 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/26. - */ /** * 这题可以用segment tree或binary index tree(bit),两者时间复杂度都是lgn,不过segment tree因为用到树, * 而bit用的是数组,所以bit更省空间。 diff --git a/leetcode/solution/src/NumMatrix.java b/leetcode/solution/src/NumMatrix.java index 7f31714..f5d5323 100644 --- a/leetcode/solution/src/NumMatrix.java +++ b/leetcode/solution/src/NumMatrix.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/26. - */ - /** * https://leetcode.com/articles/range-sum-query-2d-immutable/ */ diff --git a/leetcode/solution/src/NumMatrixII.java b/leetcode/solution/src/NumMatrixII.java index 373e748..ce0c8c9 100644 --- a/leetcode/solution/src/NumMatrixII.java +++ b/leetcode/solution/src/NumMatrixII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/27. - */ - /** * 这道题有两种方法 * 1,2D BIT diff --git a/leetcode/solution/src/NumberOfConnectedComponents.java b/leetcode/solution/src/NumberOfConnectedComponents.java index f911745..07446e3 100644 --- a/leetcode/solution/src/NumberOfConnectedComponents.java +++ b/leetcode/solution/src/NumberOfConnectedComponents.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Set; -/** - * Created by dingjikerbo on 17/1/2. - */ - public class NumberOfConnectedComponents { // 8ms diff --git a/leetcode/solution/src/NumberOfDigitOne.java b/leetcode/solution/src/NumberOfDigitOne.java index 19ca115..fe8b2b3 100644 --- a/leetcode/solution/src/NumberOfDigitOne.java +++ b/leetcode/solution/src/NumberOfDigitOne.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/21. - */ - public class NumberOfDigitOne { /** diff --git a/leetcode/solution/src/NumberOfIslands.java b/leetcode/solution/src/NumberOfIslands.java index 879beb8..7e699e8 100644 --- a/leetcode/solution/src/NumberOfIslands.java +++ b/leetcode/solution/src/NumberOfIslands.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - import java.util.LinkedList; import java.util.Queue; diff --git a/leetcode/solution/src/NumberOfIslandsII.java b/leetcode/solution/src/NumberOfIslandsII.java index bd05e23..2a4d191 100644 --- a/leetcode/solution/src/NumberOfIslandsII.java +++ b/leetcode/solution/src/NumberOfIslandsII.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/11. - */ - /** * 经典的UF(Union Find)问题,可翻阅《算法》1.5章 * UF时间复杂度和节点个数有关 diff --git a/leetcode/solution/src/OddEvenLinkedList.java b/leetcode/solution/src/OddEvenLinkedList.java index 8f55f38..dbd91a7 100644 --- a/leetcode/solution/src/OddEvenLinkedList.java +++ b/leetcode/solution/src/OddEvenLinkedList.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/7. - */ - public class OddEvenLinkedList { public ListNode oddEvenList(ListNode head) { diff --git a/leetcode/solution/src/OneEditDistance.java b/leetcode/solution/src/OneEditDistance.java index bb165b4..3786f06 100644 --- a/leetcode/solution/src/OneEditDistance.java +++ b/leetcode/solution/src/OneEditDistance.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/20. - */ - public class OneEditDistance { /** * 最容易错的是结尾的条件sL != tL diff --git a/leetcode/solution/src/PaintHouse.java b/leetcode/solution/src/PaintHouse.java index 3f27e02..2e4d1b8 100644 --- a/leetcode/solution/src/PaintHouse.java +++ b/leetcode/solution/src/PaintHouse.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/18. - */ - public class PaintHouse { public int minCost(int[][] costs) { diff --git a/leetcode/solution/src/PaintHouseII.java b/leetcode/solution/src/PaintHouseII.java index fb74742..751d23e 100644 --- a/leetcode/solution/src/PaintHouseII.java +++ b/leetcode/solution/src/PaintHouseII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/18. - */ - public class PaintHouseII { /** diff --git a/leetcode/solution/src/PalindromeLinkedList.java b/leetcode/solution/src/PalindromeLinkedList.java index c4777a0..d6128d4 100644 --- a/leetcode/solution/src/PalindromeLinkedList.java +++ b/leetcode/solution/src/PalindromeLinkedList.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class PalindromeLinkedList { // 耗时2ms diff --git a/leetcode/solution/src/PalindromeNumber.java b/leetcode/solution/src/PalindromeNumber.java index 3cd5471..ce6e69d 100644 --- a/leetcode/solution/src/PalindromeNumber.java +++ b/leetcode/solution/src/PalindromeNumber.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class PalindromeNumber { public boolean isPalindrome(int x) { diff --git a/leetcode/solution/src/PalindromePairs.java b/leetcode/solution/src/PalindromePairs.java index 5386dbe..8f9c3b8 100644 --- a/leetcode/solution/src/PalindromePairs.java +++ b/leetcode/solution/src/PalindromePairs.java @@ -2,10 +2,6 @@ import java.util.Arrays; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class PalindromePairs { public List> palindromePairs(String[] words) { diff --git a/leetcode/solution/src/PalindromePartitioning.java b/leetcode/solution/src/PalindromePartitioning.java index 220babd..3693b58 100644 --- a/leetcode/solution/src/PalindromePartitioning.java +++ b/leetcode/solution/src/PalindromePartitioning.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class PalindromePartitioning { /** diff --git a/leetcode/solution/src/PalindromePartitioningII.java b/leetcode/solution/src/PalindromePartitioningII.java index 93525a9..3d14b4d 100644 --- a/leetcode/solution/src/PalindromePartitioningII.java +++ b/leetcode/solution/src/PalindromePartitioningII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class PalindromePartitioningII { /** diff --git a/leetcode/solution/src/PalindromePermutation.java b/leetcode/solution/src/PalindromePermutation.java index a0549dc..0f02c8f 100644 --- a/leetcode/solution/src/PalindromePermutation.java +++ b/leetcode/solution/src/PalindromePermutation.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/19. - */ - public class PalindromePermutation { public boolean canPermutePalindrome(String s) { diff --git a/leetcode/solution/src/PalindromePermutationII.java b/leetcode/solution/src/PalindromePermutationII.java index 8715676..1e92297 100644 --- a/leetcode/solution/src/PalindromePermutationII.java +++ b/leetcode/solution/src/PalindromePermutationII.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/19. - */ - /** * https://leetcode.com/articles/palindrome-permutation-ii/ */ diff --git a/leetcode/solution/src/PartitionList.java b/leetcode/solution/src/PartitionList.java index 381ae76..f03168f 100644 --- a/leetcode/solution/src/PartitionList.java +++ b/leetcode/solution/src/PartitionList.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - public class PartitionList { ListNode partition(ListNode head, int x) { diff --git a/leetcode/solution/src/PascalTriangleII.java b/leetcode/solution/src/PascalTriangleII.java index 283db93..da420e5 100644 --- a/leetcode/solution/src/PascalTriangleII.java +++ b/leetcode/solution/src/PascalTriangleII.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by liwentian on 17/8/12. - */ - public class PascalTriangleII { public List getRow(int rowIndex) { diff --git a/leetcode/solution/src/PascalsTriangle.java b/leetcode/solution/src/PascalsTriangle.java index ad670f1..00c940e 100644 --- a/leetcode/solution/src/PascalsTriangle.java +++ b/leetcode/solution/src/PascalsTriangle.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by liwentian on 2017/9/10. - */ - public class PascalsTriangle { public List> generate(int numRows) { diff --git a/leetcode/solution/src/PathSum.java b/leetcode/solution/src/PathSum.java index 99dbed5..f984901 100644 --- a/leetcode/solution/src/PathSum.java +++ b/leetcode/solution/src/PathSum.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/29. - */ - public class PathSum { public boolean hasPathSum(TreeNode root, int sum) { diff --git a/leetcode/solution/src/PathSumII.java b/leetcode/solution/src/PathSumII.java index 8e9b0e5..6841de4 100644 --- a/leetcode/solution/src/PathSumII.java +++ b/leetcode/solution/src/PathSumII.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/11/29. - */ - public class PathSumII { public List> pathSum(TreeNode root, int sum) { diff --git a/leetcode/solution/src/PathSumIII.java b/leetcode/solution/src/PathSumIII.java index b433b11..81b78e7 100644 --- a/leetcode/solution/src/PathSumIII.java +++ b/leetcode/solution/src/PathSumIII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/3. - */ - public class PathSumIII { /** diff --git a/leetcode/solution/src/PeekingIterator.java b/leetcode/solution/src/PeekingIterator.java index be3c876..89dc5d2 100644 --- a/leetcode/solution/src/PeekingIterator.java +++ b/leetcode/solution/src/PeekingIterator.java @@ -1,9 +1,5 @@ import java.util.Iterator; -/** - * Created by dingjikerbo on 16/12/10. - */ - public class PeekingIterator implements Iterator { private Iterator mIterator; diff --git a/leetcode/solution/src/PerfectRectangle.java b/leetcode/solution/src/PerfectRectangle.java index 67233d0..b1d7d04 100644 --- a/leetcode/solution/src/PerfectRectangle.java +++ b/leetcode/solution/src/PerfectRectangle.java @@ -1,9 +1,5 @@ import java.util.HashSet; -/** - * Created by dingjikerbo on 17/1/2. - */ - /** * https://discuss.leetcode.com/topic/56052/really-easy-understanding-solution-o-n-java * http://www.cnblogs.com/grandyang/p/5825619.html diff --git a/leetcode/solution/src/PerfectSquares.java b/leetcode/solution/src/PerfectSquares.java index 7b20aa5..c980f06 100644 --- a/leetcode/solution/src/PerfectSquares.java +++ b/leetcode/solution/src/PerfectSquares.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ - public class PerfectSquares { public int numSquares(int n) { diff --git a/leetcode/solution/src/PermutationSequence.java b/leetcode/solution/src/PermutationSequence.java index dd946b7..ad5af92 100644 --- a/leetcode/solution/src/PermutationSequence.java +++ b/leetcode/solution/src/PermutationSequence.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class PermutationSequence { public String getPermutation(int n, int k) { diff --git a/leetcode/solution/src/Permutations.java b/leetcode/solution/src/Permutations.java index 3bf12ff..35aaf3d 100644 --- a/leetcode/solution/src/Permutations.java +++ b/leetcode/solution/src/Permutations.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class Permutations { public List> permute(int[] nums) { diff --git a/leetcode/solution/src/PermutationsII.java b/leetcode/solution/src/PermutationsII.java index 6cb7052..854645f 100644 --- a/leetcode/solution/src/PermutationsII.java +++ b/leetcode/solution/src/PermutationsII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - import java.util.ArrayList; import java.util.HashSet; import java.util.List; diff --git a/leetcode/solution/src/PlusOne.java b/leetcode/solution/src/PlusOne.java index 351cb78..c632da3 100644 --- a/leetcode/solution/src/PlusOne.java +++ b/leetcode/solution/src/PlusOne.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/8/30. - */ - public class PlusOne { public int[] plusOne(int[] digits) { diff --git a/leetcode/solution/src/PlusOneLinkedList.java b/leetcode/solution/src/PlusOneLinkedList.java index b736570..766b196 100644 --- a/leetcode/solution/src/PlusOneLinkedList.java +++ b/leetcode/solution/src/PlusOneLinkedList.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by liwentian on 2017/9/10. - */ - public class PlusOneLinkedList { public ListNode plusOne(ListNode head) { diff --git a/leetcode/solution/src/PopulatingNextRightPointersInEachNode.java b/leetcode/solution/src/PopulatingNextRightPointersInEachNode.java index 687932f..9e8c5bf 100644 --- a/leetcode/solution/src/PopulatingNextRightPointersInEachNode.java +++ b/leetcode/solution/src/PopulatingNextRightPointersInEachNode.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public class PopulatingNextRightPointersInEachNode { /** 递归法,巧妙地运用dummy使代码很简洁 diff --git a/leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java b/leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java index b02b5a8..cb5747e 100644 --- a/leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java +++ b/leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public class PopulatingNextRightPointersInEachNodeII { /** diff --git a/leetcode/solution/src/Pow.java b/leetcode/solution/src/Pow.java index 3ecd3e5..c6175ed 100644 --- a/leetcode/solution/src/Pow.java +++ b/leetcode/solution/src/Pow.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public class Pow { /** diff --git a/leetcode/solution/src/ProductOfArrayExceptSelf.java b/leetcode/solution/src/ProductOfArrayExceptSelf.java index ecca3f3..50a1086 100644 --- a/leetcode/solution/src/ProductOfArrayExceptSelf.java +++ b/leetcode/solution/src/ProductOfArrayExceptSelf.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - public class ProductOfArrayExceptSelf { // 耗时2ms diff --git a/leetcode/solution/src/QueueReconstructionByHeight.java b/leetcode/solution/src/QueueReconstructionByHeight.java index f83b4fc..539f846 100644 --- a/leetcode/solution/src/QueueReconstructionByHeight.java +++ b/leetcode/solution/src/QueueReconstructionByHeight.java @@ -4,7 +4,6 @@ import java.util.List; /** - * Created by liwentian on 2017/9/1. *

; z)?%gPcvDW*Rr)%p2McaZptD%4_+?oOMk{_zmcqbYmXq>9DE*QgW~kR-6^N(r6fy-C z^yGXXASlMGZh3*S=1HFjKiv-(nLl=iR&CK)5@;*lbC#VfOL*C~@*KaME%<>f%j&w0Xx0Hsh(vxGc911WiU~_BIljZ zW8T3n+_ng8ganeVA55vPq6etfyc9BH)BonjonRr_{zLU>3Vbv;h#h?E>K6ldgC?HM z)Uvz8~VJ%zKD+-j2goKkEy? literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LongestIncreasingPathInAMatrix.class b/leetcode/out/production/solution/LongestIncreasingPathInAMatrix.class new file mode 100644 index 0000000000000000000000000000000000000000..203565ae3a02f12b0a0267056a9c11d0d5d75436 GIT binary patch literal 1278 zcmaJ>OKTHR6#nkK?qpg`Q@v_5skOe+jHX&7V%4e@AAxEVA6V+5(=@hI(}|?0D%I1WUUvKc_bJQ=cYmpinTq{>1BG^W%9I^+P5V{v-g4Pgk!Q0Nif_P5F zfJf=XP8VI&yMG1nUPFs5kfda?=wne`03vDfcz3qO~N&v(?W_4&^6ht+1#W4>HWQ;21V<8MjWN z7d_aF6t+{_gLOEB^%$dmmcH}Y7!Q4&gB{}Oq0hxG4Ddb03R&!DMk>bQVrL~TzzT{> zc{qa&d^Nb@7%QbXMK6w#jub5RJcu;oY--Sm%2irYVvB?!gwPWB23LH=wyz8`G@l); zUb3Y|^L?fTmGRrlNM>8;%4)!#Xz*8L<)r>XGjm6#%W4>%wd%%eX2>ca9oN9plYv%Hh8$@!Ib0mIqr>T?J!4Dbyj#EN> O!8%Q$;3oP;5Dmz6bY zV$8%90ppGz_~ER8mPjrM$hocOoVhHGjROi*&H=m&0fyWqLi62najpfVVS&dXDe2BGM3ZKjvy zF1YKdPY@qzL=fd_G=dshXvh8@;ND7)&C$-4V9~>(CS%W>gBkk`bZyW65?x5keMIDx zlvBE;+q<}{O&OM9>AM(nEIs2`M&>=@X-nsuNz;=n`_LA54DsRjPfMyO{VBPlGw{`t zd+eY!Slwc8u(R?^a%(1|R&=6^KMUO$K%6&V;RY_?KJ7>7#Z$(YajBu?AyLCfqJtO% z7coa%CpA#Pi8^I<6UjdUQ5Lfic6iKsaYiiUc(a|5#DcYrBQ%R+w3+A?;s{M*Rlmh?^H?7osG~i~+L=GP9UyB3-Flv9zXi#(2#y z;l>+pyurj6e}Ml)e*%f((?X(=CVfAi_v?Az^ZoaiZvgI~o`J-r3@+nJBq}bNGL z?m38|71k0-lBJ9ugiT_T09Z<+4E44lY61+{SO>Y83fZ}~Cy?r_ zwl`n)+RvEzN+9u^CDQUIUMMit4^8WJ&wLYei`T2_C<OL?{ad zT}L&G>$s7{P1MN$OsYWcFZ=c3j%{)7KhViSyeY|!!f||4GE~;s4BAZ9YHRflD$w{8 z(U$;&&?!^&n$&_?E`Emi6o=E4Dh9a*?d(Yc&d~zxDV(Qdu_&{tPHeDrh{XN8z)JaR z=B}1(Nkc9ipjgtD40(v;i-xwfzAwdxwNyoepIxg~# TN0|EsDZ~*HIgpFsh|42BU5)65z(XJYflEGXm@-cfj0z^O&exGf--1>DVWrxJ1FUW?mt??VAQ zU$`wGZ+04yz^O{yj&5yl)}roOSZgsdR_WBk*6pwxn|&ITz4drYAX}+)+RbRIw-UDE zcB9+bjO(l0wXI$^Za1$AjJ94$v))X;vJrk8F0{gSb76IGvhaF{Xk&hSWbCNq$<h-;RXI4RFI{)2d{4(^lifX zJL@-Oqb#+7==_3_qLxpo2pK$uG@=ZkPEZyQ*agBUP>d3#xIzLS5sZPmIC$?6C;8o0pw-isoQyzW~@y>Val!|XuaDjUGB!FidZ)|~fN+yd}ko<_< zvt4GPOJR1U^--IvA4L_t0WEW7{T>XDZjRq z)(t(nkI-JIb%?N`OZ!mvLc$2WfnjJ&l?=_0H>CUrNNH(L6Njx&hAQRL@?q<>AsrD{ z5FYMDbW!RYuZ^#VG=eMWQ1ES|p|yVu+;1q_Id$2_}LG+wIaWEL+kJ#s}zA zc&R4F#2atW7~=!@3_gkx&u)zY=7PEdg1wJP*-iQ zCs3-@Izh|rsro^qr@CIydgQ70vRdi%)cw0&PkDi(Ds8)KJId|$76oQ}H)yH$>h{UT zU*!Vhx!R8X)GqmU&??oVv5VDwRX{jg6)uk}JnwJ?T!fPTyN8Kg0qGAQ3dEZGG#hLj zt}ENwU9tBgI*}r?5|aXndgq|)xc9t}`NBzz|0GuoF()ArmzYhWfa^)jp(s&GVjedH z=KgD(z{s%(tBoDkQGbL6y6_qYf=1U!W~M{6mszUks(DIv`gq8St=cTxv!4kVxhfUK z3=IAu;S&RuLY#JprxJI;-I#q3@h(ayXw4`naEg9%P{4hdCw>SiS~iO+hlWD}ZD~~C zQ{tAcl?|*)#sS&OJNz7`4U-6PQ5~ALN8bb z%QlO8bAttDUmo=h@%rd%#xgCVsc(INzSK7vd6Rj|FKP%;E)Ww)CPq3#d?y*r67xLc zcZl{Ov98g7j5M~H_i-j-v`IgU3Pv!>&Lp;&A0w9(p0Hw!?9=SA=*f^BD?;X>H;%KB z8UfBR8{_L^f}X~SF3uByjwx1_U>tD>e~^sC1tBCZ3PGK}VOmTxH45Xm6dMGlX=9lA E0k+!1=l}o! literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LongestSubstringWithAtMostTwoDistinctCharacters.class b/leetcode/out/production/solution/LongestSubstringWithAtMostTwoDistinctCharacters.class new file mode 100644 index 0000000000000000000000000000000000000000..579c79692bf3a116695a79ee32e7eff5b7d23218 GIT binary patch literal 936 zcmb7C+iDY06kR(rb0)_0?$p|g8m%_zB|#|xsT4{@3?vPhT7`=AWHL=oO=l!IQ9mGG z(Z?e6MFd}}i1-11girp2FUCESLQ8!R51f5nd(YbY%=h14z5!T9E&+jS30y}i6gLvM ziCG)BY}_V@`^r~(m0+YZTLg1GsCk5;qVm0s&VJQvZOUqsBcsK@mCY^LQlWnmG<8F@ z33rOcz^{94UFlTYx~2U3Q>7bgx)ika=9}PwYHQ`Ydc7fA($!w8y+W96dVXCu%Dd-F z&lKDxIO*b^d@XZL>DP0WsP{^yKp@38)O&oH!sy>Hg5?GsUlU^6jEvV#Xb|jXpDtmb zqNV$?Bws}XMLU_ZF-}NSf=F?IjkzS!$Rsh31sjV=EFnwC z{bxhM@aY!H)jiMUsm_G@i{Z!YFEx5h9$C1&@im5;=|X0mFnHReBz1#f`|>TXDP1UJ z3P{1?|0Fyy@Qx5?d4atgYhrE9e*%4s(g~I#3KA}|o$Lcx53t7{!VpU?rU`Cpb4-m8 zz9ve>s*yL1yk+EtBNmPkJ4AVL!4bzWo@ckso$>)h*C5Ao#352M);mmd+Ui;qAvKEuqLT|q~^503esKV~2#n2o4~GYPihm}ElpoLOR$_n2al zNj}CHb~v|-@d*8h$qwQfhB3m#NALurEW@p+li@;Z43~I30T&L}#kgMLGUE*H@d6WU gnYh9=Q!sn%*fu6@Oxc(wJ{+F?#VrUk42j|DAM4x52><{9 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LongestSubstringWithoutRepeatingCharacters.class b/leetcode/out/production/solution/LongestSubstringWithoutRepeatingCharacters.class new file mode 100644 index 0000000000000000000000000000000000000000..b89b01faa7f3d9abb96cd06fcc1c8b317286b338 GIT binary patch literal 856 zcma)4%Wl(95IqxL$HjFY3AnUCC@B!~A`uemf}#i%1d8M|QWKR0EPCUZ#38jS$3c8R zzk(&3ZrHFX2qDb*$rBWU@Lo za9zU<4L1qN`>yAPHG+~a>=H!X?>U4e%k`Y?$$r-fIpSDHJ?W0a!1el1-EiPf!X4+pks-(RfefS_I>C60usU+QemH2oI9o+9^VU$l zlGTy)`qg&aYOBy7kjro6hy3!y^xrUoYWou}BqW|OGPy5bTaHIqXou2%*^~z{=U8@5 z!wNxf`;)+S9=nme>RB%TR#1r;8qhGOA!pzg@&*bhYA6{f<2IrA|Gfyyr+Qo6p<^@u zKT^{bu$t-0;;$5mvw5En87lIPLY=U9+N3GN0mE25FC^b+6dK4v6Br3N>PxaqF~EYMe75sV0qZ2hzSDGxEadW4wh*%of6QU@mIJa zZrHeSQ;a5twg16CVuE;X3sO`jneTq@?>lGieE;?38-SZg>S#hlLsW+k5gq*)kYZ4p zLsATD7|{{LHECRz+6}3V>MXvcA*SKBKw#WJ!to94~7Xt>T!#+1&p_0-;E1 z&D=0Ya;B3RS@2xj$&5vl0>b9YQz^LC22~Dd{WnuUEqZ49l|V~1Sn})~+t9_S{&jPc zGF@^7+D~r2RXEzd@9)C#nlVYovoe-D7H7AHO4~WJP=QUx1@wh{$xT}`w&bSk6!^mu zpMhqykkJa(<0UoRF>n|642)sizbb5<>G22nT#fJ361p$t@<0kly!stE|8ofbL8 zIZ76bDK-nx_x3A%&vxOT^T)#jWhfsI9|)JBHb=M7J6J~GJ-P>YYI_KlQ70pjZPe4F zFYmw@41Y#_8OHKEzt}n0^T%b6m{Kk5ky+Kcm>N<->Z-EJ{Dyc)jVU_^Kf)n})<4$%_*vR>^ei#xAG!b1l((TO*>P(k_#8nY7gcEZn$W}K&{ zN`!~#rPhTo@dxo5-K_Ir9;3W$vSJZKB)XHE^sq+qR?WK1tSj`iA+Qf!L$4SO{)D;@ NO^9A*^)cqd)!#~?25|rY literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LongestWordInDictionaryThroughDeleting.class b/leetcode/out/production/solution/LongestWordInDictionaryThroughDeleting.class new file mode 100644 index 0000000000000000000000000000000000000000..03916f953d378831a1235cb3898323cf631b19d6 GIT binary patch literal 1387 zcma)5OHUI~6#i}>bNd(&(SjAnJr}8N_zp^(p}M*uj^;P9zwF&SDBdh6NVt10(J45ESSRB}4BJ z5_pC=bqfo8gw`DnX0^6u$ZnaGAF`2PHkybgA}^6n%0#p)8%t=(@G_{VPsEbpgtm<6 zBD8r;%tyu2%I8({B98j74nkj`>DT=g^kkUI*mE$>$kNJO$7@yOij`**Zs*X}f92Jb&@`a=M SioiFzrsx_#nyFg-TiZ`TG&t4( literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LowestCommonAncestorOfBinarySearchTree.class b/leetcode/out/production/solution/LowestCommonAncestorOfBinarySearchTree.class new file mode 100644 index 0000000000000000000000000000000000000000..048d01c2cc90e50d7c471db4d2f6cb88681941af GIT binary patch literal 1289 zcma))Pfrs;7{;Gzw-nj}TA+Y}QbcIGEiFj&fWh$3grt@OghXSSEbCGhw!642h#y6d z1m(g36C;TxdNASO!MjKAegq>v)6$j$2hw!rnfHBX-rqAjKmL9G3Sa^gA%rp5f;$+J z!`%=<7?x^8szeaUW~4$0LJcAvL`I(q|BxHe0r66xb;;B8%_rK{Ibqjj{l>XjUpMs4 z`8{)+Cv{)iJ^75S?8Y;S%~H?};}u?4~f#~Uytc04Z6yeBYx zH4K4kjRuRW8-`Bj&9z(S_uthl-r)jGTgDo50oN?8bM8vy8ylBA*R)HM$rZ%;pu&7~ zfC3@iactu%%UN&^q)s3{Q25Z!v8fUy1a+iZfa{2ICFDhLl$+o4FopA6`XhWQ|NH38 z)MZpdovG!J-HVox2d_mlf NMdf=NU_&3`{{by^|C|5- literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LowestCommonAncestorOfBinaryTree.class b/leetcode/out/production/solution/LowestCommonAncestorOfBinaryTree.class new file mode 100644 index 0000000000000000000000000000000000000000..e70b3b3c952e22e0b15960921835f2df454b27ff GIT binary patch literal 1990 zcmah~O-~zF6g|(L@dGn_htO$&8WIwN?U0b9C5F=Qkw6*;NFmTv-3(@c3C1@5XvL<> z?yIhvRi&zBOQaS=BUO^SDA25|a|w{b*F~ z8@Q%CQwmK>+?04t;C|0 zan!zO)N<=iR-h*qOMPl*a}%k}%~WzM87EF?3Zq?OrT$k_I~J;IS2mJeCY8zw_$zH9Eg-h&OW3RQ=^1BjozMFDoE6`=ZKYkR?1MmCH3ow`nRM?g z(^ke#=6Ijh*nR60YapL<5(Cp#cAZ&x0evfP=h=zo3hy0dqR*SPS+lXiGjHc;KY6rk z+v!s0`YJ+;B}U4(Dx*;*>8yx#3syub|EUT;%O3GkDH69NV(i*{DxZnlHykz2-q%g+ zylR1glV~?^8UX{H=rV8y0XE=RcMROd3`bmcP(K^?O3caTSl+-a<_z4y2L|R9TEJa_ zn$p~lW#lEu*uWx|419<=fxzqN3N*RJ6IOCIWX^Ju*;_VkS~`_Tuxr8U znb#D-v(+*m=f-Z9Qlp!%i8j7F057OOv~zufy8%80pL+j3#6toPOs+oH=*64FMj-&F z(7_#*hc2$_@Xyc~350^bf6mAhWxF&d&i z)5i`SqSMq}R6MV_8`G!KE68>gBecp0hN+01mtU0X7==0y3Pc;pt10RWN2Mtb(P8>b zd4Og`P&4HoS`-7h^YV{KA)vbu(CPtsnsWDO)NewKNOMP&aV2n?LpsAToui6^96&$U z5H501!#K|`{Q%}Lh>vjzEBvk6!WDdmA$-mueu*f)=77H8Ab;Rb(LTo6jtL5B62J2K z3{&_M)A$=V@eihiWHvSSRrr~2l63+Uz!Q#2A&K8P-~!^fN}?btih`&p3ZjB2+VL0q z$XJQu8Ci!ZipQ)LA#)#@gL%EYmx{XZD(d2^s6j?45nVuoK@s&xT#~rl^#T#<=sCJQ a&9v4@TyeLZFW@0)ea>zPyv=hSyz@U}6R#uy literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MajorityElement.class b/leetcode/out/production/solution/MajorityElement.class new file mode 100644 index 0000000000000000000000000000000000000000..726321a17d4d59e35105ebcbbd99e3acfa15353a GIT binary patch literal 556 zcmZ8dyGjF55IwVdH!;y9J`x|Gh?T}*A`(RK(TIW&wNPxVZq`LNCc6?hf_=WiN^H{D zSP2#umVSUAW1*hArqPAHGjq<&Idkv(*UKw_DyGt~F`mRk5|e_&h9CIRmcU*po(R-- zc;*RmH9znUI<30bKGyXnkgI`V`=;)LD!TBm1tYb6-3Z%$bi32^T3!&XQ=#=2 z5;zN|d&ND0`1~1F&}nhlI%V#}-HdM72_iw}DAMlbzP{=krH{f++x2#Rvr7J-Te+cc z^biyr+WzAN!-lOib#PuetT#M2!W=BVfcY$N4LCd#tSXGc=qx@%o?<%5GZBM=0p>%$ z4M-u)N-!8BX84Vg4&z$ME^n$WwW%$E|XhDF5aoiJVi8vEHA?i`rDZ-M+I}m gDn`g!R9nF)GaF;<%)ys*cTA~&TKXim(&;S4c literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MajorityElementII.class b/leetcode/out/production/solution/MajorityElementII.class new file mode 100644 index 0000000000000000000000000000000000000000..436b6aecf085ff30dc8dd710d252fdf01c977d21 GIT binary patch literal 1275 zcmZ`(TWb?r6#jNHmn4lzO*8e@c&n{R6B};~NF^Z0BLosfDqitnnvQkqbRyG4?4fF2e4AmW4I4-ow&BGzwDqP12BX79DWS^HaSeQPuCzP?-na1aL* z&@rrIcLEU%Cy+;>2O}uzDCyWEpdEHRC#VQS^M%s_%3sY%TOeI?Jo|WSX2SMQSraai zOs(0l+|!otNWTjz!DVMwps!Z9rklPK%>C`!Gqx90t7GJtSq%zg^B1ax+O&1eDz^g1 zE!UjcfPuo{TV-yqHAA+@1=^Z#&$iq^pm%M&&NvpfPoQhL9bbE%RX_5mF2&WYLz6^)ta0XF!Dd?)k!f{IFB9B zc-`a^fsjpbP0%ZI7u?m6=MYcA&plkV5LA$)o$Lf)9a8joeb7r19*ztkN+RH6@hxJ- zr3Li7Lgd_YL>Iezy%-&>@HLgFsYXq$xMb>4GiJmL{U6keMr<_q5b=3cv~fs!h9X^! z?uel-ASJPiVybOyHnat#rEe;VskP;)<#}y+J|^1BPdn^Cma7M&>a7lc5^A z=KhORDfd5=7f>TOV`v>LT{4s(U}=%_;TiAlz7{DFma1UE?pWF|y9c|9(5wS%K;sti$ z4TkU@!}x&R;V3RKXBj8So?#VtiFPcGpgSIE^)aJheXp6dpQFlQiMcZz)=si+q@|Ge z86z@K`QP~un`vq6<}vHau*U&*D#za8$dO|!kv&Mq^<~nK#EydRs_VGNC-f@}6L-D>Rd$?=1S{>1Iolbe zBO8yi&*&!8u?gVptnTg+a z%)4ANcfBYm>;Cay^% j(kP4M0hnMFGyh<`1DUY>f7EmEEYu$|XY$1uJzW0{?q+XE literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MaxConsecutiveOnesII.class b/leetcode/out/production/solution/MaxConsecutiveOnesII.class new file mode 100644 index 0000000000000000000000000000000000000000..9636090a6954cc4991b9ac9f7cb7299c92f19fff GIT binary patch literal 1341 zcmZuxOHUI~6#j1K1!X`$Ml25zpDid=)cPpa7ZN8a5~IP0EF9X4j+7~Br$k-zD_j~A zH*VaBkHon4zZe&;+*rRmtrUf6dha>so_oIUd}lJ>et-G`;4H4kVIvjC7{)D}h(l9O zJ5F|B0%^6JQp;%zlPY}1!dVOF1k5Qv@WY&dmQ2kH=r_tmDX=H+2l94pbxBt4c}pcm zdh_LiSDN=KzVe$vJ$&L<1@`4vY7X)p^b~U#G*E`n6hyhIU84SmE@!B?dUeH zfdlK?4NsuEl|Q%iR2D)`vjrHnFVNLWn)O0zZzLP@u-3g&P0lS-pro7HrE{j1mzQNl zz)5a9Za`&I3mjP0e?d9;K5>rvTDim#_a(R2Y9mGV( z?t;59wh8f$Mhx9t%_yj&hqm2FKri;vBNiO4>hcd3v$)S_IW41W8AHpMjyeA270!)2 z=EO^w8@h1xq1V_u?id?}n0Q(LxuMtJ)V~iqrehTKM;{Q&ZJ6Rs{oC+cR?;H$F~n)x zFi5nQR1-uSB9}w-PLRbU_94f!Y3z>}-Xe=OOflNeI~|<#ep;qt)?}@$1O}o`W-!Rp z7=P2O+D}Y_10SZP;{fj@px0T%vM^%dpimFc?ffE?ppMPvMWWgKqL%v%?ZGDWOaDl4 zvmrruLU+s$Fh0VJ;eJB@2upy9^eMAV;49kSBd$Nn7&|2S6iK3QlVp^n50TqpHh2Uh zI7&H=<2;hM#qZKR#upe-LsOD;A>Wjw2kw?6i(8T`Zb`DZCCNflk`CM<(qT$+BpQVv ds)`(KiZrN1>S>8&;h2(XV6Y+6abAic`3Km>{(S%d literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MaxPointsOnALine.class b/leetcode/out/production/solution/MaxPointsOnALine.class new file mode 100644 index 0000000000000000000000000000000000000000..27f2335894adde4f8a8a5c5307ca8b8205d129b1 GIT binary patch literal 1562 zcmZuxJ!~6g7=FI^e(cLRiIZFiftVIbu4nFDN;I~*FOB?f&Vk0V_MozOL0a=+CUgHQk<2@tbrHs zqKo1tR?mrJP+@u`90BTcF~t zyH#n++V5W~xkazKR6Hj`(*nk38=DdsjJ>t6Vc)Qm_IqB^_e{q#ES`4?p8bY^_+Pn7 z3qS$c;9 z#^&N3+_cyd=+2djp6wQ^7ajUru@0YRm2~_~Zf?zCxv_^?4+jVYdD&KEW&h&x_6)@` zoz>f$p}AaR;^~JZKAg8RL#wy;=su@e+gm3mu}mhO!BO<{A1Qxb;0=dGIYceVx8Pen zeiz~^-~0%r=7R=?c{ZC4coZYl1RlfVlnm}V0+m+auSDZBsDbT7L;W0DqOtuQx~|?u zARCwsq!dd@G?e@u{4~A;MMU=z@qfR;~% ztl(|*SfSepZKJL^%EzMFH8JXQus85V;b8rQctW}?;2+8Q@ z*KClVE(?9chDq26=^7(p#}UN|9Kl&`Vi8Z`ZQg4aPoqF~ z`x{Q-cgFvTX}>}l-HiPhqs$d#h7a%rPa(!$ruR`8Na0K7j$H e#J`vp!U)a>{=sA*d>_`|Q17Fcp-BdG;lzIrNnC&c literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MaximalRectangle.class b/leetcode/out/production/solution/MaximalRectangle.class new file mode 100644 index 0000000000000000000000000000000000000000..1d7fc76cf7ccb3a29ad31cfc71c3db16186db3cb GIT binary patch literal 1563 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 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MaximumSubarray.class b/leetcode/out/production/solution/MaximumSubarray.class new file mode 100644 index 0000000000000000000000000000000000000000..e1e02c46acec92b75648d8635249658cc1240dda GIT binary patch literal 840 zcmZ8fO-~b16g_V~7%YW;KtXCpsTk8bW||l@F+vk!G-+(@qJ|AFcx@*z*sqK&!JP|# zg$ovJ+^}(_F{VF&-{8uh!J>NJv{1q%^X|Q8&b{}XmpLE(8UonBg9v7jv0&?;Sx0ae z_bjYg$O_DC`W?St6wq_|9RcHIx9JJQ%6`XtJ80Lv;GL|uh$PG1hHUM~z*qGIH2Mer zM}b7SB9Hy{pj{i(We~_uF9hb=@|fkeDh15kZYf_95I$cuFGd#u9$BZe% zt)`3d-n-*!uWB=Kf5Iq!F~qlj=k^%~>Y)fXTyKWTmEtIu#`tBGc$QUx zf;Ne~BK8J}ki9{663-E5Z769I*(yt7k;0?c#u77)okiYkg4>qKjKQ!*h*($=B7cDe zQg0I+J3S>yIdziy)-`{&GN)d9PdUigJhwt0e=}1b>G0-L9I(uRE3i3uop~PVE6uZX nbg9|7((Ft$>&S&lHO_cQ|CgHQppE$32yuZmDos9o`GA@G1=>j#LGwn8-8g%G0A7#l!hiiE(1p)g}g)EtkPAf!Sfdf*3EO`xq3Skt&0Cp>CKCHUv^^S!Ppys&8y3u<8Mu zXpU#oHFMRQIi1+zovx+Ks(@MXck5N>iL0i~TrkksruE87A&x`}X$%<1r%*sqpzneM z0-fr}c+K+G$LCfzooXP^eg@52igA@l^4+q-CYHQqrZaz59T4z7Wl7b}=e7 z&6c`e(^ifUIXsUNI}e40)gDCsL-vk_dddMS>u8`wYlShjq8Q~KD zsKFM|%_zc?FL*-I8+eXhMjET9(Z@(fKP%%9zmXS$t5a)e&L}=oDy2dro3S}vT*joX zf`p9A!~weVX-(=fR>)+fp$3%keWZvPnmx96NcRbyh0K_$8v6lVL3&Nb8J0|GNYgGQ z3mIvyusrOPRMCNwFOzKnywZ?KTXp}x^mACs2F+?!YW`EYcc$X~aD%;6ppV-1)21=P zNsG9Qd&pn{SvE8B;VK)R>(v04X6!uKtI8V5N%y2m=q$< K6%7)OVCWAQM!?4a literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MeetingRooms$1.class b/leetcode/out/production/solution/MeetingRooms$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b82f7257a60501528ae8c71ed0cde0d721967af5 GIT binary patch literal 902 zcmZWn%Wl&^6g}fOF>#&5E`{=@K%mZphN4O=Qbkk|NRbkd2u|TZ(D8wDdkhHNiuQO-Px%bZe{`2D}fIYN|DBzw61NV#2@xVaUB;=uiM+UYH zxC{k(>?hSH4CVen2Fprw6Iwz^B6h8Imwc}zN+Zod~w5ufp(y_nT{ z3|h3yU@kC)JY^^iCHLMB_-W?3?egrGHslxQq?DmSwRjWo}>0ieV##E<{M>UOq};c|1IjQiS6Srz*Ty4`#tc`O-N4_owJ3{YHPwylDthn1tY28+-V%{tKN2h4ioD_H$Iw9mBCP^P{> z9L23re|64+jdfZPKUE_Wm1w4QL>#5=G`=9$r1k-Z{t>$NiNM^FWI2`Gnv?%aI=DhM z%F@ARYIu$2d1#gA%swEW>zU6pI;ea~^~NvgO={neS01Zjt2Bw2dFZ&2vTov5I^M<| R8g<;ILOC=uiCv(PzQ1DpwnP8` literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MeetingRooms.class b/leetcode/out/production/solution/MeetingRooms.class new file mode 100644 index 0000000000000000000000000000000000000000..bf8f0a7991a94352309fa6164229f77dfc209c8f GIT binary patch literal 722 zcmZ8f+iuf95IyTl+_-Lf3lK_xUTIPT7Kpb1QWXg)QVJ49m4K&>vnpF0yIOB5@y-wM z3w`0GFGxrrkop092Va2@FzXm8V97JHXU@!-9sAp_FXsU6A@nhW6%SW@SZMmVifdI| z$Eq=F9@afy(<~e19frl2r@LBcjqt8f*N3ORNSV7A~V&WLQy0;U9F2lGXqK literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MeetingRoomsII$1.class b/leetcode/out/production/solution/MeetingRoomsII$1.class new file mode 100644 index 0000000000000000000000000000000000000000..006692d88e5b3d33fbe1a0b6b4f7df1ad083fbce GIT binary patch literal 878 zcmZWnU2oGc6g_UUhGyv&+QImyKw;?zD?^ib=u`<+AR=WTF|-$++|=qkr3p&h{VHCN z_>g!&JoBRv*GW;^ERkd1m;5hfp{%-(T(-??Q0v* z3$8bmquH(QSCo4+CZ8!<<*H>|%{*&`>l*RrTDw}wc}c7{7OXEQTeH?W-QO^JG`?e_ lNSvG0MN#5{*uc$9{uXX$^Bvr!*}y&A$5mQs`xTn$`3LM%vOWL+ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MeetingRoomsII$2.class b/leetcode/out/production/solution/MeetingRoomsII$2.class new file mode 100644 index 0000000000000000000000000000000000000000..706acb1b9de83d0f2a113e531442342899e0aeea GIT binary patch literal 876 zcmZWn%Wl&^6g`uen7D3hl0tbCAW-K)163s!sVboegr&4d6m`RDl8jPU&KNmPzlseK z4~Ye0%|{{5I6-;T);#W+<8$u4<3E3Y{sOR%-69I8II!`s2n&yFJa&jwZ9K8@)W(iL zAw3Jn)#n0U_eiNU)Wi32JQ@cC!?N9KFD4~ zq|}Z3GCGw>XyO@Y86yEV&{`#(NRG#fVQEFUx<_BTACErCgi70fH_)j{E@af6?`nZS zE`A~4%rS%P3GDdYb9o_Kk<`Q1yWY9#r|rv#5h$L7LoL&ZvDv>&nIe-kj9Q&68=1z* z!QAhVc{(TYBKiWy+s4UzMb(=#)t6)&)%AMgH>@VdcU)N& ko+fFEB5@{c;Z|mU8+WqxF79!)a32qFjXQ_z0#`o&0FHIBSpWb4 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MeetingRoomsII.class b/leetcode/out/production/solution/MeetingRoomsII.class new file mode 100644 index 0000000000000000000000000000000000000000..63b2ee51f7dd2167e3b47ee61754a501741d963b GIT binary patch literal 1248 zcmZ`(O-~b16g{t<&OjLffr2P1B5Es?N>x;fDAupR@}U?Ex-bJwa9}!9r&AJK`zze( z#*G^j5=0VW;?Cb>#PfzC1!5QXy>s6EIQPCc{q^VjHh^n*8b=HIHKgN+U?7eRu4ow4 zkc~r?IEJeYbh};;9Yb<=L&Hr8Zb>jKO-`B-4YxIn3h0LGT7KR!%Vn!9ppMwC9gvSE zQ?mj}-dnT;nhLgSO;(EYmjB$GcgVC9yam&lHGNy+Dyal-Z02Y#OjuT6yGzeJuUIyW z91|36x0V!WOui}@ZeaPVrjtt<0(Ev33B>nL1nT#AW^Sm75s1C5SQTnHURX9)%}gb* zoy=27v0(c_eQTvXji(PgkL(v4W#F-yz+70FFiT-i;gq^H+~E|dYsRbi3)VwhPN226 zAHx`s8g#TF!2ujR>K&B)T@7P8?jbMGv9EX9w>{qu)Qamv}gDu4ce_uUImDGw}SJOw^hD|Cwf&9~4W$TKMu_@^Z_8DN6`G z4W(pRD*|oF)X{46x7rLoPl43fgF4zc^)*vbJF;Y_sCbq-UlUtorT)wG&mxV}IK#fE zw%Uo@okcf$>B2Mz)Wgx7=eg{6m+2*QflM0F9d1+&7d2eckfary+Hd)Hl-fZfqW_NQ U9$`so`_Rg@g*#bR{vx}}UuwS!?EnA( literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MergeIntervals$1.class b/leetcode/out/production/solution/MergeIntervals$1.class new file mode 100644 index 0000000000000000000000000000000000000000..089da32e4de882ebde747e438e35c9605e02f3f0 GIT binary patch literal 888 zcmZWnU2oGc6g_U!hGy9o+QImyjKb0nR)!|=(5VutKvc@$VQBAeYIUB{1SRf%6)%$p zllFjk=0_o}(@br%MENC{b{9^Nj!5Bni!LaGcP<)w9M}1E2?(k%ydd;OmQ-Go9>f0?PipPq94N<2z zV}d+_IgU0?kE=*+4K|_cH0z^4KVY@mKfzj8C|pofzy|eY;s6ddslPvGQBb6ZfQ+yXhJ3}eOrtM1VUmYISD_d z@14nOI+He#%w+o1&g3U$GNfk(F19tJySw+^J@=fuE4@8?^#;H^9+>FEjDdm)O^vfA zbj+D3;>#4SIU|yM<25$Ah#MjC!sMt3q7Ev;=WMEmqs(79qlwBEyb|{csay%zm z5$MY09|`DXf5#T+tva5)-Zni<@fx8yIMVV|Ze24Ez z*}^J*u<#=)>}j))7S?djLRFa>)(vb}_zCv~((SOU6PI_Tw_DuU-nZ*4oo;2MxC~r6 zDm-l&`8-JM3^CthwGG4qGZ05J-CvlZHTBVun& zMte*@lurqht5ot8e2QLvo$ArR9w9?J$W@V};Fy?x3Gqi99->XgP7}kNTjvS5ijTMw z$l_yyaI;wE2cD$wSkzua+j@zv^_kbuw}_QEL2~942JfYw)lbna@EcautViH)n2U+R zzv#&(YR@p6O}s#=@B-HF=$|c|;);f!<4C5Uyee#+ApIw-XCMA5{DV|8Y4$mb>rjLj zk)}EuaWcvT*EII#U93SfKTAFD^D;Pi=0P-`SZ*e;f#_l zy#wc53?l_|w@qO+dLl^ghyR|rf6cfxkk4-Q(N$&`fXBaauW#BUdpTEaA=h=7Y ZeFrUtFPNbr$2T9(rqR#QB#O?F&wn0`GEx8l literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MergeKSortedList$1.class b/leetcode/out/production/solution/MergeKSortedList$1.class new file mode 100644 index 0000000000000000000000000000000000000000..eed86f11e7803fa128463362d09da82df7e969db GIT binary patch literal 899 zcmZWnOK;Oa7@SSqm^dyCp&`5p5UBH@p{NpvRFO~wBEl_)pk6p_oK@<|v618SS8+k& zA#p&Q`B8{jCn%M();_-3@yz$_?w`Lue*rkeeh~%KEtq&%gn>sU9$Q2jCZ3phYGO~I zkevDR#&dy+d#vKAdN+#VL`__Op7gkTe#O>SQq+tN4Q) z2Sh4v|q$Hco4|>Tru3;kZv5%+w`K@CmB<#=D0ea6I%7wtL9K( zD;^KNcHfWBm6!B35iL_3`O{D)3vG6|Nm(L`#1FcIG$)xv z@zL6{&upzxw1_?R#@EGHvq!nF6X7wv4!t0n`{DFhC1=sZgkz(LmW?7T8zr=Dbnr~z z%Kv(8T*od?Gb`9&(dBG)JjxWxWJ+fCcY)F@y>0EoE2udi*X1dwgt@byF)(_;qFv{U7#{xM(1v?yXELkWs*3C-Q zXre1#X}u*!t6S}_$amN$pBY`&s-{}?CF_z_mHOJtLQOlBUs3huO7$h#T6MeC{tctU o{vBIc;boG#C=yq~25zPHw{a((@8TY31NZR&*SNCCE^uc12fRAD_W%F@ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MergeKSortedList.class b/leetcode/out/production/solution/MergeKSortedList.class new file mode 100644 index 0000000000000000000000000000000000000000..c9ba8d893732c461ab9c3627f172f0b77846c2a7 GIT binary patch literal 1165 zcmZ`&O-~b16g{t<>6Es7h*TU9`G%IS3Ib}2Xe1hl1u-ZF+&HuY4z`^-ohrnQ3x9=6 zH*7UgNF*VySh(^x_$yqA=M50Bgh_Mf-uv#k@7!~zKmUH;12BraAygx-p)Uj<`ZWw_ z7z{zhPzVYV(p-~fSelV4)?C*xs$onZGE*p+&Q#7QmCTYrV8SX`?xcV}7GD%lrtGXK zP@A?2=3F_yVmeQZl^iqmX**-&77fRe@ljH7Us~)@pPn_HHS^(u?YL$(ZI#@VKsfK^ zWWe>=h!|KKXG|u!MibZI;Z9iQQ=b{0X19B=QqhTQ+61=E}LZ%)6?t58zWJ6 ztz2T>v24e3Hy_I*a=7$A>CNIX@$U0L6DKq#*`RvCH8QVejiNWOCt)*1r``gg1-tBI z%mE$Re<$CJx=oMN2Am`YZ*=^B=p8`9j2;1-e*q%aY|ZA?aR2f9FA zC4?!jf6geZB_6G;n;DlX$7bYuqp`EAl6gILN{}f#Uo;%UwVjkaQ|;ANlY$dl**6tm z7SOEH{e01ti;2ltDcZT5Ktn8kwqCB=+;Gv32)|$X_`t6Xb+i{4CHNM6t9?5VU%cab z+JKh~;v)UXVF4NtWyBq$k(OZbl;3|9bMJTITk`L~KRYnD3uS2+>Js|}cAzDd{-mm_ zd*cEBxE9r-flp}B)u=X-4C=vsgmpy^ZX@{YgC@2Pe(TCMsy<>!zC%CYOR9sq`VHa1 zuL#fSD(yaM2$7ydZ5{j?p!=B|6iD7l)X>%;%;*YqjG>9SX56DcjaJN~4a*ec1v+4& z6M1xD13h?$m^bS*_?M+nmsuZV~lY#kYmJuQntX?GvIl478*>P*XJ4ky4ZX@6x+!ugzBcfG|TD*mKbnge` zyQgDX=MKa`og_K*`rZEG9jfMfl*YFD< zu}B=aBJojCss~3X5{G_WRsCL9={^0qe*mzCg#bR@6)}k^Q>FuWm@(+Rj}JaR3cSy8 zFV4OQ?8WM~!1>nS(SqS-+|!#Uhi#pSGUgk zU*n!i&s(Y1#|=Snn9GI9(ydtY}lLE&F$ zZs=4c0{Ou$C3=@{ZW?#@GR$(RKGzLc-~fuO0a=~5@OGE(AXoYG8&)qD1tD?x+<+mx zCF9;vVl~4TaA5OpM2~Q5mo?VtGWvB5tH$&D23E8bUBf1`Z{gg)&bdqO=A7*uw_z;j zmJ0{ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MergeTwoSortedList.class b/leetcode/out/production/solution/MergeTwoSortedList.class new file mode 100644 index 0000000000000000000000000000000000000000..3cf7b269fdc6f3b2a286d6b8c1a8d6b215bfa38d GIT binary patch literal 802 zcmZ`$?`zXg6g@A=OWNA%R;x2Q=jN}q>Q)uMn8`o}x?xtqj>15YG!1KJ+RQAS`tSH< zUlo*rf?tGw@Q<>dmsW-jL*9M&o_p?n=f3yz*Vpd=9-vx)h07M^3ea#RPcyH~f`zLV zt_hfr!hV>p3h32ZOTbu*JAuF%H|z(EL9ZPoTV6XNQg&nCi&|b1s(1n#X*b*#sJNR! zvJ-5*jhk_j1|2utPgev=y$Pyf(&nqK@)|s0<=Cqoy8>EtPoVHOa$i7p2EE>U0kOyR zhFbkW!v4+F^IvazdzqSSpgC4I<3ZvFPeP@7=A^LYUGKmvB8R*{?vEZ7UoYYYZWghK zGRHkxC@`f;>yg*rsXuS;27b!>s&1%j(+|9e(l!Y6gLf$wVDj44r-8>HPg`JA=PtO* zTSpL|vh*ohGXn*R^owHxN;u7kPk|{~7K=6LS<~(}XxsV`^u}$+xZ}tr$Fz+hR&6=N zL)-Wa!Af9AQiy8bfj&n%{(0aP{bi}HaSd^vBbZIdYL4}>*2x?|m$`B_TNh{PX{>*R3O$|tmpDhy xV2^E_rzg2un4vXsf!&_M95Jvg*cLAS^8<^e{4;_h_Wut>8`qFhGYN$ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MinStack.class b/leetcode/out/production/solution/MinStack.class new file mode 100644 index 0000000000000000000000000000000000000000..21321be2e733917aa070e8bbe49e7bb55c036166 GIT binary patch literal 1120 zcmZ`%NpI6o7#zpW<~q(o2upx&kPT>9N-3o3rD~-}DHRF|f}0ae>XJB7;#BZMxNzjc zg$oj-2qeUrABC7_J84vfgFnA-c{AUP{patGUjWuoQK2IjMqWh#xhP^Nh)`6aq9kfJ zMYtux?J(9vxh#@9VcZSlo`h(3-?HnD(Rw2xSvxY0jq=E`I%T(1VZUy*ZNnK2ObNNO z{VlK1G3<7^YCC4z98|V>Db)25LtB<@IolHCLa`x1+3CF^PP}H>=95vkX%3zl%?>N6 zTCZhv8pgm9xnESALu)8OtxYy0veF+75BVxo1)lVlPgO$9rQ0|9{!O{x>yy)QW1+~2 zP}_6}L$rEtG-#Q7mY|JIkk^E84QZU`c4th`a1IF#aS`rgT|*WRG;H9ZhD|)8YwrB4 z2O1t@MZ=QlMkW*z5~qU)%_FnrNC+ProsoI)T0(}3=D11I3o~W!US)RDFA>Wc?sogm zJJ;-&!Yb3`M@<*zPDd=;X$W#G^MBF#GX?liB&f*EQjAnSlLvXGMT{BtoOPV+smmlu;$g0xm}YE0pYa zgvJOz=Q%h=0Jb&Q3NNQrzh_Q^~A5phv$B13GFL69*{<`nW2xIsa??1*hL z9;3evxp5WOxX&VcLCASsXR7rYc{wUM)28=6baqqk5o_o)kH}mi1&tCvv@x_OSN)C&tny}=<#j=kN_~>E9!>WM0 zt3#c96R>LaQvv%R`l$qF+d5Q7<55q=C$cvrQf^0mIXsoIHuV&=lY#yvu-xu&$!I(} zR9DI1_-tQ?GQK{EmD&-=j&zvf0{L3ofJcOGXTCIAEx-Ku>JQ;8ca*RH!CbM968jlcnX?upz zO+kTx=U_rW9tBqX3@9?1;Tu?72kdP^W_+=}SYoFgr*HZ{_~5&LfP+KvyBh-0(#-7LbI(2JyWctA$^QQAmnQ(u zAmc{}2_0j8crfnA+nCVtjvp!#0i466j(7d=RW|1Xcn_0uajo|QxPTAjG9{CfGM>J3 z_)snvb)~x|1zYY9 zoQktz7X?~V(*#*7txZ|>@`^K8u&m-3Q?A?jEKh2@0&UUc;$pHdb;H~=Ve3pBeD)b`ZC zNBCIBCkE1(s|L6lO_{|Nc1p*m2Ig^zlGo~&U$wHbCk8&l0*f$k8H=pMz~{JP;0s(e za19FvOtc$VlKH{sxlx!SMzc#dtc)YjPtMEO z3!^R-Y`2)nLczSvInd0aWKGSY2co$-m8-{&8PWQqyV(p*m6^>7grYU0P))upr_KI~ zD)4{B(ev4dWZR;((A6SHQC~5OGuAB$9PN_;d3V!Vjjv@V5%bQxESpoF;rOx*TESXd z-?VTNt^91rp9gFS+PS{OU5szRx7z;@;wSew%vE!pI$ox2R00se3GM`5!K(yevgaEp zsH1B%qTEGLc?{2j*SiC6dI!pb$YZE8-nbG{BKOcb7*ZZVU3dsBy`_ll{l5khN?3Uk zSG{p9q=nRbh=-MsHk{B0!@759IIJr}L@Gn~;1XSmba{_lTN*)rdjuaL>k^7Lu7*_J z(>)kchs*G@Q+LrsMAZce5M)bb#vc*&KJG-qN*RVgcDxFpN>9B&LJMnUGzff$E7EEd z_!SJ3Jnh0(ePUB|H4McXs@b&Lq{H%9jm&~Zj|>_Xi`Cruq^|G~9gcy>9t Pai)6kCW*Y|TBH90oz0e_ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MinimumSizeSubarraySum.class b/leetcode/out/production/solution/MinimumSizeSubarraySum.class new file mode 100644 index 0000000000000000000000000000000000000000..9fff5f0c0400648d1e340adf4896b7b163802352 GIT binary patch literal 1176 zcmZ{jT~8B16o%hnXLspR6sm(rMF9m{=!Zem3pGUiAU5)mSb`TA(`~zvMY@>Mn!t@A z;b(Y(+;HQKR~kS11N<4@_!~58eP?Mv6WnBH&b)Kx%zK`0zx@8t1aJ*m2R24*Tr^&` zS}g~cFzR3omu)0$Bn7OSe&E-q1dK#-NkHCNuXq9{XZ^sNZ&XWOZP6{QQHjm2m)*4` zx9010Ta@(`e?y>uc8*1=jcUQ)@(PWTTdTR7g+}#;z=^6KP?^@stQYXUM1DD+%nJyg zubx-=vWN^CRZbnt)QpWrl_SpzbQkJw`PrQNJiIfs-A9A})}3Uw7gSh_-CxUwaA-PO@&mWFS@7IinVFr5cKs zBkIQhbwoHiTxB^6&gS?#h_?(n(8bXTMFUaB(SrnZ;{;dah8~VQEc#hY7cCi6F(W69 zoN44NWu}^YxI36qW~Mkb7=MjPMR5;I7&ZKs;D_{o_kDJ3 z054%2qx`>*VFs7+2njqv5-uiCrM|&0SA%@Wug76~8l(&}2N_x1ooT~mtA|Lp50P%S sk=ocIzCI!y=N%XRLK^u6N5lMq_%B#O{KTl37G2-bdw_I^w|8Lp56X|s2><{9 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MinimumWindowSubstring.class b/leetcode/out/production/solution/MinimumWindowSubstring.class new file mode 100644 index 0000000000000000000000000000000000000000..dfb9a8ed5b0305f91af97cb3b7d64c8c932ec9f7 GIT binary patch literal 1232 zcmZuv-)j_C6#nk+%-osTHBGj?x-r#Se|6V2o2qftR0AQ!vJ#Cnk{0YkCX*$ZbTeCK zXB9>9WnX*~d=V6s^dWDeFA-D%zDnN;f`38(1uNqE-ATk!Gt9mB{P@nf=X~eBeE)O} zz%WK#xH#aVf`bx+*&E$%S1VP$4cYi!pNAw4OB@lfPKHsKj0$8+gU=^v-S9bKiikN~erReP@wuh^xk*3-T;l?nKno#PjcbvM*B3U8NQh2|&Rirk z)1qVs&2~g{mNijpC4Nk8%T(eAzn}I0NP9|Y8J5^7aa6#aYPRE`emc|)3~b(HRri!f z4ta^;JUko|==;=XElTS1^*E2?IFZK)$O-Z|iBkewH%}iwR9(V%rICb}Mw^AeD4P^}_0KMqr$?@Pz?hMZCfk7|ux=-M_doJBa zjDxGljF|oAnrCG_sid-&QS3LB9QN!%W&c(+W+ppQtaSg$dS<~$QCZK^Wmb*V4NodzP|2*>UK;sjPzW0CqvHpr^u;S@g^*>_==a3r)y06nB$tTPQ=~ z5YJ=ebd0Q?C!fEPh>+d}DQlCeYb2{fs&0|2+l;+O+cLJ{A&Pi{emrB`3+zYbKx8 zd_&3LW4(`Ej5RTeyL=HvqQ-CsyD3TRVaA`4>oVMy*ekIw{r5}o|4#4?yum=11-t+A g3jG1^uvggcutU5>&s!A#g_%3U46Lfe%o&tF0BJ7l4*&oF literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MissingNumber.class b/leetcode/out/production/solution/MissingNumber.class new file mode 100644 index 0000000000000000000000000000000000000000..1b890848636d4d5ec1a59b1afef3da43b5307186 GIT binary patch literal 475 zcmY*UJx>Bb5Pfrd2YP^fh=>6SJ3bO<>=YUk6B5t@LqoNk7hHrpa~#GR{UtUwHdZDU z`~d%qy@?-l2Ze01`)20Nytni5^S%UdguDrXy(n@~>=Pm<%29rcAj*|KK|gh`Y(lc5 z9Q%Ae9opWd98S2B>A04h^rfeQd|lN2Yc&hHyJ|L5&S*7pOh`=s7YIgq(5|!zr1&!G z&V0&)+JIwm?|MAZ^QCpumA7kYv**q|%RW<~`G$UdEbn9-It(7$U1!Ig2b{P-YAh4*0KguG3o$!~1wHZqz ci4>a(_L1yri6^6D?LEK7Z}2@(VkJJZwM)BWD--Tn6K^A`ZeFlC|(BN9hVXc#fkiDMl& zj!_e1I3aP;gj8;c@ep!qpHRywwd5sEOPmo1PB^aPJz)hy|J*McD=$}fh`+v>#qHj5i!XQ z>oGoCSjD;TpKBA%bA@oT(_W3pb9n-ZPJ7ne{FJre)AJQdN}Lr4PdjDT@)|V?F}Nv> z|5OZ>ZO<1)(Vtu;-`z-93gMjUpB+dz#)73_8&c5XMy024lScweCP9lY zfXfoe%@SHPm^akkp*7Qu1=sSEnN6m#77lsURR+D8jdgO^&9AMCUm*|x#X&dM9-gw? z1$Sd`8R7#C4O_VeeW!_D+L2}gVu38oSs#iZW&00|R>*S1L7Q`xx6# zPd|dc*)q&75(k8k$mqTS{6s?Z{Xp*ExvdOGyPGi z*0%ylokQs*gnP^-bflILSwd845onuR+UK{6K82z=H)RbGts1sst+*(Z5?bes^xuQS IJZd=d2P%m%!2kdN literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MostFrequentSubtreeSum.class b/leetcode/out/production/solution/MostFrequentSubtreeSum.class new file mode 100644 index 0000000000000000000000000000000000000000..6f97f1f177ddb20ca7a0d24529722164c75d35fe GIT binary patch literal 2112 zcmb7FT~ixn6n@@hlZCJpTFOTXR4b*1P>8h@`D(OK5F`OL2$rg42}@W=Hn7<+#Vaqo z@ZOtx;f3BfTAv9xLGM}pWOvN1mH8++oT24WrA+fG+>#?F^W@D3jVJ)d|4hvML z%#5WwMcWVQP6PvOeBV*Vls}rI)BPlsX6iEJ`AZ{@Uv*1+96Cajgs~PsL z+k=3Z5(ti%mg&R={E@DCW*y6~u=KiwX&E!c+_GWM>C0J4&Lr|_Jv*=4rsPXP#aS~6 zMN1-?FE|snu~jrICskZ_Y{N(ub4=H;YFaCYnmJD_a4M3J=NaZ2?z+t?gvr!)KJN&G zj#ZRp*^EGa83?jH2KL(qGy9}-)5+3yHV@0|{Fhs0R0L{Mj-K8i+-_T38WmTG%$kwi zG;FHNt7SeVYpk-UfNf^h`1TiyxubPBF-F>?<+ixXv&8*lcd2~QP8$=Z#I&_CY`t=^ zG+acd!0DHkOhX&mHM}axAci!&h7JunmNlfYLTrycBvcv1 z@8P46&y*UHr(PF_eq6yDe0=ne;7wd5s(rMS0C>7<)b&$R4}aBj461lb#en#W8GZ8W zE5UM)@l{$qB`g8|{b=_t>WIK~d8p?h-qyaveSk8D2_e-ECYz!#U zW)BSuQ3;*LpM40GT%a-F>KebnxiVHF8zy>9{0sBMr5I8%6buKSq5UzMIi;4NV3|QU zDAR<4(l<=sutMbTvkMRLQT7ZjfWq+yiD4ZvYav>lL}`d9O%sAe1RPVRlK9(h7c-7x!-@|3Wvq{jM2u2oBsfmG|l7y literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MoveZeroes.class b/leetcode/out/production/solution/MoveZeroes.class new file mode 100644 index 0000000000000000000000000000000000000000..f56fbbcca77a5de071819999f3c7ea95b7759fb3 GIT binary patch literal 816 zcmYjOv2NN>6g|&2xB*kZ32Bqqw2?AUEP;xmE^SyURYD?VNR^?P46#}hz!8}A2blT? zS*u9Qog#JM1NsM@I(F~YA*JUT*JOD2-TU6X=bU%m_rKp301i>kK*MeZD)w|(I&6XT zD}UsNO#!v?>{LK|9h`dt`L;ju-cE;IZ~V^f4tQd=gPuD$b;rJ}<3la{=uZTU_Hl6K zz4yj}H+d>9B_{F7ih?s;!~sVl#xuJzq3*FXws16wGuaeXIHkhk@LJNi)Xbo*W}#6Eq{=nEJr z6lq4CRh_%wo~qtLd}X5G0i(Q@ts9KSssR~fSsbsW2-b=D6wBjG07Hi@%Erc$Kga5b3l z6=Obv#kyp+(v_nAZ7P(GK1xivVJ%H*s7KC1J8#<74Js6JjSYG-U;d6PD$pW(rY>pG zeEE~feEDPTQaQ4BkN6f}YvVCpDdPzozW+H6?zvTuRq3cEZZ#71jeBkx(C(lMQ81-l Kf|&BNcm4sDh;^X= literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MovingAverage.class b/leetcode/out/production/solution/MovingAverage.class new file mode 100644 index 0000000000000000000000000000000000000000..75330a351dcffaf3f384f34a16c679e28c0145ce GIT binary patch literal 942 zcmZuvT~8B16g|^!*|uy8R6wzapI}>+`mG3(sDy;1NTgbWZ%Y~Kz;+k6yN&S=@Hg8vW{Ihal^z-fkd;a-bn$mBw#eFVUzBHKwtA&C_~~yl`Xq%m%~6g z+j!KLzTMDTj8-JyaOK;e!%g+^ zw(SUHs)1eKUbc6-9OI|lpq!zo_~`H!<}gDs$NC8j_7Ydtw`85-;|0AJliEYMvMDgi zMg3=)+(J)b^dx){Z*x=n6}v^6k;0Lp4)<*FRYcD>PVIP(v#5NXIb1l(-%S-rDmSQU z5jfAkljT2)^K)@@dNDn4baEeHv&bJMF1Wo@v|~hGL>0hD=>Vei4Y9QY#P?y8^7}}9 zib_t?=3vlTv?eJ_X%9yJ3;GUW#_+PV zwufYXx4w_04jdvSKqv75<58#srUibW|1+%JMkleCyz6~r$2hdUQT6}_&Qj?ZKR}TR d9~13qT>YzYmCMo^FR&s3@r#K97kP={(jVZ@y-@%F literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MultiplyStrings.class b/leetcode/out/production/solution/MultiplyStrings.class new file mode 100644 index 0000000000000000000000000000000000000000..537c802d9e35a01e71e0f41b103205070f408243 GIT binary patch literal 1191 zcmaJ=OHUI~7(KV0nL8b-@*1%UDn47l0-{wxYZOCbf}&zDMiV=2Cve4;W4h)P9$s@QAhxm&$$JX_{+7aCJFj(Fk35yw@8LYq2yFA zF;q)lO^wrbDit><3Ut%{4{@_r{#CIvxjk?Uy-+Wh`b8iVPp&&@4RROU^}ZE|rSNzc zS0i+CV&eE_0NT(_OP~XtT$wDsLJy0s^)Dlm9pIADdTcHC$r{yrv|`4vjTdlijZoV1 z1#a})#xkOTsf^e= zQj0=SpCD22Lu(ejy(NAJJCv?L zok#eB*x1bqSq!6#D8?EGu!qRPVcbH3NYXA~FOh+#NQFppjbhS#dX~?qKhOyltH`UBn^QH*kb?Mqq8Qg_Jldag2WZ||& literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MyQueue.class b/leetcode/out/production/solution/MyQueue.class new file mode 100644 index 0000000000000000000000000000000000000000..54b39ad7bccb74d4ae0bf19cd9879add1d97d34e GIT binary patch literal 1417 zcmZuwTTc^V5IwtWyRfCy>H*Ic_A; zfm!k0Owyc_+bub6o46yfyJFlkao8Ob}Eh^ z)LjkZC*y_CQFbajGfNfU-Er&rc}WTp*Y;~fFL)KtpV!c4PpoS&o>aF8)m8K=?z3Qj z)2**Ln`L@>i`9}-UU%xA*pbulcfAAR6_<~m2X5dJ+o%NxyZqQo0;j#^Z;9ZwDr*@v z*JU59L|4q+ulYyHddbjMAZ*6$lRe~5ITX#ZyX_OB?(OXIJMcfbquO7Bol2)=rxp=j zIfZ|=MkkA&{Ysc5SF1t2EO68+sdaD`9%978BaCV=qcR%0o9|XO_uLY-Fb|z_;I3>_70%#{4d9|gDk%Ig zFW>qya%o80XS&6f~+U&K(j`L1sc%I{nWwh}I zWOB#Qa$ljpI7Zti7|meV7du9~d>Tk>h%Y97`kG~W z$rcpDLLY@l6Rf|5clICeEJh;UyDTEq?9)Y(-_g;4RcI}hdC#{xM4zzMAZraN+;OTQ z8ilRdQLQ01oQ+z$g3+kztZEgi9ixHHCaMe!%xJ3J9wF(nx2!FLe8aCyCq2pJx9FPU zHzA6@`~6eYFciaZf@3h5*9Ti+4u^RWCJ}H|EsWf3-gHbbKkPwbeTt97WVvz*TW9a# N!c8(dMW2pqe*i3X{cHdL literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/MyStack.class b/leetcode/out/production/solution/MyStack.class new file mode 100644 index 0000000000000000000000000000000000000000..bbd3677ce55d7ea090ecb1ce4cc8f0ef4a9bc06f GIT binary patch literal 1372 zcmZuw+fEZf82)B^SXdSc1q(3RaY4vb{owhBq7l@@5-uy#s@U9WO| z;@|Zpw^1-kJIR%jZSI)WbVeR>5jTq!qAyt`%gzY+Vv}0}{s-kep+Z@!WIm}Ex6SIN zv0Y#%oGs^!!j@6BA8Ijo#f`D}?mkwgoa#fp9C%$^Hq8|8X6XFjr|Ox;s5BcsyM zgIgL)Dfe3^6&owaOhAQuVeMUYn&>L&o?&75APtjSOj3pgz_x{H$%PGSPMnlCqy2-G#saJK#8qArJnsBM1n^KfxdUg5U{M1y380 z@{b~cJE&4ZMVxuagW^G4!exR9TshbL)&tE*&=a%>yu++JZWZ_e?K9ezn%25F4m8N$ z|2d^uU25<_+PVytwU0LXDSQAi+F0Odk=)B%J<~PB{#8c}_;Osc!#o)vPD%#Px8nIW zJ&D~?Mm8=5$WRkUaN=}%-8hGNeuQC;GKH~oE-(+5A;4@#of{k@myFu&gq>8zG2v0Z z@hDTiX76Ke4i|E{ki}1#Mf3xqT~UJwavUSrB#Gm+n?MrNn8QqyxRfVOVSn6-LQp(WALa|tCei2ez(?SqwQ>)Pc_Mq`7T{uYw7&<0B`GKdp zaKplttX#O`u<4>*=nAYoxc4t`DY1CVYImKEK)JP7mnrlRiE!xpnthz*6uEt_gu*}ysKeCVD`nDuh_NQnP#^ureoIyGy;`M z$uHPdt?39vmz&*I&AMgFnd|--vvPnsbo2`h^$xRf*Q(2r>KMc88s>Fe#|;fd9XIhF zd)09Z@9W55Qo{#2O8Af!kM2gyg>nfmRX3~}H9FCYE=BWV+`DtV)iUo>Z)MeX*r}RW zDHf&7Juu#sS!2_5y4DhJ5QkIrFJP~-q-)km-$-~<=xL%L#qj!Yy$fb%U4~a>XeVdrf@ZW zL*Vm01Q*Uei7uulGr>J5nV)$ObioGQpfJLOl9f*}SpuiLWO%@Y;cu7)!i+hMGc2Mb zf;e6y&RNFGM!d5To{iEIz&SpgBj0RD{D=@EfbG%r!49f^TQf@f;7MpE6wIrJnm*XY zd^{A(?t>1^(4=F8i=k$B&>s&OTI}|x4-nbX#DjnTjw|udKGa{K1@PIHO4sk1xZ;_? zykZb~7vrh)sG;m3{1Z;f-BK!@8CAZd3R?;@{*t;Xt`v(T59+9L9iWbq@)${9B;gz> zPm}IE2^VRXNU_56JB+Y!0ZmNc8zk`^ChZ z3Nb!r`~<~WXC)aYr?!10{I)ByyawC8@N##Nah~wQl-EOh)6YB&If4W;#u0gjGa8Z_ zQsNLX5r2x%Qw;ut@F4vX03Q+dQ3?^>NBTku~Zf~#b5jf&2&=K{ORBa1m#n=7mlMA}tEa?Txb&K+^i dxl9A@Y1ZW|dG$d#L{JP2Ndki3iM(yO{{T63OK|`I literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/NQueensII.class b/leetcode/out/production/solution/NQueensII.class new file mode 100644 index 0000000000000000000000000000000000000000..1192a3e5c70efd4b901722aadd093189acce6b83 GIT binary patch literal 917 zcmYLG+int36kUgNhADIky?QCot5O(D;i2-P>5GZUB+$lGNwhB=U}^^u3{3S0`V+o2 zeeuC2rirG;n0|m?;H$r38g-pvf|<;jz1Qr$*IN7h`19=wz!pkLm{?6Bj;?;#2@-SKiC$Kg=Z-$VqaKWw;Nzb#IS4a!!QfRz@w+I5uOBy0~*{n#Te=V|oJ-#V6v5^Qzg>)hSZ; zbIw->Um!2!cCK`FhGn~y&0RvhN1DMdGj%{6CsKU)`%4>=p`m=}-J-E6+DOsFG;Z@; zrgkbaYw rtL1KyL!!h#iEvewvE0g7ZY7dSE$r5|BH`DNB0aB#3oLV33@iTt`A~p1 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/NestedListWeightSum.class b/leetcode/out/production/solution/NestedListWeightSum.class new file mode 100644 index 0000000000000000000000000000000000000000..f11dea1a71cde3850ecf57e228b9ce7b67d675ea GIT binary patch literal 1286 zcmZuw+fEZv6kVsCcAy<@rLCYXf`Yb1s3_iOEh>s>Qjk!CiBAk=(him>nNE#Oh3VZrnJ>783 zYFhF#$-F?o>f{Lw_c8>cr;ENnXcwO9;bvP3@|I(i4Lg%#_5Pw+wsfaqQ~h*r`LhX9 zPq>$s$xB#~GNmcaHrqu6d~SmRf+TNU_Bl{=^wOI({lIld#XZ_DFw=YP+463oK(W@a zOU9}x9UnW#)Ol&5h5-y}2qUKAzJ>=_VjT?`WHmelM>%jxr-o(u<`EvNc%oqiPc=Nl zDra&|0gl0)Q&qRh=@&bDMv0Awx}(cGhOIj_TVSvY%6W3yX6IcrkvuV=b`EEvR`mM1 z@s4a>x7V(-auaUzPn4AtH0v#|c~#1W)7eB$@w@XF>1ywA`%KH((yI+R%9j3SEs=2|7m0XqiGSV!uCl~0_$UV0 z^yX%d;1yU>#+4%|0w1s}BcH$z_?LX+z9Xm-jl^Rz?i2We{>palBf{~NL;?aaWt%#Q z{reV|Y86-Q1T}%4$cmFhQq-MgvukX0gIc8ti_|fRIm9u+hXs&71PHUK4wz0{TY(3k>tVk|6|<``2YX_ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/NestedListWeightSumII.class b/leetcode/out/production/solution/NestedListWeightSumII.class new file mode 100644 index 0000000000000000000000000000000000000000..8f6b241861d59067174c1116096bfc8e1e552ade GIT binary patch literal 1641 zcmZuxU2_vv7=BK&n{Bq+QcBZONU#WnB(+4a7Hyh|oyTss$3AEBwMWilr_}eoc1a4#1zW-F3>qj*jbzemacN zTpX!ek6_sy-)*|xa+QG6+g`Kd`28-STpoq;Zh>G+lXv5;@Sr?`Q{)K=$DOI(zVk$3 zV%v8bKW;gPfj$PRbUE7-mw?S#9hwj?G+jabduEOLnD3&XXd4s*#eBqdHaSg39T28O-K4CVm z<`04PvY3hUj~y$-+ZSS-%M7Pj-V;jmye(;JjEI(DTUu*tZDPw5yljL zMz$!^v;r}%>KR>onEe%IrG+P?&8VDTTU8o2TX`Wu3X z`6uMliTMA;V}<{NWHsa;k_{BNC0rv3^m#py;3+b>tjxzn1FQA0`V2FDupE%q1m6a_4`E<~A1g09U=QM}?w&QQw?H()n#-L;Owrt;3c~q3au6rPm zYc!qr!Ar;Q4+A@J2i_xY@cu6e=#}ldq7Zxh>ZJ09eGY5e#KILwZv=Md?F)PV-|~ZZ z_P#)ZWA$)Q_MA5X_xSG4E~5;bKJVkcbLjZ0eh}Cy#vHFJklYvy{f_h8RpJZR^wsw4 zLpy~y5-Hq5DTN|RlzgpAAglUTd$zZ;+G_7PodEOnPN$(@BsUT~Z!lYB6pVWH4C0hP z!vxQGSd>T-r$!B!Bm!|78J=qR7gtKgwskJMPmB+kH9jF{8M0fmjM_2cCzv?WE>A9h z7$1?TS~1mk2JKYEb<_Bas%5g3{a;WfCOSi`Y8g?ZnvZe*yHXYlm91lnc#_O%<{8W| zpCz8hG?r1|gNnGv>O++Aj3zaC`w9lOS+g-0zNkvo_i>k#S#G8N=xqw+kmu`kyym_v z-6-%rhr|VRQPeXRkYf2auQg?TWWylxmM^b8kQ8s$T9#Rqtt&tCp-&4OTqM^LH!p`u z)>u*dN8Tzl;#cTq$gj{$s8gr^WgTK?GTY+G<7DmB-|GW{z$Ewj`C0FY%m4S;l86=?9|Mw;h} zu}*SS3K>=wF%6&hCbEoxRlb|SI(u0Ha2&H)-a4A2RxrT_qG%|$^Dx5J?EKo`{UoY3jmL?9EXj?7)Eek4NGwj z57dyiQLy0&$VM0m7@HLVv(wu<6c||vJ7KgYVC6R}g$X`E5!B;no%>#lxcQR#fZlai6agXdn;OW|ZSAzq5VS%ok!uAYR+=b(^i{ zq2e6BMkww0M}7jgP)s0>SOTMJa4?sEiv{*wmkLa%;&Pkn<@Lr+t4Ro%FKi&o0Bz=L z@L|7RQH-+%LG1*`G44LVgyigb=MY};42D;{FzesrXOME$Ena-Wq~{jh(mBi%L!4gz z{=#aBB*%<)n4rQWm8bd45;KJy=K|(1&YHWdoy80$SYs$3OtDV=JoRy;nBjUF#wE+7 zjaeHh0sP^SK$;?b%w5WuEKIxJR~SwySktq+?l}u2Q%r_tn$l$sm0fx+kS3!!yng%8 zJ*|o8M3dW^Eyn(Nt|XNh_Q3dqi4YDwB?C#T*?CiP>+6o=MDOb>rHF(YzWAwksk;w)Wcrza@1`Fg9EqKp(k69Jh#(u2cfd3PSF++ z>?1-}4&Q_)0&{hi?YhH3`0f$=b~WO>LG+f=i#h`H`$N||-gW!B3uy@?Pe$EW!BH6X z1gt`hUy*Gkiyl(3N-0{EiA9y#k46J8cor&hnb}OI?Vh@6B(RxA92PszLIR5_xYcoc zM_YTXcHj-ks8DQRgXb}MG2TWM5gEh@Bq>vLm*|bt`=Rs$qCEZtc~KreDaR_~YAGk1 zdD;98!}yMv+>y4-oueUlOxw(#<9X>DVz#W<<^)Ke(3v@#u z*FVoB<(CT*h+&Shf;44Tr7Nmj;sIXhToapk zjRjUowHPaxs1?fc0Q^U~I>SR`am-#B&bAp}gL%z?hJ~9JgSf(q5aKTq;u5t>UQuw^ z%H(eNIK8W0m{+QBx8}^qIlkI`b>f}koYVZuF@|0=&OX2$O@3SdA!kO^!EKUKafca- Ss6wlns6sg+$#`COyZaAtUw{_? literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/NumMatrixII.class b/leetcode/out/production/solution/NumMatrixII.class new file mode 100644 index 0000000000000000000000000000000000000000..008610367eb1bbf85e9a08cd8061183b0721b616 GIT binary patch literal 1429 zcmYjRL2naR5dNO`?JjW~CjpicY=_VUNY<^Lm~?3cbsG?a9N^f|_sMx(2Ow=FPmBdGmeqc7OlxmjeK+ zxR^#7AC6%RB@ty8lcJYJtfVO_A}+XCb@7pc+T~m0+fmSQuhmkpZr-Frclx{c6r9UZ zCyJ|FEYiKS#f_`oCZi_TqfYC~{_b|G_f5FnrswE-w-L6t!d@iy(5ZGUC8{u7($L_e-zuOFB7IqeEHFLDp>;Az08r?SK{gBdb zw%Tz>>t3HgYz8i|_c2;uw{AsUf^sFU3jb=fkS=~e^9(xoD#{e}Bn>j$&e+gAQ_zCHvRXKPB{oF4e>?7rixev?t zU(k2~>o@4sK5S#_x_ERw@j2F~d5L<01*=++ohLZ%=L^MrrBM1A?n6uM4gP(YqWtSQ zkF;={GGLn^X3gfN_)N2{_qcN!9?Cd@t2l`b%-~y`!Z!77+8xs4G0SJxCVeLe)WS6^ zF*8Hpgu|#AYFV9PWrZBqvv3AHBIP3Q8q}|FLA}D5I>gCC5}}0lAu*E-aGBE)<#j^JXzrJO~H^ZDGFK5{OJiA}ua}E`p$LCli>ht)X_8k-r6JM~`i?oFahdf*{ zOxV)@h>12i%@CdV=7v1ASzoxz;VZn)l{P#bgOkN;%qWsGL2}L>a!4t;jtM#VlPL}h ztyxupu08!2fxsr1$Cwq498Xs~yHv0K53wl_|M3{>>G%QJ+Z+5*c*Y{hJ(x9Ymv~H> zeJm5n3J+YSEaNl&e`MZO9y-n51*OgSj}1z>zH1|tYa^6vLzF4z&ks?8`T8|nK_+8A zEyxtkk~;G};1LT8ZGp^kG1@d&r=g;7=FI&ZZ?DkA`;pNR;pCPj|3ZRR3ci%s;LOJC>F7{D_LL_HcYZOa_7*Q zUVE_4FwS`K(ucV~(Q`b%oMW_^;Ze6gKf z<_7Yf@60)++;K+eel_OyW+qZ5_L}&J02F4~d3SPa{9OLkKsljK-BQ@OO=1%tD>O{F zbDr%lm)QT<|Ke?5$d)AA8%gHqL~*$^GLXAXDHre&Z&`m~&Q7&cyr*>gT-glx)9Pl9{m=mYwlgPDnD}vke0Z&2>L%k<8i! z&R9J8l656#uIH*kWTxo(w(F7n2&b`{r#)E>9t`Yeei_<%yFBLHk+4Z|*S+A-wrT%T zOSF!-oP}P>(2t(9Sg+D8qPzvQ;s_n@I4a zunQer>8##@jtF&A9X~|JI#6vkH#^>E{_K-vHF0S0?h{c$6srPmS4 zhARg>IGFKp+`JDfCHwfQz7cr-8rQ#Ja4je(izdoZCT!&MXCcOOJNHgLbNhK3l;@Hi zo@H+r*xg0yCt1EUa19OgY^CjPc0b7VE&ju_k6{lblk4H?Et{z}DpD731)VA4x0lf9 zxQu=1W=$MMyu(|a*+DRj7l@iTpwu($c#e=d_>8GSGXE8~Z z{_d=|7^MY>Z8J-evb!qwwQ^!XYAGic6dMXs>-1`3j@}w8cdM+db^HizOv~zVot(6# z;`$S4Q|r(tR&^5dXaA6%(4S@vEgL58#sg#%dOVyNGE)gtOJ@?Mp8gKTV}wJvLX|Em zt*%-PGsw?RU@~N6NVpFIF;%z330xaOxQ7<9*-L5@`Z}V4*Y9yd+SUVRPq7`aHG{Y| z6Vn9uJve|P1n)fIyH2@)J}jaiOGse_X?(%C{SpW970>s`=qAe%O2V>E@BQ@YCQoJh zi!RJ8Yc(*}YTT|>xixT?8Bzp&k&)BPpa=PcWrG^9+7KnNdbehkp_NR)KA8U^Vq%a3 z&>qafA*KGo(HCeo@t#s$m3iP>#vt5uw4Gml{@2se+>r0_L% zi`1;}6IzCh-oAwKEn+D``EcV8`Cuz3?h1k(<|rH?ibJeFhod;g-*AA=Ay%H|w{wJA zL(~fPcwEJg6)^g zr?&*^NiodJ{{c>3*;w5W5IG;MTcwE~lf$k~%3?qcS@DKC84}B$>Gn8gtJKN<6aBJU zN!9{ts~8TF^r5l5X3wv_wx?g~33%`Yrp_lBvguZ)^KPr%*-MiWS0MQ_RveHEeCis# z7OkLl*M2~JuhIdvR|Uy}cw$t5aUu}cF-gs4ahG*A_Ayvju?%7_h-*Qtnn#iB2cN&7 zu;?K6s=y4KgSciPk?F@OsvUo2GbQG8Dg-RhT0&QsBNa)b*H5rGf{~|{wtk(y(p7Ra zES4vypO%lmv26^N{!LN@Z*)m>l1I#u{AE&IBl#O>U>nnTh7iv&gAB7Ma1n=S;schd zlOM5{XPupFQ3F$?<=}{&A+3w|xIiSi;T@-h{EBhB<*cyUd5DNeaV{_q@02urA9F%l R0si2DY6OZS=UL$3(m$9_a=ZWl literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/NumberOfIslands.class b/leetcode/out/production/solution/NumberOfIslands.class new file mode 100644 index 0000000000000000000000000000000000000000..86f62021deec13182e2f8fd2fe309311eff375cc GIT binary patch literal 1610 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 A%m4rY literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/OneEditDistance.class b/leetcode/out/production/solution/OneEditDistance.class new file mode 100644 index 0000000000000000000000000000000000000000..7b7537232f777e303f0dd3910b43c9e83c561074 GIT binary patch literal 863 zcmZuu%Wl(96rAfvoVbQI4?`&g+CphwG!jBx5EK=)fGVX_BB+b5a2%7kxDLb)>Id*2 zl`5oevSAY>g!lkH3Go^`k%&?j9-lMkoO@@^{r>yQHvkW?p(BYKI`X)wL&L2oT8>~P zf>jN-HQW(MJaTs&-D^7n^9|Q`o)3;&PXDFV^2lTwJ=^jQtiBuN6H*Dg zZXl3u?EB7>wj1uaL1_85QzPdFGo-+Jp>brrx2m4ycdE^>@A{qEMW%QtAY6XC{CIli zVhanQfD|+cA>mRpwCp!~*4v3Lz1bV|ZRe>QDbLO5*oZV3NI}=IX5cQ?4J;sSpn#%* z63PZDxW^sL%n2;~Q@`Ija%^gtqQ-`}QP1%^VK?3=EhOx&)ql)ZrLbGv7DxqyRuFp^ zFiHK-UBY=cusnJx+L|7z(o#HYAy5EC)UH8D2E z4Y-VXW;B2_k;7sM3Oj+5@(5DBLfBODrt%SbsX|H~no7RSRF#MFrfRDBGwhU2bp)jn z<0-0aKZ6;QDoN$l2&^ZDWa4<5`=E;RKVLa<3QakOA`f}DOnt!p7!y>bQC$*?G`P%c zm8#3s{gA4+Sb2dgUX$~1HTG7g{xv*9hP)a%nYfIi9L(7H39c}bSPwXr<&ASV<_%f8 ezs8vylE1JhMCvCbQOW**n%at%y2P4<>wf`7^re>o literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PaintHouse.class b/leetcode/out/production/solution/PaintHouse.class new file mode 100644 index 0000000000000000000000000000000000000000..364ea8621f282a943cd701370973edc7917b12e0 GIT binary patch literal 671 zcmYL_%Wl&^6o&utjK>h%rWXtpDA00CY2-kK%mS26B}habl$_F zKxI20598!{YKf}Tq2ZzVWPG^L9#(za#vSHP!vb?Qp)oMoeq*bDn8ak8ol0F(9FU3F zB&@Ybj1@?Jm0b=fLeqNm8axG0_rWp5_cDBr)`r1-p4Oivpn?mf=3|Bmi-je$P4@M# zN>?^zq-5mENC$fTRm(x*JCB zXDz;-9#3Lr!8eYQuz2@MFvSjYdvG^^ZyY$$<%1M`5y#(i!j_2Wuhb0eJ1sCuKFWKlC6C7Os E2Y(J{od5s; literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PaintHouseII.class b/leetcode/out/production/solution/PaintHouseII.class new file mode 100644 index 0000000000000000000000000000000000000000..15b5a26fb1265eea3b562585aac685b68c745b08 GIT binary patch literal 887 zcmZWmO-~b16g{u=@jBB2)9M3MKtV~UHPjF@8zGg9U>;#ZlEU^$OVR0Bfq-y*x&1$>hCosV6Qeit!nTfOw8xb`kSx$Z~QDw zNG1|os{4)YlGliW?Vu%)Ju4P)P9;w(wV)bd8aiJx`BI<{NX9g8C7yz(as4~Qw|?4U zH2WkS5oZSiWQagKgkeS&i(kArXjKZ2zkadx3#!sVmgcSG(APz1&m+;4m{+rLfsn9;RUm= zpsEA_3~t~)YaM20@RA)I&X`4+eH_j#;2FC)oIJ)} zipZpw{gbCl&?qzfU3iOeW>fUk;XH@lb7@ISZ}*X~@@dfucqT?mhR@4N4wd(V0Aef#tID}WWa35;Mi4g+%un3z}5 zf{Dch{T&lI6M2Ey{h$?e*97!jeoH_;Y}b8((Q?r8tG(v7A3pWA8_bNA+cmGT<%NOT zpC@H^C+G-FlplMIpj8jsO`pI$zg`YH-BkfA=nPK;uH?$mQpO%(!W=pXoDhvX(MH@@6Yw*1!w%T}bysP~%9 zH5D8N;Wa>r@7POHGbSRJF^bSh5OJwe7jhIWEfk*=a*uIl00&qA>ez3P;tTQY1} ze1|z(9z)s&&084yk=kmdD4~^%!?W-5h;8+VN`YL-50axssUl4s)66Z9&@wY?B=mss z6Qm-#Yply5k1_5g94r!%BAztQC8%heIerA9CKzd~+`uFw9aF5dVVpvmu(>j)NDiX( zZ;sN`^PKB{&vMn+{Q~2e-bbubtU4#iI*}Sj-M}Yku0vzX^5NMJbuk|Z7$}>KUSyJ2 zIYk{dIc0E@&1d-y78vDlD^j$=A>$m)&q1CXccH^&mC_N%JZqJXB+=6sIxJ`x?6a)9 IO|*uYzj0QhEC2ui literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PalindromeNumber.class b/leetcode/out/production/solution/PalindromeNumber.class new file mode 100644 index 0000000000000000000000000000000000000000..a87c04d29754b50cf358ea09cc0322000e1c585d GIT binary patch literal 530 zcmZ8c%SyvQ6g|_Vsm5w!wJIh>M3B}+>q2m$tqVaAe1YP^-LwXqnl_R~(SH#HUAXDS zl_2N`_!a(xI}!Cv3@@Yu`iC;~RGol&)be_&w-GLn5|=j1 zM*>h+z-yfrn}*(n}t7uUoDlkypUPwNDEm1n}k%m>dWp) zb+^%Wn-OM_;%C)Mff|seH&|5}1!H>Q5#k|kXXuR>6c}Kh{T;v{OjZIzF`|~ANvSig z+1E&GeZA(`mg(PN$g#{;?f&~+uNR$L%-W7`nP+xU`5QG^WWUZKpF?kYpA;I@*?ArT zDV08h#|KzX@!$+kRxpf3<~5AQvKBZsjX9zt@z2&0fs}(BF(rN(7PAyLz|1f{Aw*8O N!bkjxJn8 z$18rzyV1R~>;<2?%S~#AEA5)wTyz6p?R!cYuJ|2+6P258({I&-_8sr0>j#}F-muoM z5*W>VQCW4@-9poCH44=*@LP?ku~^j&{br%!cS3rKRgN-;FQ9+l4(g0>@(5Sv9(bK@ zGZYv)e9K6GzIWI5bH4J7?ex+6D9Lgw^cr3;RpKLXtQxwtZ|B{$2)&6JfmGFRwA`>8 zkfF-+;CudPLw={9Re_6{IM=5MJggb}Tp&>!CxNp{n4r+)2zqStVEC|8?~ul_>9uI1 zmWilIt_oPyb~mVb*L>9pFZ8F?xul9};}`~6r>MYDHD`jry{k%U<2Ag_CON2mk5(JA z_|U{hHm+fgblUhBWfNCze1hvXDwt;*Jrj(zKDcLLdDW}2{DTKkRlq)*xX%R4b+_5| z7QPV}$&`Ct*H`0xuY=^-cZS=EZ|ra0IPg);tGV^Mfb(>r_KjHbBtv*g)2PE*npD*7wLN_r7zh&)Npvv`T<)6^bB=fyv;#d!8HbiU+X(fTR}o0U$Ax(q|4sITQ7AXUn9DoU-WryY4) z){BOtJH{sF96h}WJLl*RU~OR_&wZU@(R7UXz}P=9;)A4PI>}$5Yxg#Ev0?0O?d`~W z45LNdT!=!RVoImU${C_Kiz4wXP+BBYpHb&BQN_!bv@KE|#RZtONZ}%-Bw4H?LxyxR zb{%7s3P$Kv2YbwG z-31H&K-CSRDrE;{kq{7%4M-p%Hn8AN@B^xfaPHVnLX$-;-^cen_nz;&^V`4Q{s7>4 zTnytdCc@mkpkp$O0472>ffom1;3XZ$q$MwfsXe+Q+O+N3 z-mE|%mA)XL6qRUOZE#!GhFV~FZ-%?TXd zYf_|1K&)~UIcyH%NA~8W!R5FtaHP6Vp39Ee;FYV@w*+GUzuAXt{o9S+7dX8aW|rqY zaX&!MZ~IRB#>vP7WzVc#nK##bI{k{A(J`vyEQu@I4cGKKEpk8i0K`2oXt><$v})El zTUIr(f8mbHIvF^Eh>kM`&fyh-A-{ILOSxC9x-6HDR}B=AFffPL43sc$U;*cO0|SeA z-M||t3mn`X+V*7Pih(!5ev9pY09JpeRn9N3S~Zq^m#W)6to%;qqGz>Cui0WtJC@t< zR{WM`mqd4b3QfmhDt0HkCVX~&v2y91Qn6g2t68tpbvMyn*r_yIM60csty4ULk}9V8 zXoB`OSS+=>h5LtKarG6myihezpobw4?;-pA?i_PUzR6I#v)uNd z3;9YFi#@>I&j^p>5I+d=HvslLBAky>8s{pws$&}vcYN~@XRWJ5lzXGMkKrLoe9ee6 z34_HyP!Xo?@60*|W|GR%_XsRx1K%NVX#+|*8_0bPbraeEE+&&dLm$X1fk`#0CO^Zi zY*ba2`ksMFEviM;oA@{r)z%TrL{-k8qAj&*{U#!DC8{Y)IR@1yuA?eNDO9ptHxUxZ z>v4S(VS($Ik-I^GpJ3#J5+WYlz=3=y9%6P0yN-k1Q~8I;#Y0``_STQrG;w?D{c9@c zYBrhsikDL$37I2fAcrbhl>Hf_`~)pyq-cWDNs=>1YThL|AK?+)Kmwm5iEr>Ie!(z) zrTq{3{)H!fQr||1_7Qp}xVwQ2eG>?xfKM1P%mQTb1s>y0l>`$(k}r27tR+8!_>=g< zEQEpInRApM?lF9cr*MoXewv;m)N~P2+XyKlbp6x5KZvVu5lYjM(eaGXk=3EIA?_h6 bviERQ$ML%;+=a?Nn?<(IvxI-n-{t-Tprdxl literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PalindromePartitioningII.class b/leetcode/out/production/solution/PalindromePartitioningII.class new file mode 100644 index 0000000000000000000000000000000000000000..7f08222b53a81e47d98abb4c0a078df47dd84549 GIT binary patch literal 923 zcmZ`$OHUJF6g}U(J}pJCGV&@4iqcZ2m4{t`nivw2G3B8=7Lu4w+p!Fksg8rujV$C( zxG_c+Zrr%RM~pi+{v%DKo*76mF-$Vwckj99-Z|&a&x5bu0ZigX0;e&Yz!hAT7?2oI zcUrAhlxGsiVpJk0aZSLu>G@uGTR_cZR|T}0X3Z7oD0#j+zr9s)gJq}EAd)IIt4?Fp z3A`vj0=016dn(XZT67woUkjRB?xGWfUg$M_&#&9|G(WKA`7_(0fSD<6IM19y!}05d zr7$32I%^Av4Zgh9YQz#AU(QVZPiDcVLef}Q)}q!&Y+GA)9q(IL}(*!z? zdlxDjZk5LVfey`cH4WFVhwJg~>Bgw8JHZ`NwTzve5jb-^WX_3cT%~}XvF)slA)MkL zjvfWHi8h`|W(D4Yw?6s_;$vKH=V`lQbjov7Yl4aAdOqtippCOCJt`zTEUo7Hf(^%NmnZ2>n`45z#B9cB8iP8ROq2ncbSyedcIl28*(~Snw7=VTg>=}m9V!@EOC^0A`h9p$3{tuEuSmtl&zoV&|?xq`dx{;2&z+V-ZaJ1i#xW^>|cD~xuuXU-d{YI%4g`VG7Ej$qr4p)WC z<9fiw%g6sMC2ZUE1xzRC`jJ3to3)1D?FbClBJI3*s9z?8iO4yHDTR4~bS>zHj(gvW z_2iCuP9QJESQ%JQ3Ue9cQOIBcizNPUxxnbLj*WWDbx3m})Rz_mQj|sJM$}9uP2Qm> zs5EtWHw^V#&OKk)uJBzXUn%}l;15u=13Zf(?PJoGMcZ7G@8p}EvfMM7|6$A7eOP-^(0LCf4}DV)yq3_!qD+!m zn5U!?_v_5Akoz8^8{8k0cbmk|Fq)`YW8FNdM|f6PMGj*aPe#)^Qb;{GjR|Tr;lgG% z#msX|Vv4<2*m;^Ui7YAD^^gwVG^a2l6lN992oCfoW`4sI;uo?5gLmQ?pJjOp=l%kv Ct(WTn literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PalindromePermutationII.class b/leetcode/out/production/solution/PalindromePermutationII.class new file mode 100644 index 0000000000000000000000000000000000000000..bb64b0af8c10cad33ea13bdd6acd0f9eaf8037f4 GIT binary patch literal 2285 zcmbtVOH&+G6#jaqA22lGIS>-YM8!A^uMo%(9T+9V7<70?NJye-W;)Q&^h`B9lu4Ct zWaHLdTv!$x7M5k$kSG>Ez<*+u3zt^Pa{TT*GQfnCRaSN1d+xdCp2zo{+x^==zZ?J< z#99E&7zrSb_cXj8fFC0oMgvfUQo+?KjEVVL03YDGkUkW{jR2Z3E~JlY@G%lXnh?XJ z7^XB#YnYLs4qJ}p#U=Q|o%0gpv2@CmP?xYAb27WWWV$zvC7YVYL^^5M^M-4Qbx|pM zE7pdDw#2kyTTaSNubb1RyPow7&q_Pv<1qT?MW-U8qx{RuBFdb2I%h8%2W=eH;9P>I{;Vl-YquM#oNUlv7nLJz?W;I;UFsI=r z`P1-;gz7nK*)hDV%V<~r112W~QddknW4aRJl|D*!Ri=2Xh?wBtpUl$D?Ei4{(iDa3 zz+5`(Ce7=XfVREd4o5nsSJ0v(h!(=7V;&0Q=&U0w4T7Aj$61b0b*X% za7V{o+!KpWb$o{VI)-pXhk+&Xpd*Qt4igV_EMrB71-4r23CXdY$}y*wR?Vd7u(GPq z$f5z+v!@PcE%GgtVWs=#OkN_}dQ`YrHC}pb#c)Sm*LcXb4R?yes*%ZDxs&6sM0-pseMy9SrODodZKHzO~cNbQx7DZJ{s26Zzccf;f?hhDHa?&Tu~{^qPX1xB*G|%$2*CTo-%FIGxN|<+fHpohnI0u zEoZ}YX%`BQzXDLa&TnQjKf2&YmbsvXV=GsEoY_)PB2OXhQt;t4M>Vh1&_-D=7~l-f za#f9XglNUX(w~r_QMcP5;nzSSvIpNp_d(nrm4k9<8?D_zc`&MU1(mzK^8KkTS=!0{ zz7PNHr;sQ1p>S3wY3z?GL8a?p8`o&st7IPIY*2m-rTa-x`6en;DfIFq`SU4%R1K

H6O^AJumeSCYWARaKSOQz6DBR^3!Nk` zqC^$7EbA2B;@pLL44?rqH1gNfgd0R|hM3J0wOc%OkFZz-BTFd0;QSSBzQ%d{M3eO6N;jMCE^loSCO-b4py6+bZM1wuT4FYz|Qgf@mvbRt5g;@Ds| z=a_4EKFg9-53PEsNh6SBqKbw-4Hq@^OXTt|wB?wsT2fxpFd+0T^?$=BJx9xPC^;tj z;#A%MKAQ2#F_mLG{=$yNKlWt?^&yIY_|_D=poZy*k}UFn>RTe*^)u>xSlIQ)LqfHU znb3C#MnZe2kA&nDr|+Te;BsCQmBrMs5GgVjl*wsVo;?ah!XhD|Zd};%ljI*on-dWx>!O6CR?SU`Qs*^LbwUqKG{5 n6eztzhKL)b0xu;F3YroJIurscNuhq?S_J4_o{RCM55xZg`R@j4 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PartitionList.class b/leetcode/out/production/solution/PartitionList.class new file mode 100644 index 0000000000000000000000000000000000000000..89911a67b9db035cdd072ed672435d81f19ffacd GIT binary patch literal 723 zcmY+APfrt36vfY-znwBztY{rXDxfgfKqGP08Ws|bO~yh}L#n&iGLeBgZOTCSJZ{)( zq9M`5r3*g-9|k-#r6|qxzH`sJ_rBkIe=dIf0`MGu9yaD|l=IN=$YGdI!-9=P8;=Fn ziztqg4T0{j>Fg64wKST> z9=uh93?jQnnL}FrqhU9E9c8dLc-HpSv2u}vBgl}cYQ}2K^o*KS`3=AF4aV$e6g;!?;XBNlc?#FF zM%v=08Ju38dzNs|V-pRkRW4t6nvRrbEsF-RP23^f46iW9Y>6D}B&?HelVlCDwQxJ* zeludb=5Et3W_M|G#xx(o!4~e))0w}*Jt~9oB}!B#&)C3yDhnP7$}lcz**0cuJP`h` PKcJMeIe3<38Xo=y$3u8D literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PascalTriangleII.class b/leetcode/out/production/solution/PascalTriangleII.class new file mode 100644 index 0000000000000000000000000000000000000000..0bf61ec6d2d856297a55f147fc207ee5ee8e76da GIT binary patch literal 1117 zcmZ`%YflqV5IwiM+bv~zQ+yx@%A;VVDp(b;36dC_6hR>njWKT9wQOCtWV;3Nv%f@R z{Hk9>G%@HQrjU-pz=)2~C_)%%MjT`E7}s$w ziZBxLI4_Y2c_ejQ&~Z^9JZrnQpB7N!W2*w{e7Rr=v}JAAx?O#mv%D2E=Md@4mh+~w zYI?Tx>!9kd+Z7pGGAoR(Fz6N?E0dXF;iBc=EpG{Q#WQ2slDTOntG?|dvv$R2Sh)N$ z{7P)P;aQtBZGnha-paTI>lsmpnF8%c-}W?e+1}XWGkhp_w&puzmCU%lRkXaBG@G|9 z`)2;hg1HgQq2rQ3)3RN3O~2}K*7#Az|Em;TE?2$0b<>s_#SY6bA;&h*f>z3~FTtGW zncGqab~Z4HDFc_066gq04ze|HMMkgUnt^G|7?{O%N^-alq5Y?exssKqaIO0dWiJX^ zv7eJA7fsz2u7`~OP8xKrJ*7Yq+x1sXr^>vOD literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PascalsTriangle.class b/leetcode/out/production/solution/PascalsTriangle.class new file mode 100644 index 0000000000000000000000000000000000000000..8dd48a0680c265979bb6b7368c00a6e47ffe640e GIT binary patch literal 1300 zcma)6Sx*yD6#i~IWuO!&OHsrP6e*QbTqsJhiYQ5w0!9!b#)N4*)~UmkOs5!p=9loG zuliD4663Rpe~1|LyVF|A^59J7+;h%%_H)~x2VcJfxQ#hK+7VH4-472Uel%lLa#2af zB#EgQm+Bi*xGBl4R{Bk-h^v?sXqq-G!$}Hw!y_vK%4{*G3v{FnOJ68&WORF3%b3)3 zrHfh3T+wVp$~C3pyf#V#o#`i9iD+q=sFgSMgg|p%w{%-`=-M4ljid|OmKG~Jh8as6 zC5Hy0z%Rwm5Kyi1#?#_khEg@tv|TQE(#119gd1S+=@WUl99JGr)+Z&Qzr-U z|F!s+ie)>i&lz$XJ;w$=B!gPLFvZjwKWb9y%{(3VPNNXg|y>=ge(xX=Yhpd?nCZZ@n=cN9@&dITx;u z+C{7J67GF08SmIHFDI{xH?K2j=xC^#F>jnvqjTn zJ4VrRD+txFBbBXT0B!u`$;ShZ2SL(KN->^-r!TSx@yUg|NSj=xf^PDGssVZsqQvHL zhC%2oBD8Cw&i)3^^F4UyYv+PDu7s5SU93gD%4aAQ_>{OWJZ?b9GO_CK4A&#@O^ilH?=g28U>{^GC>!*$@qUU*BV7EbJa1oc_ t#bsLdQd7kS>ewK$D=wxSpj*XN6+_}TI>kOF_8IvaF%O0rHSBUDe*t*~DG~qx literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PathSum.class b/leetcode/out/production/solution/PathSum.class new file mode 100644 index 0000000000000000000000000000000000000000..33388e7da322422dd1a066f6263d2d1c95ddc594 GIT binary patch literal 581 zcmYLFOH0E*7@Y0qVPmwl)^~k-unP9#%?E;@2=xIK58k#l+GyHHn)+Y#4BAVO+z6hJphNlQyPoObb}+e$$UP1>|D! zM8Mb%&pd%l*>8FW?MBs$j#V`vlPiZc6`ZKZ*L^}7aoukTq{~Mtu2YkS30+DBm+Q}j=BaI4)A5PJfBl~~oT_SJP_?^MEeRP%Ox9l%XoS1#3! za?yjdjTslS$hnx)Fps>846*|DUx2I@mjcziC>>TWy&7lt{3c?Wz&j^nM*c;eRorN9v6#k~&va~GaB2+5i4bip;^}A*f;@wd zAc;vu6MstLLm9u>U7%D$$Rsm!E_2RzzH{dHpYJ~bjN(-caimpbVhAA}Lo0@&xQpQ! zMv!g6J=~Y#1GznvE~8R6Cbw}F6DlSJnx?Ii<<1C%Q|V;^Wv*N_1={jf$y}&zub9q~ zv0_uxnJ=#z_OjtvQVx`gyJ1xXTJmoUccW0<&gFCgb;lP3`cwHO$21ohQqQIHo5rq@ zt-6+-&07_ho{Cd0y8^LOFT$u)w*^Fw$Q-j$wP|nv_hsTNnh!h2h$b3*r~fb8Mrl2p zE4k*n>F6_D0?~rCUNYRO!(yMG2mIn8N9w~g0MQ#|kA0iO2n;sZf{YEI1zHQPvAXrz z*a_OPc}~8IqP|dSi8WRzSDjUJ-jdT1KN)}#*<}rFXcy?J?|5m;EXuxXNZ_W5M;fNk zt3uZ>jmIixG(5pm4bPC&Fe|q<%xQRz7aHdAlKnYJ!HMt!dweXeY?`a&toeA-I6}LI zEzoi56EvEmNlVpSToXv7jtBA#tE{9RvusA#C>8~}Q$8_uIra2=j<9X6(JA6s>l-|i zftxqwb7k8mHmh9Hz2;V|JyOMg<`4IFd6#1MSs;EnI&SbU$N9&BF!&wO&b@kuvMQ1K9&A1@j>M$dJWtSTN0<7@)RoRlJDvx`h-SoIX^)>-K+Yb~(WBJ0{> zRUa{cPZ;#r8ucqXVQc?{t^I&4)*Y}VZv%{_c)TUZj&GB^`LR|?nm=@=)VahwY>mqU3gcXg(6G~53p(B zAvO){Tc}~(LR}gM8?0ZHu(2#^hu-A8eK@%AhlE@CKM|)1{g2G(ad1B3sa|;@S8H(Z z@~44Az@)v!sLfOG)SVlMYdQ)n+Cq}#IP|Ub0!pwMu{rM0%HsDF(|Fq2PqXJV%FP=n zO||unsZ^!}mHsL(l~`aWa!y*3$*~w~SWjBmxQh)|YP@?7_gSmRm1NC6GcTJ}8^57l zr`=Si@f}*yS9*Hl$tl!iiY?9oN@*0+xmXJoM%&ooUrv^yRCAPSj#AA~*e*laN>qhT zCcaR{^d)2JBupeIl)u7ks;4dO!(qxMlV@B^f~uGEa6wt&(*S#v+9ze5WDdKxu*=7J dj%Q1xot(6jlXh~_&Jw8xMK2MuOl1X+{s9BpfH?pF literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PeekingIterator.class b/leetcode/out/production/solution/PeekingIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..3531bafe501664fe116e98f604ec3e645929e437 GIT binary patch literal 1228 zcmZuvQE$>v7(KTI3alFp*e1#*s8c9&XyO~oqA@X9g4>dr#rR~04eJJlbj9dT@fY~w z!%Un;AB<0$_@j*Hwgt;<2=}}9>vzvN-?`uKKi|Fsc!2v^WN_ATqwc6yNx()P5+<=LxmN0aLtaWdjt^RSj0UYbI^68}!egfoMBAs;J4Y6~4tKAc6e9`amR~ z=l?MhV5^6yar!c#I4Jy)nfrMTt%3#qDT4bXbBieOT;%CFqr#XqzCakw3n(9XQc>c% zzzE_ch?F7L5>LxPHRB3TyoW13OPPDg7GxHtyjQuqh6-27_L8?{P0jcO^(WFYoEuz~ zuSf{|K=J~rpJY)WqCk33xJJ=BK`N9cg#=`^P{^uZFJzKFhHQhdw`#zalc8e>QZ&z_ zoaa-rWx50E)rg^Em6U6wtWG=E`Q*&R>w!Y%wM94qD

Jk2F<|Ag7=f)rTVgNKQ`(-U`8!#%E|!yy8Ds0Hj8Mk|B^14#7>_@~hYX E0t`s#Qvd(} literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PerfectRectangle.class b/leetcode/out/production/solution/PerfectRectangle.class new file mode 100644 index 0000000000000000000000000000000000000000..718f16e7d921015fb58056c746648cee48102752 GIT binary patch literal 1865 zcmaJ>O>Y}j6g|%~<8kb9?6{dUZXMFnq_q?3&?Fd|FPesyxJ}y9v=tB{#k& z%>`*LO7p&sX&qSs|Cm#B+zA0CnVJ_+r%HKSATr|=?JFB=OLqB&wNxMzn> z-4&-Ieb?;rCw9)g&Yx9WF4&_2QKwR0PL=N1W!6eAE@o4=1$>n=GHTVjV+|A- zFfiwqo#Ha1e3e0IhNKy0J7s1hUSy|1iM{MBsW21yyUZgzAj3Af@@*0+6`N6qY6Ui2 zr!X*WRaWL~mlag2Y+C{y|2@y<`resN9gG?~*y#i_h38x=_vx&)?oGoR=t;g79X&cO zvERAUMmc9+bmaKVS0|K~hc{rNL!fPc5ZR(@FUwigxW?XfTsAO+Sp!!vD{y!}s5ZUx z8%`l_mknISHBRN21Rof;A4; z%U$8P*PNn&mds{Td>6`^b(injT3@$|d4WVSn>sMR-CjAw)5!zQ(f`{Ya7%lAv?mX4 zWJblxv#i;ew|1CODLsGLUZWZX0=ZJrwVWcwq*k2I$nXYaaU6$u*W||sWOMX;CskGibJaCEDWwGdMUBiiebR;wkj;ct}l~ zDp5v_hqQFpQv@dBA%EJ`h%%a~OIGgAOIGgAuY8=*pP_|Cg3_^#P|VmySo(;!(K=!@ zb^G_+;ksLEh_1U^o4V`CBXNJ6^&$@us-frtpW!+~z5FZg z-z}HeJBX>)j02;Oy(^J7HB-&6Y(ZBa zK~)}80V9;72ZdfF<&!FH)}q}mpDcgX8bZU zcC&{Un8xcw5ljk|6?zbo+T7KxM7^xVzaa4&PO+QqL(5h>^tzo3suMMC_Hej*LM z;(NS-)4U5w@g36SbY7R*eW>}~r0)!wH5i7d%7Quubqoo9bPV%H2vqSqqD?$H-qMk& de}T5PD(Bcd$=}fa!98*0oV>4Zv#1a6{0o_yb-Dlm literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PerfectSquares.class b/leetcode/out/production/solution/PerfectSquares.class new file mode 100644 index 0000000000000000000000000000000000000000..c2b1c8aa121258dc85ee5d5e3ca38b7a935b1471 GIT binary patch literal 637 zcmY*X&1w@-7(HL+PNq&%+oVbT8B^-p&-uEw69YOk07==k);FLFZ1?uUjX9SDQFfuR3!;Xnx>CS*it~u)J!LE)&+s{Ci^urUu zQuC#W-ukH&G=JP)mf<;z>?+19?5fPd>~4O6e4dVd#`F{v%(Kq?ConIt;|eS? z+RH!5v!c%ewfEg`sd_Q^fCo9Jrc})>7Tki{@4ZJ*P-<(|RrbC@)zqmgA1A*Es-07Z z<=IwH`9vWHcKP~LTv6KP$~3a{yGqCRm}_Kg6MsTG)?A(QJl3#8mdmrrr^-T+{SeEn s9BXf8-Bx*G{8#W81+4Hbu5q4+I>(%c>vE2Hkv}N?<`%&X&QiGf51*ZJcK`qY literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PermutationSequence.class b/leetcode/out/production/solution/PermutationSequence.class new file mode 100644 index 0000000000000000000000000000000000000000..9d2a783b5d5be276c922409ec70b88407e80fd57 GIT binary patch literal 1221 zcmZuvTT>EY7=FHW4~U4TRwV3Trhx`@Fe*juFw^KnQe&f2cF_W>uC5Eg;*3|`_)og% zwr(`D=?8S*Wq+iZv}XZFG+FlB_x!%k^L{@Mzx@C(hR1#c5YsT?hlH3Pqqy0II1(C? zeyE6f$}La2?HzYC+|@89pr$Rya;F4ZqOk=5`Dw9W3Up*F$DFHff-9!mOLWM#RdEG6>&aEuvXdEFm?~9r0^$FPKB-!E z!7MYN_w?jjrQ_*`&J;^G6`6HhbA{F$W0`Y5?sB3S6kcZcOg1n+0!v4XFU`;{huM@DSqyp|k8XfCMmsbO4i>3Sb(K z1bWWtM}kh$v$-`hPtJnPjXe^(PGTA`1+-1WuA159+K!r6bW8-dVHCIm;+$e662R(Xf#f=aK7^RZwZ8v^ig{GqQOL4M4pIfY($YHd3w8rhh0NQxEWIVkYawjGh*fA`PDTjcBk zq&ItL8JFdhqAQV)7>w%*|8gOrE34VCtSet3??aKWxTA|cG0@HqcZtdSlNaDGe?l&jXhPvq;Y&7{Cs*id_U2~ zh&M$!O+eGM&Je^a!dOBt3J9S>eG3eLu6NFr3kyWu#b&PxXjsRcz>_pD(ej}(j&C)yGGw2En&!q=+$st!;tucp}z=f O7^W0w=nV!)i2eibb_m!2 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/Permutations.class b/leetcode/out/production/solution/Permutations.class new file mode 100644 index 0000000000000000000000000000000000000000..2335d28ffa56f8b6757f6a151db4cff817a3a324 GIT binary patch literal 1501 zcma)5+fEZv6kTU}rc+931u0sgP`s8FTW_FJtT7t3Nfi^kL`{rC8DMlMWIEOO?vLn; zulgdW2_N83nD`aO7;&95RWABqCNt;kefDLowa*J{W!@1;)!n9Zv%Ng$__ysjkDk8zO2hW< z+PyYtyyvD5#yJ-fMBt~CQ^(eW!)J_22{?qbsp+CI@$ z{( zH@^v5Wv+s&Sy+R3$Bls=exuqck>oxR1|Wq!v`Gi;C343x^h3d%&m|TFlCzHM`11nVfE+GN1bD%?r%6ffg`OOw$}}O%Xc>2UbEQ{7~Bdi z_AS@>HemSC$@|Tz)e(qTAdaddD_PXsg=J^vCSa#N3%MUzO*LX{H?~Wv6t^%XPIaENSsbm$dz({n{ zR|*yAPzgFXd?Q(HK48Ug@_=6){eP~5%f8kA zX3^RT8yn8XF^MlYHUe{Rl6qHdLhgF+J8Mfo5~dj$I`$gL8J@Gg!BzL|F7MOJn}OH1 zuQ_VkM*0V;sstX6u7aykehTp$Hwhf!I~f{N7~(z~IbawgJn;)dfnF-uA(+N> z=s6O1pF&$Kn-%Q|^vbU^Y9UZAbjTn@m^||;z>`r>49IYd;uwKb7{GB934VfJDs5yL zqh*|y1WL5A0a1GK0}Mt0J0)}XXDq};)OE9N6ph{Kq&6)JvXFd?Qqd^L>N6PiR8cRc zen&EaJ3CVR^7=)ks7J@=kfe~R>!oR+c7fB*-l(By6G`Fc z%VX8~@>qGix>O!7Eh&Mb*%}V7&+t7#nrA83xsZ4{3JVF*nP3-5gL%2T#9e~-8UFt$ LYJ##Tyy<@d>9be2 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PlusOne.class b/leetcode/out/production/solution/PlusOne.class new file mode 100644 index 0000000000000000000000000000000000000000..4cba03ccb25695df4518142bdca7462a28a93f5b GIT binary patch literal 492 zcmXX@%SyvQ6g`uqjj7evS|3PJ1QFYm2Em<=jUW`N5h~s2!n6%KwWg(}eu01C&W*UM zD?y|m;CJ{HBGxl81DSj7nLFp)JNf*59|PFIatb;YOe~sM5=idJK!yhb`c|x?^ zzCflX1OH@r+w=!#Ub9OkSL?OBZo?Z$mB*wJUduZHt9IHQ-noIlD`58jA(gkztHtxG zfROwclWln=L)L4G)dxP|Og;2kH^*K-R!r4jhVi+wAzQ5bMx5npzq-3KHCt%p69+m?*tLyhg_+_hdv0OcAI53t%C|Okg@<)a4fn zDba0vY_#_ak65(}m8|uIv|YHU7?-X+vJ1NVpiQ19U#z+ONFA4T!!3_^Nry7pq%0_7 zv7fRVKv({mTd&TQZK~Gn<-Aj^O$g{-0~ClR@)9dB^+fV)%W7r6nsFXe zHZ4~`O!Icdww497YRxLG2}JU%)~1!M*Bm!HFCo?t#H0Uqw&k667jG6!p4G`w+~#MQ zwLISqC&vK^81t3-M#+BSNY~K|#xk-A6K!bcl$shcaSOLi+(D0tyBITZ590#CQ|~4& zBPONyY34#=fv}&>waV|Zb4#mssm2j__3DbiaH3)5+#LtmOs6HaY`>>WcdAqCUTw>N z)z^$(#S^%c_`fDGoh+gst^9uEuLT?p+8H}|%5oK4wUI-J5B_zSG2nv=BHWt|0y@#f z6YHRxkzz3eg-pOneTA0VJwnUEA(YuvA^ioB(ewe-SLr=yg`MLcYHsuZfo){C=${dM zsK(SigyM_iT1@TM!iKkxkX+qdd|M{lIsSfx;6nTmhUBL9LEN;bF$_UMG-w%Q Qi2Q;O8TlwTc*#V60WCtrnE(I) literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/PopulatingNextRightPointersInEachNode.class b/leetcode/out/production/solution/PopulatingNextRightPointersInEachNode.class new file mode 100644 index 0000000000000000000000000000000000000000..9ef5d8c9699db9d5dd7a56594e1372877aa8c42b GIT binary patch literal 1051 zcmb_aO-~b16g{t<>Cn>J4?!#nv|ypMKof%`g24r%X;LbITH|s$jO{>~A;Z+@FJfmx zf|6+B5{-YyxX?xMylExiiiJsg-+kxacjuh*-uLdOF8~%%h#-tH4dW36FcD_R$dHv` zGJ*k2X}G5$ClGpM*_O8|5X{fk1(Y>s#}tTHEZeMh_8X>K(;ICfsfuIh?Yiz-a^D9P zuVozy%v3g=gHBubEW24X-+EhCv*m3%mhGADVcA~SjaHRoR|GV}v2D}v1d{nm%{5Ja zXV0(6kBb9=8&_d6avg{L>P}~W{~c)>9akW>?ditehJN4^p-zE;{^w$%@G5wU;Kp3FxU8g=GdxTyC*Yc#_mdA$=TD$k*h<-h0mPocVeB^*ewSEEaGLw=LW$AcwnoihD}TDRJMz zyoCh;^JO4|WKBS;E%gQT^=QWzC^~`kyXkn~$31rtGBWK%o*VYvI8gpYP)|m|fxwcp z8SST`n*?&$^*<}nV0n?0zLyA;YECcqeRkSY*;dwG zX6+~c&j=Vh>3IB+kX{-SGL9k^nAlESZ?EI-XEdBsps*dKvFE=E6mtEFR8M!^_pXgR z3Ig_JBo%vL;~~m69x3q{Wr4*jmKB&%g`1%(ht1c6-E3&R*3RY({db%|m)sVoi`Bv~ z4~sucJvj)4LwTKElUh(4PmUozXK9<#%z|74ZTtKHCQ+ov&L~l;%fFz(pzbf9p!W^A zx7snZPQAOls#oK%zshya@1JW56^zodB{0D`=n?zb_bqk z92RtrP$c|K;?I$w#%zO;XJlF<)jD$>+`twpc!Qbj)(Q!y(c)L;{RwO^U*-~uJYAus kDgKMulr_VcUcuk1rgJopa1{> literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/Pow.class b/leetcode/out/production/solution/Pow.class new file mode 100644 index 0000000000000000000000000000000000000000..8935703cf7951e2c932308e2699900bee0286284 GIT binary patch literal 598 zcmYjP%StOj5IvnqPbOpH_%>dzS0h5=EX>A@IJi*+CHDbd+)v`5V;&P@;^PDS16SfV z7+eW1`~bg6#8Yh$2f9vGbyb~H&Ah%pzW`Xrq6-`IE;N2>Cge+Hu#mwo1v`k_ac@h( zDz6?Yq_>l!NWrVd?dVUxRg1d+!&;M>iE2_0n}=aHmUx&<_fFz-1zr7@Ty7Fu*K~;G zoxRl^1$D(E*yhmDTiZavzKh1ucEwbSq- z%pn6Ohbc@`tsxqdbfp=#k1Ky`r%}C!BA2wyh8C36(`Ff0h>EEFC#Xkx0JyZaNh*xc z&wUmU^NbWm;n7O-E{CRxj$c~1c|vMH|9ih{`j=oy&9Gm*F^rp;4kj?k+mvV@&U~P_ z4C{kp_Vy0i8xZf2_q|e5>JH!;7en`ju}o{VdX3*Xrk<3Io=!Q5Lp6g@9_N!r+UrlYabfh=?(tqGZp6pAuX{J_GrQyA%{ZZes)Nlj;lG?BXR zuh5+vw{<0mv?IxRrAO__v74q&kOna_j?842|6}(tXODUSQRjzrIWPi z3FvF<`vUU$bQ}vb`spOzEl);q{w5q{%(VK`D9rZ5JXP^cQWi;iD$wcg<)QV$m#!UbuODm+h?Fl;PRbJw(p1jOfgc5Pcgvabp~seuS@3n$kd>4F`}+?7k5JDei;9gL_AHca3hr9iw@|fk zk0GaKa$bGFu+x7Pi&(rCUKq?(6njdB!PEE8g`CdR5fvWGK&lQy#a&rh8#0*Pa3UDi z`!WzO;`6bH-te(cnazIaaev4ospB+hY6%QZF9<}`_4#}*DBNAeQavO^mKUC1@Q7e7 zchnp8YCVQbct~cHcn=v01I4|!r~D$NI&k}E{2g!mJeam$j?aXrj+QeTC_j+XfU8); zHOyaO9G2bwoao;rND3L&+z}0!7K7o|hN#dr z%7G>iRxE0rbkz)6Hm*?CA+LiBy_BgpzJS%gA@iA{3<_lRNnj6G$zEGjVI3P3X#|bN z=%t=htO;Rj^m4;!HI3E>6v&c4`3SpVwwh*Z@`*kh|AAK%@XF%YU+^-vQA)_mL|h{3 z>vS%Q%+?7jJ|V^%DdXdmu~2XPgwdq+6{hA`Zooo_p@Occx!|emVhg9}g|qnBur;LBlNzx8ZOU zEEt&TMG+;A5oOC9V;s{QGYods_hq=;6j3B226NH#y?BWs;}kX+^yQ!-83t;eFV~X& zEg8NNTTSu|)dE*EH$>>E{h3pbcRb=4uf0fQB40{3@S`|P+}I2JCkM}@x4jcDFbsx& zA}Nxg$Enw=1$wEln}iIS`ZQZIXsK$Mb|h2^2Wz|HwWuVq*R0gMND&VIE#{#0TTu2N z>|(vTMEJh-Sh#zuqLu1SCsARr)`KK;hCau}vnC4YksPIjeq z3~iGbG9RHI!`M88xmsGAKAF=qb4Jd{>2Hyr&Ka|h%<`zI&y1Q!;2FFz*t^s3<-WhA*(*6P*qvVT?q8bldd5W#P~dR-m(Vu!vGBt4O#aMK5C{MXsC)BsmzRY`Pej yM;=$G<8fkAZL~dC$#X5Opq*04FI3{UjG>jimi0g#Va07j0Ey~r%((?;(d+l5R literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RandomPickIndex.class b/leetcode/out/production/solution/RandomPickIndex.class new file mode 100644 index 0000000000000000000000000000000000000000..7f0e988be27cf9338ff5baa3fe656d94959782df GIT binary patch literal 705 zcmZ8f%Wl(95IxtviQC{p8n6 zZmDp|z-O6tY?Em0d2<-C_W9MAng#fcAS-M z0r@=c`vO$PFC!K|A;a&%2nh6 zF-DfNLOBueuVhm<+4WP(dT|!u|c zVhVQzrpH$`F^Q6iOE66=qsE=ay8rcrZnWEa)!Xwu>g$%ef)V*gsS~AGmmd-%$L3VpVpI zrTF~k*ZdbY>QE!pxe>5LvL?q^ro06k_i&&7BRt5*S)-6a>>94;1GoPV*2WED{CHS< elb*)>L(J0CF-Kk#`UMOjMDsT}1XoqJtN#VsI#6O4)Cc>^0}ao@e?+>dkb{QURr0>EP|I$U~8uW(jDU5%T21&~CQ9q=b;c*zGq()4h zh>7%~em6Z3&{q`4S?oibM8-cE9tn(Zr$Oh#W^kP8%2q3B6a}2^!7%AWFXC*48!ElS z;4~P6gkt>-hVl(p?{TSmvwawKQY>JES2N!TcqJ%Wn^B#w;Hw^dh4_-un%2%hi5&g0 zs|4iXFcKKe5EhHKY&1$Nt$cU39JFzcb=PTHC?A7!*djBt|MCp3Y%xP_;mTh@}=b~S5?k2?aG>~yq0esS2oWS6Moe` zbFKxWwSfs*O)WXhQRNbKR;jCwaXcaS43l_C?iHr60~ha6!anYxM?b+#w&Ol)maxo< z0^=$cSyy1MI%Zj2AUg*Sw@~DqH>lt?F=aNtzKZdth?!HS>|5fQC5}0zNR>O7$23`q kGWq*Zmu#;!W`ssXW0qF1a`iXVU;a+Zf{Wj5rX?AqXC>E4;6cK8n|t?&5X zbfgc6rA-sb(^}O1SrtP&<{YVD^U))QT2eO5KEy*q*Q`l*f-Kwu&X)1LkyAVPss(uqH6k{fXv=bHkuzPiKuV9+Cbr5&ewYnXI( zwynB-GS&7VQvDs3#pXUH?R+mj6!6+FwCZgIdn!{=uCv3Z@sUmq*9gPM6wMfNRDCxH zS2obaEBFf2Iz`q9s$^phK3M>T+i=%p%>4jg7@iCOzC&N6N(vDlR55 z<)Vyf7p{SMEC?)I(kn1)y4U+EeYgI+yRW0%UgASKd}j&E=rOX4WN}ip$k0A2;Dhnj zVqWl^^S?v*&d<^rEMJ~M8nC|>eY3<06~RiI=QQyuZ|q!+4cjz)zW8+l>3yM=gz@p9 z*vToja~M~--5Q-d;!YcM8E~s6{TP4#$ivv5*>#Q`X4@8Satn)J6So*i+$K8-`4^U` P&(k^|pNv3_Xub%8dbcxaR6k?OHHL%}aKLVe#5+ zvANBVY`a{0cf`+qmK(teue+zZ<_6RIh{zpp8-0trBf;x=pu|+r$TiGz!=uk#+u05H zP3Z4YkBPQDay0#gA@p0Hc~T`I0m*)7X{J4-gFMpRf!&i)R4&|f_=tjx?s%$@0r$S|e)_;%Ksxqw(c z#t_Pin-|yU>^s~XkywN@1TwxO$2P-K@C+w1=bBihml6l54M|mnL;%gC7d^5N{VAxl zdyA|Fq%o2&T!Q6`myq&b5&BG966R=(k|RjFc^YpMCW05p5?{(o$;gAW^%K5F*h^T? ze}PoELRjU!lCX=u{Q>FVGU(R(h**LABA+OEC{TXcE5ABU{HJ^!cd_iztK%M767Ex6 z1XA^Ysr$rf#phI|K+$$GU-*G&k^U>lqQ<{1Dqg;%Un7hMo>!U_72a!Dr#Xy=$Y7DI K1bN43rtdclj2mD8 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RearrangeStringKDistanceApart.class b/leetcode/out/production/solution/RearrangeStringKDistanceApart.class new file mode 100644 index 0000000000000000000000000000000000000000..e72a22dadf4b904c1532eaf2b8a6e76f71918ca2 GIT binary patch literal 2028 zcmah~-*XdH6#j0qKa%YNq3u!v1q8t+)U@&|VvAr2pn*VvVzCsJZL+jW(!9N!|A8+)InMaxt1wFa?k12_W-v3m_ug~P{qA?Zb8hz0 z)9)Vw*o#>MaU3%64u*6b){!xw;D~`Rjv8pku{OMm_oO?khjg4UVB(PUAHX<$O0Gt;~#D@Z1fgS;s)1F)QT>pBIElc!LtnIrb&`0w1v58Bt$;ZS5 z@+Jx(lR9oosT%SKbT&_9%S=0k94l|)GA4CQnQ(DMfW116qCiKpTF-ScF@utcGAbsn z!ZT4tw+SCLflV)^ED&qL4NqKg@+?w|soqku4cIzsnk*Z7wE1PpVTfIOoi$D*W!Uz_ z|1|P=R^E|#YsoX^8TPpCm%Tyh(`W5s%^7C@txsfH+xdCMvh(ahLBMLg0rd<9lNWd+ z*_V_4RB$8N!n#{MI#cn#l?n8foNC@ZWRPOwh$3)ZW5{$7$ zv<+xWFgaN@pvRR5SS@f1o~3r*$C`8`oQ_&iD{=?9hVLtA?Xh{eSS#=o+85A~HsYFP zETHpz$};K{3**DL5sT}V(Q@+gT$G33iz{)Gu}DUa>jdsD-;8Su=$fZM3Z#Iufx0oS z)>5Pn%G8M-SlG>RKe}+7{&S2Rr^H3hJ<58G!rs7k+{6xiiP!KocYKQk=8?ob^x|i{ zjz>u07xdwGyn#RH|C5N1v4A)7{ z83mrugNQ6+qr`HS#7er9$JpOb||zJbrMi%c|f{}g-Z z)%l?X)^TS&ejnrOzJ2ti=^KKnE%V!{>v&Vgexc(n9Rq@g{)Nr|pi{@7*!%?QQ*_aH hfJ+*M==dAE#bZRCP}C6KCQt|mv4NvO!U{+J{smFG&Wiv5 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReconstructItinerary.class b/leetcode/out/production/solution/ReconstructItinerary.class new file mode 100644 index 0000000000000000000000000000000000000000..c508762cb75e2eec4c6e10fa10c1814a36379438 GIT binary patch literal 6271 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 L2i>_Z;lcj`h8_7V literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RecoverBinarySearchTree.class b/leetcode/out/production/solution/RecoverBinarySearchTree.class new file mode 100644 index 0000000000000000000000000000000000000000..6bc13b84792d72f54e91ccafa404e9905b67c4f1 GIT binary patch literal 1549 zcmZ`&TTc^F5dKcPu)QpoQY@l?qKKufRsnAsdWqKF+D^5m5X#+gENi+vZ)Fvl zt5%_0npe;&jG=iRM72G z*_pQ-`iPGYW@={PN#3lu70FN`&ZgWL~@VKB{RKPvx{l>0Sm|e1iW0?0^R#} z@YoKfaW?Thn=)_JtO9{)CAS@+new7ju&&wCiJm>ko)ioQV(2n(1bqfN5H)ZZ{RTQk zn-Gzbi_3_z#eYFIa0QbFrf}83HC!jpt*IHml(s zIrgIkp1NJV`m|D8cE|ichQC-{P#BDRz1a0MJM^zhhEc94bjJU4iGJ=}gbVEFN6M5C z!tP1nJe$CApo?-ptu#+1-o!f8Ybri;Q#QL!KMqhgyZ{_T4=sgW^ij%VhtX1KAdy^$ zFR=>$DzuAo@@t~L22Hdco;$f?ga8C6gJ?mBdBZr$DpKpPm#ENMe}(M}`Zs1sa&9F);B0?fS4|8jW5*#zqUN_#4gC?HjzDUhS-p^P*hqXUy4S+5c(6*hf^S)WlbmRG++d@HuA z^j1-%VzN7HK#c^lhdMo97Hd4T&YItp{_22sFW?<>zXp!KX!5qMie|0(1(4zNiLZ>dmg z{4&!q*GNTJV6Ps`#|2WUphc2V&=Sck=pspf7$1_PZ}D-7WEXUqRN?aqS4dUbHkRof o=1-`q!5ceN(7&Q!b5F9#-R_K~1hOC{0>LYC)}UTtR#z zP!OS%VXz=d8Ji@)!W1n*J5I@BamZ%U*O@VYU0eI=UN%2GM?9a+*3MLMG5WoEur(}c zYDu?sTRX?@maT8^7->T-l+3iD6-tqfylq}VDMbk)5?FTBw!VN#mw5?mXF5Cm(66ma zPEyD0w#fnHV{rO3@htTMQ2`0;Ac-nwP^b3@4{%I>6Z7LujwvIIPcu*DHuxy0{hsU#!YXpAkjQhyn}(aoNe=NX~thc|A&Z)Me!Gj8;O>L z7;)5;i3|-!#x9w`A21?y^)AK^ihS3}eaT%RPawIODP%swqT0O}{mFc#Z*mEX8Nebp gS{iS-GRePVnZz==$+w(rJz=S_O1|L={R&q9141y4p#T5? literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RegularExpressionMatching.class b/leetcode/out/production/solution/RegularExpressionMatching.class new file mode 100644 index 0000000000000000000000000000000000000000..6e0e4d6ca7cb525900d979bd912559f87d2cfa2f GIT binary patch literal 970 zcmZ`%O>fd*9REFQX$KV7;ojKB9ByvVR=DU%V>AmUOPD5Nb}(KZx&}JCf^9MS9lS5| z;CA!E#S2S3_yPP-#{bg-!;q!v|NZUvYybTH^&7w=Jj@`C^$a$!DMT@Yd29*mo)Fu@ zEvdM#VuwL_>iTZ4f`l- zSVdk#1%?I_mWD;-849cs9Lxps#K zFQ`>6A65<+(qX?9#^f+8Q)re3l;{hl=~Dv|2sN@KHS%ht8R?X94fd0aIpjzxaWIEF zWNS$Q7NC>I1V)n7%(9Sa9B^(8F?WG^lhlB0Nxs55IYR4(X!g=`&JZSy%pmEMX(g5vZqAYrvl xGXyb3QzEpM5SPfsTCZM>si1=7yoBx2)cWFNeQ~nBIJI7Zv?{hTI$o?U`~%(8wCn%? literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveDuplicateLetters.class b/leetcode/out/production/solution/RemoveDuplicateLetters.class new file mode 100644 index 0000000000000000000000000000000000000000..ce4a58f146a96b88b71f1e63a249f5b82efa6fd6 GIT binary patch literal 1304 zcmaJ>T~8B16g|^Ucj>awT3NoUB7!ZYfPxh$R-wp;7Dz;i1|L}3wJa=cvusIx=ZQaH z;v*08iZ3Nm!w)d=XZRnCiQ=6Fqmhjdb7tnwxp(e8cXmJj{BQzb1PcnnNGRw>vJL}c z9uzPn;Ff^f0)}ObCqm^%!uxhKYUdDob(RxC5GJ4ViM9K+s8Gc?6BMvo}zamD}mbx!%WKuxiW#5B6- zTL{ya1o*&2YY8vYZjff`E&_eWVDH`ICPK+Il2Ei(&j@Hn3+?Fbqm7W9Ss4MyWP6vW z!S@zY#D5fS|D-I?mMkXaS8MpgpMtMp9D0CWZCF%K^T&v=?B9r(gXUe~N2d z_#a>>q4635i73GVB#meK&n#y?h1Dgx;}F3;POe`PQNC7#l!&^s9P!ssH_ksI_~ICf z8>5E$zBY=e*3eKx;}K=*ho~+?Vo=GHy9DuT2oc6mk71g}(1}LQ8GxOlbBqnajukDUBOk-Dug$(~z5oCK literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveDuplicatesFromSortedArray.class b/leetcode/out/production/solution/RemoveDuplicatesFromSortedArray.class new file mode 100644 index 0000000000000000000000000000000000000000..0c25347048dfe47fdcfc4e0ed51527aebadd82f6 GIT binary patch literal 552 zcmah_%Syvg6r6LDG_}@O>kEl!QP4KfZru3*Q3RnXSaIXV+w`KTNh4`eaNnPBCAe|p z#+Bg05AZAe4#CGs?8=RSoX6bB%;dg(y}SZg!)y*3rc6wmm?2~~+>RS<5wz9vDM8-} zT8c1McRT7Z_M0j^kxh@0LOpP#cPc|S*$1E=UAkRDseY{dpr>}@YtMCLq`G@y;5ULW zQmySUlsD^y@$e6YV62|)m-h+e^2=TC#6GKuvjl4sMjDZHt`6k&z%ADZ;?PlhZjxvD zAIoZ6_GBJ948p=cTuzs;Yo6>})Q*~MXFKC}V<81q!Ukm-7jo OsF?jo|E|cGz~m1x(`*R< literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveDuplicatesFromSortedArrayII.class b/leetcode/out/production/solution/RemoveDuplicatesFromSortedArrayII.class new file mode 100644 index 0000000000000000000000000000000000000000..3b9d9b553702f65c018aacb9029721fd8d7890c8 GIT binary patch literal 560 zcmah_yG{Z@6g_u$77zgypD|D%(TE$Nu~SKmhJ*wq5ko`cuuOCjSh6l8_Wp&1(ZX@FV;X6CZb1DjO!5xpU5(x#!Hhf4_|Y>|iAd9gATsg|SQs?b$usD-!h0T%8~e zot7fZRP3HQ8FZVK<6pkxMuO|Mwyzh{=I9Y?De-`Wna-Oj(aPT=X5MO)VqCq| z>FMVqCC;Duf)3wgHAo;hk-@D)jKj$CKF7#6-U`~UBaTFneR~{%4KagRj-tWD9G_}P UvYtQa3xa4d@)^8uo;eK*zxc#%G5`Po literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveDuplicatesFromSortedList.class b/leetcode/out/production/solution/RemoveDuplicatesFromSortedList.class new file mode 100644 index 0000000000000000000000000000000000000000..e5d3d21336ce751fdefef1ce8dcbb0c8c788aaab GIT binary patch literal 673 zcmaJ;O>fgc6rA-(TqjQ2rcl1y(iSOc5&{Tu3E~2(RLKnzL6tae>=kuu$CYD8@M}1s zUW))#0*NCB{zHFCf!VZ(o@&|ey_tP)XV&}c_qQJa9%H=>2R9ttEW^Mpm*KV!cN{D^ zSQaQfjYd)aOu%e3cLc2GX{ZEd{b;26MKV;`YdMU`)crJ&@s7+Qjn7Fd-;KrsEB-5$ zq!aa`IEbS_=4!l|rO6=8auxc~IPVF}g(_D0g${wmhOZa<6znzsm-Mi!WGGO+$k}0$ zB=6}mC^CWSAeX`Zwmg{n;NjRkNQ*2`n~^rVcDbMXdvYQ@%)k|x`R7676%Ti@>R}Ca zfu+kg;hFR{-B^y^c3%$nRFKnpV@v-x#yp0(-R`%3;$Ely5w+GASRH;J zQ0=t7!e(vvN!tG5pOcOt(`xA3iB-eEmLBhs7d^g(oe{0I~!+`=XNNL mdDLmh#Um`RGC1=9S6G?2%KjRxQ&b!*@?CHpc3vZE;QC)U2ZetC literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveDuplicatesFromSortedListII.class b/leetcode/out/production/solution/RemoveDuplicatesFromSortedListII.class new file mode 100644 index 0000000000000000000000000000000000000000..b182e25200bf3db59246f1674c4c72cb5cadfb61 GIT binary patch literal 831 zcmah`O>fgs5S-_aI0Yyna-xZ3@h^m9L@+jlgWtiRlJMZm#`H>Eb}iwm^2W zX0`{N&IfXl^n4z@Pz~wY9fSf?%}BcM>av&kN>-a^dovh>uG;Zp|0@?+d~hg-GKVxW z0_nfDVtgluyU6FTf>nXVi(bP;;}=zY*?n8tZ5=8%qS<0C`M6#6o=6``E+A@HLW(~p zzBF(sGK^WG3Qxh)ynhPuIiW8xrjnvSj(Kh@z!av5_`@*6$YxQ6P9^ZBbOuu#e}nc~ zKZRZ|H%e8bbONJl+U5^Dw2c!mWB7=<7#Ozs3DfJg@dd^@VZ%17tR)>sqhBPLo*``; zM=%6MW#VH_(hJ_ds(}-W<8Z(`7kDYnWDZpWWp7U;S@)KC85!ERRH!awc53s6d>a2{Y`ya23 L)tp$MLc^^;@D7*a literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveElement.class b/leetcode/out/production/solution/RemoveElement.class new file mode 100644 index 0000000000000000000000000000000000000000..022e0b2af06231fb8c48e41940954df0405b0eba GIT binary patch literal 510 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 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveKDigits.class b/leetcode/out/production/solution/RemoveKDigits.class new file mode 100644 index 0000000000000000000000000000000000000000..50262d724ec37025516a1662f1870378cdbc8bfa GIT binary patch literal 1155 zcma)5+fEZv6kTU#dSMtYLJNZBCI~GRS_BaR8xf;6RwQCbd~@1P%0OvJJLL=b3LlIi zCcNTHn`q*ziGGQnpdsoyGgX52!A$1tz1QC7?6vlp`TXPkM*s_0(b0jcI>s@f!@xD^ zP0D2|h-d&Y9RV*rExov0t_Ls^z^s6O)h^jiN+yZNU^~?nfsTp?C+306CV+&%WQ#s6+vr>6S|w*a zuw88z=+DY_20GEjBMl@mXCRCb12-^laN0N7Jt@%tH>-O!yO_5svSiV~Ei4(hjb+lj zaJoSE`NpT&T`T8YfV|=GUW!(!;Ow~f!g2U>J7#5#rCKx{TNh}n*0NQ1jsjsqt!C60 zO}9??&4UB0loy!!uW>bn@mhmU`8U5%v_(&h@$>88HwmZ^a)eyF86{{1t#7&k@s5sy zOI-afsH2Cz;T514Ax2b%KCW`}7gqadGiquma*XA89m;FWPt&Rybx{jz5;;aF9@gs6 zx|46vcBF}upI=?TmpM`ye3C`45bW`vK#QO9Jk{keNERUJPCg+Lo@37?#woIrycXD7 z!7BQ3nLGM1fdP7&2VSz3`tw5oZXAfp0L{?*=gJ3L9w(Yw#GA zg`4V~h$rD;M0@FZ$#{fX;*4qDBKiS=7YzjCD&e*|bT8whS4aD)2cI4(6xtBy;)eOF zgM-vbJVavSB)>+AkBDtx#1%M74hkhmfr@1FN7iOjmK4(tO^QkRzjGb}ql6TU{Q~`B B>4X3P literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveLinkedListElements.class b/leetcode/out/production/solution/RemoveLinkedListElements.class new file mode 100644 index 0000000000000000000000000000000000000000..f76483df3eb09c6f00f116af2817e947ed2ebf09 GIT binary patch literal 661 zcmZ`$O-~b16g{`|rbFu#YZYjbZ#5~_(giGt7&k_fCSy&6kg$AhUu0lrYT9X|zs99o zO)x}FT)OaQ_&)^C8z8!2GIKx9z4x8-?)*CY_5;8c?ib=LmD%$w}kWW{RPy5PIiLT21TCDXTU_r%K; fc%>O)4*MTrmXX37Crfbt!1qw)%TG`vn8W;E{!x4M literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RemoveNthNodeFromEndOfList.class b/leetcode/out/production/solution/RemoveNthNodeFromEndOfList.class new file mode 100644 index 0000000000000000000000000000000000000000..bdee26558d1b5f5bb8c784885bb7be503b59fb84 GIT binary patch literal 751 zcmZ`$O=}ZT6g@Y2lcZ_drirmmjMl1@e4r5&g;cr`gMpY*BY`X@lhI7gOv-dpbnh>5 z(`^N%py1L%|BD-!LapbGDdM8Td+*$L&;2;}&B^aC-vB(o?KBc7%^{9!NnB48SChDr z#F`-S*!A6TQxGp#dII%iGIRt>ZP#}?Q*Yn|FRj6to?LrkTjQP;xcWYGs&M4)2}gbJD<)1AOm%BwFBgYyF(*JQj zxm|%VoO<3nO17tgV4)jY_M7L{ZX}BHF{?Y72Da05wer=A#ogVp_N@$(NM&#nc|q!2 zm3H0|6fe%@Tspfxw*1%it-+3Chg9u5Z#9%#l^)h$@Y(ejgXkta=Xk3Vg=kcdARi+- z%`*`>73OJY{ss^icoQsQi6@gK%b%x<_G`y5rfL|bQTvRTroSU+8pMVX1s|OKFv-%v#Sl{w4_Q18EvUh^pl(Iw3Cc=Q&N2mE zCYF%JI&W3va1WR82nB2so4A55iqR0ym^;syEVt5oo7E3^#O1T74W_GNTu5RhX=`E)JB`!M69#MB3{%6(r3-c8 zR`#ZA5{-!qmzekiOx*fEu%0`Vz@&3O&bja0d*AfezwbW))Uc9<0Vjn;ELm8#P*5=M z`h7pVrw}i$Z7Ud?15Yd14Zp8jqgNdrJaIccBD0M_*X?b)fiL+KG{RkfUm@3ctOtRo zgNDB!ZYX4e^OS6{A$W_z8`8q+j)Fkmbuo7oQo}$ueb1BbX~vsp z$8zn^?Y?Zf!)OW%*T}aAqoAuF_)?s|FwN~f_qCfv0w(LSxDK1+UEoE+8 z?CCD&N}kQjsrvdL#46&vIC)}FB1UU5tI{j_#I0{oM-iQ*6&id~wAs@Fq>+iREOJD6 zSRGJIL=H>GNSD4K_7lcYsaa}O7$2h`E{f*Lbj@kn8c+U~>xMw}gp-I0ijl9IPQoz> zd_~ML9b+09j!9rV`CV#8SgY(9pK;SMM378Hr0B~PNf=Md#*;s?Q5>?-GhC%LxQ&S! zPMs&Z%KdI|uXS!zBU*=z`((Co32n^cDdyneGIlTzpXUcyzz7cB@bC8)OL&iEd_)1C z_*LYl9#VIU_zZPS=7-ZelPFJ2k@-MvoA;K-J9e-+T@5eT$L4HxJZCqXpXUlsFCv-2 X3E~#!`CB{rL0sJAi3Cj3bU4aoogcXvPd=<4{9H zMJ_b?5FR&h%fN&{pLaYbSP&@L+?qgrQmfj63q{AXpEtM5w*S&9yF@M)YZc2~vwSB! zAAxGH=`;kx#Z|j*TY+6IHOq~_cf5@iD+p}gn-dKAXZQq(Y;ntaZxvk2+bEPed2_ip z0@>of#DANF8qIPkyuK?^5NVVJ$u7@g({Zb|&%4E8UnInxE9fZ&R^{!oRqwFx2rx-? z1o2X>=~wKhPS|MrtX?KV1}4tIG%#tRfZHbSU`jCfKeZzQChlU|#68TIxQ_>v;;hnw z-s2iC%3F3NH~}4M!(q9$w-Ic1hDCj1)aFob!9aFtDc2(WmfwJ_4Piq zSzVbi5=KJ(jJ~9v)LPJA?HID#{+ZNUFjyw~0h+qEqqKM1EoG0j6@+}I$O16PBFb|N z{cI-5HZsKXz}HISiN2k8HWo&zQct}{G> Fk-t5X-pl|1 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RestoreIPAddresses.class b/leetcode/out/production/solution/RestoreIPAddresses.class new file mode 100644 index 0000000000000000000000000000000000000000..4cf1cd9ed67f9d8f07ae13b65bad0df5e2ed3a9d GIT binary patch literal 1910 zcma)6T~`}b6x}y7$(;-Xg_J;JMX93l)lh3i3P`0b)Y$MLsnir77?LTSl1{RciP|TZ zESGEf6MVCahrY@Ss8xS}Kf@>a3A&czzLP)$fu#>K_nbZFp1bGlJ@eZ?Km7{e3O+Fr z!-N85PYMxTV(jB~lU}2t+1b z&-JGSwElr*0sTfX?+BbpyPh*&eYED3@7QYvBC&KaXBU?3va9kssQVAxia=+2$*K6o zvXfez&gaWcrQ%d3xP?)GmJU&YzW($>`%`k|VtsOr0gk+fU!xmU1l zthtf|3oH<5Z{E^%l;Pvj0n5H)wUf<#r+8#Ef$qu3DyWOVjhWW-?4yR#@1Y@$KBkoLvf} zkw^vt-_5N{l1t=q)FJ^H6oU8@9! z7U=3vrRuJ3G`c{?b0R6vch(&$X_V}8#bJ7^_rce}lcigkc~tTr2TXWY#4eQ_k7O=3 zk~!GWWUKnTXmZ0Z9=vU5{|O9nfq#=2e>8vwq4eWD&TND$HA8rC7h;=12wl8K0#HXc zW2;txb4V}~cmd~Gr8XB>r*Z9khER4F+T7sKu%^ZIU4)0fC$0s(+JYJr2LDenc2hlj zYy0Xw*#R%2hrJCxe+e(Me=n=l$u;BxkynU>@G39*i+3^z_3^n$e6MF{2azW@8`tG` zu!a-iA0b1yyB*~Ew)_P~Rtx`ZW;Jagt7{9HtbUlaN129$wB6*>_8jv_EzdLW!2UvJ zJfe@vxQuM!i=Mb#RmW|?AL>!b4x-~m!uSE^Xfz&8MB?(YmVAQ6daNh6aFe4^rEy(f zeTEiJ%SwcI(E2TmnEn*q4Om<3%nsUi(9V0psD+&9S5iFP|58b$2V)&a8{>8kpo3A2 zW9{TPyE(pd9N>B67=6ZQlcW5G`aj_Se<$__ho>aC&%teC6|Zyf1}n071O12+-^2hT zsm6LJ&|Y02h1CR7(ID%T0roJ&NDrc6_6zg$uW=Dc8l;zK%|dFY5^{vd28?b*{>H4t zC9%)LO^G)pE=#;6M6g~`3qOe?_?3Nn_q0-Zw3OTbMC)H9Q*+MSbkiu04&j}D0iM{K A>Hq)$ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReverseBits.class b/leetcode/out/production/solution/ReverseBits.class new file mode 100644 index 0000000000000000000000000000000000000000..dcf99993c0d78733ec86876acf21d3719f8829f6 GIT binary patch literal 1177 zcmZvaT~8B16o%i~-FBfY1qubRrGkpK2vh+@Qc@rhgYnL7S<7PGn(dZoV!SfO z-{B26-WZcYH1P-cSG@7sMDd-aP_S&W=ggcrAI~{6KmLCG4qyt4AsDz6!eu0Nq(V?J zBE=OcMx_{&VmyR2u1axD$Apeaf#9s|*xtN=noO+=Xba^HOQ0iXJJw3|Mc#5BnfVee zkzBc8mex(zmixL<^ET~@Kzr_?wQac-D`R_=8G$ypv1Q6+HkB0+4u7c`5Xo(s+h)3C zI>q#w=h{w@QA#B*(BE{DsoJFt%cVnL+bmUyB9>Tk%`*$nm(7vin8Un*JGiUk zo`DP&4BW>9Hh(NXt2MH%=C`bZcfxegyFgdNE9-bx(IRx%D`#xSbYCAjMLEZ&>2NI3 zWV2OXWw2y9MQ_u;S-8ZD#FEVg8-6Wb`4Fw=6i1SU8*Syv zPEkPjZ*cXQ!0;*1C#YlqQ?!<-*AMQUFLVh*XyZ$lp9($$geg0?OH&K#z{oDdXD$?U zQU-maf-bI&0|!LV&7D9GqLecD3zG$@r(=6imcK!LGP(M&Z+hgP3B#p08sl^9bzWvM!bT=mkA z&l?jsgMNaCk-}NTm~#>u;uxSzFvfuLM?TeaItC+*7&>a;J$*HLB-A-|en2uuZ#Lc|@A1lPdJRz*EJi R3P~zWh~It}7a5^o_#fYF?Y;m2 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReverseInteger.class b/leetcode/out/production/solution/ReverseInteger.class new file mode 100644 index 0000000000000000000000000000000000000000..8c53c93ade503422c27c638b511653b9e65b85e6 GIT binary patch literal 626 zcmY*VO;1xn6g~4g@4dE^LM>FGh>yetu&@asc7ZWABqk+Q6Hz2_HLa5}P+s-*mFP+~ zB>aFb)onLyT$#A=2lzu+@Eg?UnP(HjB=?^CapumM`}5ED9{@J7l1Co5UB>q0eJrQ( z$0SKyT5`&&k2^jB0q=ncP5e+Gv%0n?Ah-K(w7^Wug!<|5xUHiXs@-GdMyuaZy*(8f zn@@@|J}?7;+17J?qN9OshOzGIXiFd){i|$nc59QD1&Y_{6!)L>tbM3EF;?HbWW;LQ9y6fK{zNYOWy_Xgp%rLf85-^Jrky}BT-d?^U&nLdFo;7lHS^WZE zjv<}Bw3FzLby0m!Q7$=t%Iq#jBy0mR~^ce*k_@hs7GZz(k ze!=k>SV`-telLBpge;c%qr0qa5Vt6Do049V`HDiV>`h9hw25pR&0(IxGuTH3H@OFo m{9BA9KemGfc0DZeP8r$XC`$QA{KAxINGvVbB~{sSu=E!>vv1h| literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReverseLinkedList.class b/leetcode/out/production/solution/ReverseLinkedList.class new file mode 100644 index 0000000000000000000000000000000000000000..4c4ef035e2498520a4b22988d7a3372c23db1a6e GIT binary patch literal 794 zcmZXR-)<5?6vn?{2NsrXp;QnQs>PZB%SvK;WsNr`MiW>QYe;&zz{GCLpJsuoFX3x= zX-(87ns`|gAH;_+@y|C~+G-le%$YOieBW=*e*gXXD}YUGSTIpeL84+Ifi)91EFNx} zST|7>NZb#`!RQLA?a=+O457#=ZDT*KvoF{TBRtTp==&k30Ndx z3Ab?#HIyUJO`7Css-YwwQemBjqVYMryMRye8N~=*BQGQN3uzN2{(n+UP*sor`d@b& Bg0TPq literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReverseLinkedListII.class b/leetcode/out/production/solution/ReverseLinkedListII.class new file mode 100644 index 0000000000000000000000000000000000000000..230e03e5de9d261b7e295caf5640037bfd81126f GIT binary patch literal 812 zcmZuuO=}ZT6g@99@69x(Hffrgsi|7ONDUYfDKr%+7KFiA!PbH+nIx}f+I*DBq?&zy zi5s^Sl!Ag=!L9$pAK)T--lQr*LvlaPJ@>wIZ@!H`eF1O}H`7qKsS_m47@U(etM@&frYngp_@t=b8Cuc}WQd%9^vl>Ov@ zm0r-xTPG0jlX99?C7{4L#+eC$ewrCih#6Woi)~oRkWu9;q&WVJ)C=nbR?YV8%16-F zq_v_7s${p`BJ0TyAabO{yI(&hiSm@e9BaibxQivSDxUHjVy4|mNG6h=W88#%}k&&Wbg~!Nf0^gBp YjClta`4vAgH%9hvV*Zd4NhvJ;1|Nlvxc~qF literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReverseNodesInKGroup.class b/leetcode/out/production/solution/ReverseNodesInKGroup.class new file mode 100644 index 0000000000000000000000000000000000000000..657eb672aa13982a0c24df19ead1ff5e066006c4 GIT binary patch literal 830 zcmZuuO=}ZT6g@Zdm87XnYuY-RSfjQk77c~sVyXcVl+f5hBLTsM(`0O?O($V8DZ1|; z(M`7sN=2o%cUx|!>4v^KpMrX{?e_&U z^$l;|3;W(0i~F@;^-0(r^i~Ap;RqiAg4t5N?)M{=wo)tqi#a!l=cfP1yw{OHe10{i zM6TbV+xFZxkzIa)z-SNl_TG?wYY=i^BXV22Pu*TjkXi-lMt2alyvM#$VV_6z?vA_f zW?&(i!4xJ1$up7)oEPNIs}f{YU8Um&Tb1?A9j`^MdZ|`!q6mZgR!;(=`qHL&s?ZC) zar+4JA-+!2nlUICW1JZ!(2w&ZxPS>-7RxLCHI*G{)kR0Q_3y~q`bQ)j{Xmn$lV4w; zJ=cz)t2@V7bj(8jEgsmWV`=wN)2aMB%-g2QPuiw!F!+RoZP=!ANyj`$vB^){a*RU0 zT|GScc6O&`yyx7}^eXuPI)xdSCG!&H-J!rGa&*Y=AyurB{Ra6riM?R{OXh505&^fX zH1=o>##v%ID=w+6v&S;KT||ymOI+17F-z$^-Gz!~h^YleoSh?w1VUEl$gPM5?6}`N u)^VAU!EW_T3NjFEo; literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReverseString.class b/leetcode/out/production/solution/ReverseString.class new file mode 100644 index 0000000000000000000000000000000000000000..24cfc1a305e1ab714bd1c4372d9a3a6e8f163b6f GIT binary patch literal 584 zcmZuuO;5r=5Pee$g<1qFA1Z!vF`$WDykR^@;)!S?hQwom4KAr|QVPFIFOX>B5Aa7B zXG;@A=;3YW&6_tfyWc+_UjVL9HDRD=pkzWrS;3xyeFFyuDumRv^kjHLNYv_Gg5L56 zf{<%VPux#ldm?ypdM-0|+wVJW*9oMGV^R-aNH%(8#ZE9eVrl@+u55EX2+ideQ_tFVOIKGDr*aAWC-Q|ZEh#h9f&}s4=o(w*un`; zdBPP7LVj8J&>M+r2E9`4ZBhzgU$}*dT18iWEPN`ZTZ{8Ag+% z2A{-d@_Y_@kJ4L=sfZ+4{BJD;$YPr#egfnfRdEXmwgYmX(4H^mNX($mkbGlG!_r2N UY)T7hY{Ny^fz3vQ-AG^f1vX}WzyJUM literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReverseStringII.class b/leetcode/out/production/solution/ReverseStringII.class new file mode 100644 index 0000000000000000000000000000000000000000..de447a1a8f2516de723686480690bafe5e9178f1 GIT binary patch literal 951 zcmZuw+iuf95Iq|waq2p>O>+Snprtp*rVW>Jk&1XI5|X6=5 z;Kh+Z;)y3d3NgDeL?nLj%+Ac2*|TTYzkYxF0pJ8L3>0zKz&&j1*fF5tzBIei>`9|) z`vy!L$na1?EgcOVHbefU7kJSt2F+@mGh|;6dxBxDS}LcwScCt+8-@g&Le0*_<4tBD&})8UwSfFp+5B9pU;=l4V?VaFz# zcxd7g9-DZA6B89wO+3Xj89pan7B*m5pO1Urxe(pxztrrkq_Qu9el$=j(;+G;dPw#4 zL^OsiYgwLzD2ZE$hJPoQQ-Fk68BaQ6bsG#-%S{(M&qpH>^carP_$=MReE*7-HV`}X z#ESGLfee^bo$NYAP4bL<&YpsORpkw`d6lI5rnNZ(U=wAENFh|o%I2Sh)5!Zyj7qH=%pta;!quchB56Mj xl4BJ)vRM?!*FgUltc z#YZ1`;Z+}mL=8W{pWt8c59kYcriFN+o6I+}XU_M{ob%1M!_Nl*qL>Y!4k16n0SsYS z$4CGQA~KB1Febw#87}L%qGMb@n{x7wH!a``g;N4bys&BuG|W4BJGu2NZM!R0I!7cp zU&vUwl;t||{}@!fb*CuMKEGsd+iuZL6`tF<;^LaM?72=pJ1J1_{=FkG5Srhxwym+8 zmCueHv%;q#0g>T|b2uCcjtvf;6|6>9)^b)>pyu%-hGJTv;}q-mmXlkxU3sNt&&oVq zur|vg%05JObnCcEzXSryg)KK@&pA?cS9M{dQiA~l_2gT&Q`nlllUTg3BWfUq34yl% zMIIk7bFLYK5;Ut>&Q@zVJD>H|%blmeT1IBFxDrZ)nO0l0y>c-^YA6wxufy*ZPR?ryRcRY~ zAs?XpY9ORPjA!^a##wMyhxQ>pmbV)iwK7OOTpJYvnh@llKr>nxnJfx?uR5`JO#)w) zg<#Dde96c`O!383Q#F+xv_wob8q-EhO<5_aV)y9B7bp*h_n{_zF(tAGO<5&ZG1VR1 z9f_FA9`y0|s4XdyOF%sV)T7;_?-fE!<6PO=gP#ji@7P1;AhaVMtLf;~aY4sL c9esjb`H8keH0$UWqOI{4`dDIs^coEQ2BiSw8vpwgjds_ne20-*Psae!W%p zR@U3T>+LKFnEp!%fmy4vXFs%a4cptv4Hl(`LjuC(ugsy``XhSm5kGBNs8to19?IP4 zxQ)8wv%l_oawcxEB@n9BXtqlN(e<`n`*O|R4|D`5t`n(&%gntz@&YUO1S0Frj$dZN52LlwQkTHG5+b~M*(jlCTY*`Eyt(eQ=5AN z@f)2G60~{{qy+lr;Q~zIRlf1EVuqH*;v!TSj5&WG^!XDgYf3TGgSx0rt54N>K~oBP zLi-Lkr`3d(kEMRVZ1P)7WP8xQMGcDbfqEej68Xku$__AD3{M;%8ZN4qBg^7zW-j zU>QgY19O5*Q?clC?k|uz0v2Z%jWv&tfhh$wNoXTK;eICBLnM~^5$1s+k_ENff0j@W zb7Pr=I!IbsWl)_-%HU`ZW;{wmMm>yeCe&iL|I2|Yy8WLIQAe`@&w3BzCqXU{7$`kV z5edpYPpKCu)}mde)NRVNDRKvM@F?RE<^zCviii-51gH@B7P9nIDeMT~<0F8b0YC|B X0{RO?B_uI3d5L&pqfw(hn<<7otf`9`|bDV8Gt&rvDnyW!(b90lQ_>uw9=qW_)*jID!~(h&iV%QN8N2<@OHknhA^@9lH%{d|0O z-Ybx0o9m{HF&kKGjAJiitovbK!0e2UqMrXGP^hI#XzmTXV=o5-nH+Aw5?H>ZP@ten zYeO$Qti9|G{9cR-KTYxzK~HsLXtTW4=mot|J%#wlK*JSU^$eb?w7H7{m{>@2Ipmp9 z&0jc34Sl9JOFJcJc7pr1vI~w~FO)xEv+9&=**}G5H`PP(2Mr^(l< zqdT*-P7&xS!A7bescK+_JQdy_kmnJ3ToNd`BG*)JBBE`f=rpeEL ztZU>0we!>}Qf-~K!h4nD73WiqE|T&lmRYIePD(5pZ>GeC68=l<%!yTQCEZL#tLbKH T3lrKoGD4i;HsRNp(Xjppp}~h0 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ReverseWordsInAStringIII.class b/leetcode/out/production/solution/ReverseWordsInAStringIII.class new file mode 100644 index 0000000000000000000000000000000000000000..8051cdc673859be4f699b2cd950fb1634349a709 GIT binary patch literal 1079 zcmaJ=-EI<55dIDJ22C^Z~r^Eqn*BtaBDj8=>wdGiQEw=9_QMe*gXT3_upU3MQ}|#EODd#5ocQ zBrFSKO`O(+*bpKqL`nqG9Ge_l4Dz;Vo9+&SKb|;bke)W{21BT1+Qxq8q-r>?^r}Uk zaH(0-twY^0g*|Xe?vdGMm@B%C25}yQjCj zQ9L#>98n^VK`A#oPR)2`ioqAInk^-Osknv^0b1h7sJM$P!_2>c2TfJnLr&!1SMdN3 zRpe1nv5iM6c0h<`uWH0Fc~SD9dTi8)mrJfbi^NE~WtkLO9Yyg-mSoGY8}5;}{31hS z)Q5B__+W($(fIJLE;tRk&A(WtM( z$x4%EqyuX`urFTtI!W1cN(j?g?I&Og(`3=CxIt2U{FDBPAnD3_*w=-B?;E7oJp}eQ z@{%T<4o&QLBuJO-Q z+7AI|5u7BaH%Q3G5Ql7)UQ)lPD#LBc^5M=Oc&PBj literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RomanToInteger.class b/leetcode/out/production/solution/RomanToInteger.class new file mode 100644 index 0000000000000000000000000000000000000000..cc06f30b6142dbb309d883b083f92a221da383d2 GIT binary patch literal 919 zcmZuuPiqrF9DS3W&89JJx2aL9UA6UJYQaj83RZ&>5Q3=%Q>sU|+a=jH-RO4f!IOvJ zLA-iW4?W0&c=6Jz2Ty`fJSl?o6Zip&2a(n{+n|kh**E)}_j@z*=Iz?%yY~Rj;Zzzr z`qQv*SPe%E95pZ?ki6*mURV&&@ml)(}mBv!wxK};pw71>N8Fh39Nf-tOGdPCh z8JxgLfv$EPukqL9#b zvk`s;zxwG_h}UtugJUu#c>&g$Z2|VM0_#q6apYq05gL`i`tS-8m$X8^oE?)n`4nrz zIk^IDOwZ{r*HDfW#pW(D&dqN@pF5B5U`X?`LOb*MI)rO#$p-BZP<7AzZ8nhyug{rGqp}%?AN@ zd*?*JI~?|uz+x-S)aS{dqx4tV>9exj8g^y>MC#P$MbR_g)3Lxp>&wtcqdsaauilYU z=PAMVX|tKrW|IL2oztd(IOk#vw7OJ!Ozyyr&E||6j0F6#k=oFc%6gJrO6(#Ng zvj(GJ^mlI|eiJyD<8IsFdd9sx8$gKpyjI2nEB5dOiCo65D4CAl?4iPlNKL2_$jj}syD7hLwy eYLA9$kA`YIX${%#8j*{a#2za#?Nx~#y!r>Cyk_qi4l-s&@`zw5p80C#cex*Tl&y(P!l67 zen~g3S&_J4!;Zw2Oa2ML$9J!zfl1EeJCE<2d*H_jfzZD4Ns=61v*zY!i@Re$G7@4T{o2pY+p*A=U%4k==7Z|O+>_;jJDqXb` zJR)akA)UhJX2sBoh*F`nDVm9{ibDN~Q(3@Jk0cwBYVJK(Z)5KCMt?tS22Zt_K6Yim zd|Q1`8A!MSBUj?AGMQ3G^>#|NMmuOmxPt^AYrX{dIJneFq7tp3b?+ZT9NBb=I%$If zL-aF$3owi{5l7hwo5dT_7?OkH$+ENJ=iSZ#OHNsOGC#mv(O>Z7eA%_On3pZTWdgPT zuIJVcrTF^$$Du=gY8VDswEg}7cdz$*a=~Y>G5`9`ZQpmZwF9&D8pfzyi!$8ZZS5$=ai>vNB8lZA`}5 z8VYgt8Om{%7m2TBym3z9|HWrc%JTe^+;Ij&Kl$6lC5FWXN*8c1VNi-_mWT}=%MzIS E1DK$4H~;_u literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/RotateList.class b/leetcode/out/production/solution/RotateList.class new file mode 100644 index 0000000000000000000000000000000000000000..5fffa1fac0c4fc43106acf16afdf94d3930623c7 GIT binary patch literal 756 zcmY*WU279j5IvLqO1G&=lcqJc)<&x&#+V1CU@8gmMe&sy}nx+_ZseS$7ytl#LI)G)2%y0PsQh;?zg>>AX2Ul ze8+do-pJn+%npO7>g~0C!BVEI@Cxg0makEw5xYv8f{H`-% zA$`;xyx|E?Fjw=P=Bq7dKhP1hvc>|n!FbqopLj}dbSmj~$9e5UU?CjAIue5LKS2t- z&Vy5~Ag0)buG8NuY&SY?Q{CKm-zt+SW$Q@8;4sw}f~cb0XBZV|h1R%v0{IZ6ZSH0O zawzm8X9U_gMuH27a_3=r$R`OCJII~F&V5Aa8;soX7iiD56X=zE?h``!qMk1r+J>3Z zNjOC;utojQl%vUyq`8tb_gfoQ(t6L7K}yj$v?fQBpD8`hNL2`6Iw?a`Nc5POYEVLp zlmqCLW?+%Bm)TpInOl^8hxQ&bPsyp!?jVMjn8z;S=wcyguF3`;F^&(%+D-)6|3zsY`3)k7tX)pXn OSbmW!SRprr%YOk#Hh}*C literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SameTree.class b/leetcode/out/production/solution/SameTree.class new file mode 100644 index 0000000000000000000000000000000000000000..30ea5e702c2a6315a5492e0dcf4360d223e43aba GIT binary patch literal 577 zcmYLFO)mpc6g{sq)2Cxf74`j1f;PIbBO+-ckyI_(bYb^e55s5~!+)`2XVZ;DNGvQ# z{3vl=KgeY6JLi6#d++zp`v-tcEW3~xOJE!m#!R}1W6Gdui5ZDmf%vxH@S`08Yjv$E zU>BOlT41o~H+1RtvZlj|ss;3g=1%)b$Ei)D4GE1}j~B>qj035=~4 zjl0CATmNY7NI+bfy1yVD*8<6Mr0N$3>Z;q{EjMq&y59561j%08jdOLUJoF(UG3Q|( z3mz7c_ArQ)hb5#1`g*wnDU+QKRO2*%SUcDCh|!)bx4u&WwfDJspidZcLjUwE!U7K^ zc|srt79c_ElI8gdzRvm^#B)2`PaAJL1w3M}lYk@!$aqVnXif10EPg;C`-MdA3y$5& zenJ{#wX!dW<@i5hWu4d}wq9Z1BV(vT>a?k}pI}=pwy|KOGjM2a&gf7?B26?xWJa0q f$aP1dFoqa6^A|8o6k{e#r7J~l*K9UQ9z*6AM#W

-YpP%E8ItF^k%V@6S5K(x3|xj$3EC~G1_4%5_624TuHnS7!RCNX8j;Q>oB zi3UUZxt-JxK5Y9(nU3r#6@lW;kSdabjp#G+J z7zQaGA;(A3D+itqNoz5y(+hgJ_7mbq1}j=CD+=Tpmo5n?pvX+%Mpj|7*yKoE3*Ffl zNMq{GHe91I^Gw5&OO81-`<~@U$NGk*c3l~J%2AFPdwK1SyuzaE|s_(M|U2HwsZDnqzl|(`>3K<2`5Ee9tQ0 q;Wi^lC9iOYk%hbLS%#%9h$@A93ipLxz&Y0FtA8Q&-&i0ohsA%j@N(q< literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/Search2DMatrixII.class b/leetcode/out/production/solution/Search2DMatrixII.class new file mode 100644 index 0000000000000000000000000000000000000000..72c8d8b914e904f3c31fbd414abad8245ac63662 GIT binary patch literal 626 zcmZ8dyKWOf6g}6wvl|;b-UJrNt3W~`iBT+B-~vz-2^3|m1PY@Rq#AEl$r{HSZ8pFM z@D(d3@Y@ zv8RhX{SZY@1=TZ)O%Z{=dT-tnC97go^du1)VhU^ z-|p#CYij476I8m{c^)U*sTnT3?!VF3?{pO|lpwfH5;Amipod4zSG|4`7r2KKf5og4 z_zO@xJ!Vbb!dtC>gM78L&(pJ@V1{vZDnJ<(W`Y|QF~z^x(x^L)@h2!})EI9zoYuJQ zI&BrY?qS;t)yf4PhTdm9SZ;)>6?z+AQ2waoa`Njxa6!PETuy$vBWJ{J)1K?rO>t0< z9%Tgdy-(*RYIuxUY@v>A%wY$iopOh&n`CO_6c(tfGcr?lt|m88zzXx+4(7?0=&{AB lS$YO|f?JGS_5&87{0X(bkJ~=(h*`i=@Q2lcyHu30@DI=uYH3!qQ2&Rh^~_{lYn6pNb7#-od(PRrpMJh?12}=h3B)j#fQ5r9jH_@c zj)^$Z0@4`pM` z-xTOuT=v|cyjH9S=dQc8RqvEQ_ohD5sX%=4_QJx{?FBZdHP?B?Q2SWJ4OYE|fM8kqx)e7#vCG|}AH_>(Nxn?czt`byv64hgxt?gKZ8IJ%P9i=iZJ6&wuFoE=bsUIm`1 zQu@r&%3ZJAz(IN(qx)c_d~`AHVm8B7aJ4dTAzpK1AQ6JV7v0<^I{>b`nF;Jc52L#L zhJ_^8Vz&JRJ=TZBEz?-KC5@$5nXLU5M#0IppCXZUa`w}|-)pQxEP=8_sH`l#VkJ{| zKftF^n9s1FV_iX&21C?-&r> zd_(_21@DEDMS=J;d{m+-sPG{|RFzL2hlBQbrX!~5kf~y2LiF)VaTr5K+dNVdXU+LcTUH9TLq~1LuE@+veS(qh>lQiKJtv$_2DA3%qqSY% za>JdP1peH}YfBB*I;t)0%tSw8KM?9kyYMI-nWg^rff2&agA}Lg> znQv`<&Ny0)^FK93GPp!F3+!>3L$XNYuhR5u9Et0ZnxSoK<{~w7k(${^&GG-L8RdX< M)Ce4)4+chm0Ru$I6#xJL literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SearchInRotatedSortedArray.class b/leetcode/out/production/solution/SearchInRotatedSortedArray.class new file mode 100644 index 0000000000000000000000000000000000000000..ec36fa7de2d13ab2354b6277454ee05ee98c44f6 GIT binary patch literal 675 zcmZ`#%WB&|6g?wrB)?*(j^!lAX)xWyHQ1YyMOzFdP%w2{s7f~8WGpMTQdtU$9O&2d zkwP}vbXDjgAJ9)KeVtLYjRg0ed(M5%k3ZjU0X#yxi~_c8?AX{9u$~4{kd6cj2fbqf z^C+JC0`*A{`LEWinV-B>vye<<5_>8jKY1HIS&-J=I*>QYr@%f_zmJ~Cfl@DMhX;(tN#;FLYa|3C1Y4DT5PGCM1@iR)|?-jdyaVpMSCK{L)qy& za_|wBBX2b7?+rfTK__#~O#6(gBX!+1dITqig0 zW7KF%+_FMcMT_=6>O8iAKDMYgaYXh7b}>a89y$oHkB}MqvJtm$!NmsaB;zQ*QKLFG tv%4eQqiXOE*|o;WMVzvCjgQ!5O#}9C6ovSO9nrP7e?sa9cBmL={R1s1TUCAjDh@F$6{^Nq9a4BT_R`#SgDAAi1I0JwwY40IH16m2XCSlhuch#CU= z`o^w+@o?1f1@g^c=s%eZ+J5+4w)^zVH%FfA@5(Sx@5E_Dy)0V#bd^Ya6!7Hcdv9jHs^d0Zm38czbMI#)^ses+?xK7X?wfw0Y zgfAyk8On+OSRggMQYY8mNvl<9k!vgm0)mm@&&HgfoiMgSCm6aRi=O+M&J5&mM4#@2 zPXEm_=WNBAzB=^*anc{S?*x*a$t>u*Po>gZxK7gksq@xJ!GsmVofPh(EUt?YC*Lk%Fub$>d`@kuxMk<>hyx% ztbT#`%s@k&Rvjy7f;P1TAc+lTU6oFhR``26pW(gpkVh_gxt#T@6mNoJdTyJRbqufocGWbqK&c!Zru zSCd$qr<=%dA*xs@R8baNk?IEV8SbR9>jopmbin=$FC)jEEX?1C3vr3O$ozt-vCCfX zcSe-DG`ptP7R9g7nx*%MmFE16Zunn$lJkK)RTUy-)n(UOkGbvY2tAyD=aA`X$$|$12OU75Aa7B z-&RgsX6C(}d2eQae!so}+@s^c#c34|&P+J3;G%*{0Vh%Kg+MbLso7Gc#W+)HxSFa5 z0XNgLIp6Gjy%Z1unY@shVN^O5IC#{lE}lqtgP<2t>zRWB^-!m3xL!_FHkOlwOe;n85POQ2!;28m2(gV)JI z#b(EDFTyQPb$P!Fu8RsQfx}&{!YeU#%S`Dq3)&sCuTJy^3pR7T{|V9WY+?1Ux3E7* nS!gh}XaJZW^%!d$^wA`9^FPLSV@d(DK1EGsj4akCL>AhAX7olY literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SelfCrossing.class b/leetcode/out/production/solution/SelfCrossing.class new file mode 100644 index 0000000000000000000000000000000000000000..c9384d870dd956c91ca4d104a1d1f9aab67e1923 GIT binary patch literal 604 zcmZWmOD_Xa6#mY19#z%SQi)9B9gj(-8?o`&ctuhyDi&-^JEJbu%Cr?fz)na+tZbBp zjg6JW!VmD15S%+InwaF?bI*6a^WF2!ef@lX0Wg8?2tw#I&}AS+(5FR7RA&jH(XkDJ zI#+f*LOdf%-fHb2=lSbSuE;BzP_JIwmMvd}zy7o&5fabJ$RfWXm-_?=1>>XGgP$z2_V`QK--e(dGi7 zU6#^Cr&LI<<@UUM75z}yr2G`HDQLXwoTWJuM{WEG^ca*4-t_=95ax6AhkzDDI3u(M z2scxlWu)kpK4V%hw>Y;<+cGuRt|MWYs>_M)+IP^@2h*ry@DIB|D&QKfz1`@Lq;MVc zL28*?aj!A?tM~)dG5n`tnPKMqzv@Jx`!7HAz=MS#&DcCLc=#~KJ|2DmF^nLN1+-%c zNo3H8Q>1XloJ;fsru(>8!3Elwt4NCt`|=d$K7I>EW6(aJQ18$?7T$t?nqX8x@*ARO BZ9xD4 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SentenceScreenFitting.class b/leetcode/out/production/solution/SentenceScreenFitting.class new file mode 100644 index 0000000000000000000000000000000000000000..02ba0254309d67c7ab97493d897d17015399e3a7 GIT binary patch literal 1026 zcmZuvTTc@~7(LT&cS~6WD&G{Gj1_RT+}P1pAp-K;Fb9TsCn9S502SbrS{L z5XhX`TcGD}$LFgX(jm>Z)X`w5b0csm#(=%H^O0nm#yBfbsv(ekj+5Qo9s=6A$i?jxSo=Ds4a z2R*IP?7_ID4be*$67hmQvV(gWee_L1AJQ^r$CD{KFM(ODoBeDzH0j3R%3o({Wu+0RMF--me D_Z;A? literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SerializeAndDeserializeBST.class b/leetcode/out/production/solution/SerializeAndDeserializeBST.class new file mode 100644 index 0000000000000000000000000000000000000000..ccefe05474783fb0686aaecbb851d4350ef7396d GIT binary patch literal 303 zcmZ{f%}T>S6ot>tuZ?L_To$3YQy0y~ol%J83bx;NDlu9H-<*Xms^s@+Pq|FlfAM?#R+eN)J_GJB@ytFuxZLz>% literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SetMatrixZeroes.class b/leetcode/out/production/solution/SetMatrixZeroes.class new file mode 100644 index 0000000000000000000000000000000000000000..18ae9c9adcf23d5e79daebfbe117fdc66ac9b107 GIT binary patch literal 1127 zcmZuvOH30{6g{u=qe!JK9fU$LBz`DWAgFc0CngvT2Ei4GQO+Chyg7sSMs zTg8=bh;9rEqjAx#2`hHGl8p;ZOf>E!jdPzT)JIMB-DWf>WGz%AWKapzh!F zDgv>ooa;|Je%ZS>=ax%uWkeucas9f(9)0ukld`(-_)hX&Ah@U!*q9{Ga_KJ5La8Xw zR4BSm`LYDWT;NVfCX(}=!mVlNwi2LbhzT_3O3USfd(M+W6MM7_EI4^WLRcyCp zZF5+wv&Jr~%UrTUde*Wn7U`8?w#B%ZEN5vmDo>kPu~=^>7woxa{_CxUD}$XE0P$wP1i8=BI506njMjWr~t3)gV{;3jI9g z<_)g53H!Ou1Xr0t1V`wl(TZdAhtY-+GG}4qJlb)A{v{-F6k3H6#njeFS*HU(j=vi@}v={LVr>c3=*L&Ers$^DFkROwsjoR=CwRXlbWXd zxN*~+D|K8@bVNqQaTsTuaRk)qIL@$Pr=ttq=-Q>OWW@U2m(-3p%1qw5=bn4s`T5Rw zU+(?+`7(f~@q&p4^hsA&FxG{vNmJR(b{Ww)Rm0<3K6z2tGD6=%LO;LcZa#VO}dxis5fDC}Qw3wgIVGv6%`oqx!Ox!Wct2HOV( z#5q1{by>ko+0C;Y9#NJ{7b&Mo1T<$_HwNP;j zsgugY&WxgSsUjdRxbtqssn$NuR|?Jrhjp+2CvunPR?)K_j@2_U*xM~}T)-SIEtCnP ztDxWdD0GvmrV!SlF@$z>uu8AULasQI8Z1_v8K*3f4dDb%3N)@Yz#*S^@CPXVovUylq$~HvT&X~a8{69d?a!E{>1n4-o-rob zC}7vZdgD95S6QQ5Dte)PQw1ki#unbH23|Bkhft7GTHK|$3a-A6TM(a6(XgJm= zQ4dueumLuA0*_%MC0`al(a)sq)5P);eA>;#^4^4=UhZv<--V`i8MW1?XZ(6bTC({% zGI}Op1>)Dyny_Tr3M7qp;J<-&i+<6OunpU1Nh@#*`eH!bSovX5Qr>IuWu*5S-|y8k zK`Y4jQwb}Owt~qeY~o9vYWc6B!IHL7-QI>jBNu~=@QoMkYfCoxu0d)yz$`aex9;^i z?#TxD2#aK25q90gZa1;t7WSGzGrv!9^x<)SjkfSB(?U))lSmu!BDP@?tvHW1R7lcS z(SarE*J%3yNe{o5iC~iUX2u9$EA}u>oSBM9d$u4P^n12|!m@_5(l%i;kv8!Wv&K1@ z2;OJzIO}f0+jxSf27TVdlhk}Xd7aVYoXI5X+veqHWyC$Gmn+-_B-$i2At<~R_yYm4 zE^;3}{vN9WyLn_6~v? zPOqNI#IoYTU6@)|fJ3wWcTgt?&aX-f34DccmuZ`NGE--pMluuXwCd7U=!K*eJd@pC z(~UD(sdA_kT6WB*XUF_{wkzxzxiR?oc<9%%UG;h-dR zw3rpWisM!^!Slmb>?-zKF;(Haihr4e6-`?)vZ>P!c95Fq5#(|PW|hmUOqS^Jex?9cc%7pEbu1B9{12-YOut)* V-;pNa)dl&Vpc*g1UZ&U3`xkl;nQ~^aelQP)OkeMm*0ek}Q zy!FN#F7&2NH1Pp^3?IW7_1{bp!jy}yz4uycuWudp^v9pC-vKOPLqh@?6aI)c4JnpX+*EN(Ahu%JmcJ^XWU^ZV(RHV03M5LFZ9Z)^ zE2jIxs5Gb|*>voZY1jR2fn+ao zk%fCcV=1n=Cy?slQ_RvySo}%nrtwx_uM6k>ZK-#W_lO*`c4pb>SN#uksxzn{v}ZbiR!~CErFY zN3B|GqrZ(f&+#_2&%6*oQ^cpgKNU$<4jP+6ANNU;Q;a=^S?)6=$og}Ps&Z1ZxENG+ fET5ng(r1p=2rkiIgYp}ynE1t*{NJG_f-C<3Z2BDY literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ShortestWordDistance.class b/leetcode/out/production/solution/ShortestWordDistance.class new file mode 100644 index 0000000000000000000000000000000000000000..fc32feeacc52d152410a49a239a8ed46c3f47ce0 GIT binary patch literal 932 zcma)4OK%ck6g?mF_z)>=DbrG4ZGBW8ZIP-h#OR_%LjpAlDT%HIn7~vz=rHKgjeo*) z=cXGsZnQC`Kfs^lLOe6jpeYLnxZl0!-tV4s@9^{Y_Y(kja65u9u1Z`}-VcYv2(IHs z1naozo0LRaA|s&Rw;kJiAfTkudjjfCuVo3$mTkw{9UL?)w`MlFMB?RM)9mhU;H`+j?a8J=1AgMS;2g7(c}X?xkLq_szFvu4_8&T-9@Jr(OIX zBwZ2^Hh(;|cjO`Q!jxX)Y~GiAhG?AJ76^4&5$e(lpNbTisd{GfRmFTA%onW4kjM%| zs=a~Rv>x03Dwd~ByXA95aSjoI`3Y~y@vOGxvPl#h*p%3cB8OX1xpfkr#yo3q{w%r3WJr2ZOobfK7jArPCishD1euh?v`TuqhyT`C8*!*!%ejIajD z|BC;FAp9X{&oj#L6g;)eH;6AmI!dbtAooQ-Ix0X6vy7+|^R&Dy=AZ;k>!E@gDrj+~ zpeqGw$n41{>|_nOz3~<5M??%+P>&Gzk<9>EC88PXA(jm75OG5{R6}bWLpz3E&_76V zH2h)cpGl{X9>`EHHPY%xaFP|$u5*e!k-HT3kkWRUt05jpe$M<1o-kTqHBcXm_q_y+ zV4yk{vBYioSdyN?PYuhwp|aC6T%hMOR&bG?j!Udufi`60u*7AFE7ZZS-~%LM$zLoN KSY=rVYkvSM$;AzwtT3#O*ZY)&2HS?wBQXl zILP4 zg@c$8zmOvOu(=R|PuqH}wsDyylzM_`F`t3bYi=Ra^IKt|2hD*LtqLwRC%Ryx_a0 zy_#(RpH$eXsYP^+vM?qz+& zqNY3V6m@G!cTKqul`)Iq1Ug?xfRTjB{~Z1KYo;e~IA2(ET;K5gWydXDE0SiQK8`w8+gHSe9w3F>b&8vIVGSyl6SDtmA!71q(gSSc`Zydzz41uS8f_bIefdS`gI_?>C93J>#zg{8`-QM$%bq; zc*&-CsVi)cUaeZU1&*Z~886rDqHj9(_-rVU{z(Wz8xzL6`RU-1l^dCfG5 z+|b7TPMf49pls+?%~&kUE1PRX>|AVCtCvawT9a^@YqYK!OeW@;UvoxC4Ch$e>nUV~ zm%_CDB^hp~#Q{U}y1&Mg71Jg^>0B<8Q(&ub;Hh{AX9P~{Ho&wuoONS79}F}{NiXX~ z-*L%kYh`z*pvF6tcbxSanNxGNZMZX*?s*1Z1AjKw5&EkS<(zJpEW_)s9}Hi5L5h1` zgMntx!OMJWG{XPCu^#f}XB(RmdY;iOt6=&@R>6kAz&?JO)gy59%Ul5B<^^QEfkIeATh>i44JVqSY zLL!Rape&5_K0SmK26O5M7DV_svx6aSO9-xgrE_^ zg0jRn1f~eQ7v#T%R3u1T?nZZZXJg&!WIQ^Vh)yb6Vr&a-0{3xUQ+i^dyf~&Mw$Lum zw*HEa$z)GVQyLX5T2gDd4^4|}6ibiLIT^p35D(Bz4Naj&AxGb9@gJB_ouvuZB&%p= zkNVi3O_~gb4igyS zdvlyR*@b)0*}R80aEjDO-2|lwBj3TB0snod@@LC2W_BDF-sUqNuzu({O0r%@4G|^z zA4F`Mp^^drlM47b&5sZa@eeKu@eJ+H5a~?GOJ8pZ<3@rEl26dZA?yB;ej>rlBm#X~ nP@(KKSld}<3C7I^sB>gQPL*J;KE5JD?{P1&=ZU$18C?7i{UJ)U literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ShortestWordDistanceIII.class b/leetcode/out/production/solution/ShortestWordDistanceIII.class new file mode 100644 index 0000000000000000000000000000000000000000..8f39b5991d549da89ee2bb25676974b7027b3dd8 GIT binary patch literal 959 zcma)4OK%cU7(Ev*Gt+_E7ffxf)>C|InLh|z^jBZS&Sn)*r?1598l9dsCU=|&U( zf?GFk+_=$3ll}mIk_++7KtdDS#L3LP-|L?9o$t=CKR=EDtmCGRFs$$E>v(nXYu|W_#Ck zZQmaTrPs2%0&|sWtK)iB*L&P?8yj}lGo89sDwT=?@$LyJf!oRFm3{NInQNO)GgtLo z+i4d6Cz2`&2%8`G$Q#m;f93?NVRp^${2!uWGEcn?c1yIfK*(ls$YyZ7>Y4QyTjt9^ zW-uv3#j1c_?eyHbwQ2hkSvW;>)~Aa>M^s>HL|t+`t7*B!i6M)eit90~As@pHtP9MZ z0wypyg4nL@TXlAOEHs!LuhDwdGuxa+B6&>i;6O3;OyJB2X3O+iyl=C{a+xfrs6BjO zI~+=~Ob<)Y`1ANr2-J)y*BHGVcfmcf@*U!9kRIo%1VJ*;jtvShfk}GQk7=$vEaq7k zWo$2wa6uZfpct}O(89O$gq}Y7gpG7U&u6|N@)24>e_v31e>L#qnZd3aT0!x1njsCv z(5yo!hfoXhoi0B2e;V?`7ZQZwH@gIn=^pbNtgJHsl zKVp6g4={r`E7&Pw&-~AhY z@rz$I5iy$Z1Ny-JJppaKDqyys_))Xd7Rc4M{nx%X=!Y#Y?%fqg-V39!zf4eR zy;@!q&>wV~fk37fMgeIyg6>m)qs30H)@k^yHNP9mdf3$aTOpN3YpYv>&COP@60LN* z{vL_-NO>^2K`-dDER~g;UOY#=Flq+70)iez$l8}cf%IzMZ@hZs?PmI2*=%r=6pxu`2qBO7@rg@$8U}>kWwdUiiGD# zImXWU7|eQ{6=~S9NiA>z7l#s_ssY3K4DBO_G|~Y{wm~0~MnX6+q!GAu1b#8D^~f-?yQGs(TYI+ZuHlg1U|q{T_j+t7X^W8$*-#jZx|Gu0_!JQedViik=9Q9wn@ht@#Ur=={gu(Y+^nh@WNe*zzU z;Z+j@Dv3Y9Uu29?&umL9Sli^z+&gFP+;i^TZ@<2L1u%e25N(JDkO(4)%Mw?D&=6Nn ze*jn2IuO9MMhxP*GB=dDDKQj8lY%uNr7**4HzF}AaZ5lSwsW>SD$o#(%?oJb`6WxB zIc?{xnexV>ReWMDI*f$U`K;;8n?+ms)u86C+9iRb>5RQmaO~yHIn!ND2^ggsU!W(N zUNc{sNyp5sBr|T&&aI?k|AqtvlZEOXXayz~@RbN?dtMLWe^Iu|th2RpSaxkEIbku# zaykyyzFF9>zxyzF_}|o{Owg2Z&FuQLS@3v!(v3-UN!%6)X7c4?*1Bsem0D|sNGQ?< z+7TwRq{NtkI~W&e_r&ljq|EEqQra%L1|~2`T*AOz+#}UQg6R$1$CQBwcxWK4!kveO zyi>NFC97y)8Z!oFF=yZr9>R+6nke>?^^&^;%fB z5xQgLR#dY%P*a>Q_P})5ws38RN)4&lGXZIrCN~Q1rgwpUppbW*v{~Y#?a|sPsooJd zl3!l7iWP`%77A8wNg!UE{=YL;Rf{dv*79~vV667q_^MgVsF}%StyIkJz{SFpftpZ&L@w-(&A4m#e+75b2u7a!o;x5Do@3@mz_ktRZac@)rh~PLqffG1M z%gZ8#1_T&;eJSMILBsSOw5Pl9&-4vx5$)@szhO`h>tX*pJd9{zy?;nXR#4=hILFY*9|(Ns Lg94Wb_o43(C9O8d literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SlidingWindowMaximum.class b/leetcode/out/production/solution/SlidingWindowMaximum.class new file mode 100644 index 0000000000000000000000000000000000000000..52af744221b439b62ace2aaa923dcc0e2ad83ff2 GIT binary patch literal 1798 zcmZ`&T~ixX7=BK&%O+v@DhZHE#nM6p5kjd}1;h_pG#a2SNTm3|LKfVTFE<-3I$Y>< zy!F~T-q$}q3t zJq_;*w9Hs}%b6AM$3|8Kl(|C26zE78RjsZ?Rh$gUc;CD&e2alWuh z0zIkatd+6yJ83JQDSWkH+_rM%+_XSv&bZyw63}An$>hj-Qb1Vz^Qq*^IfD4y+AbN{ zW~rQY1k^9fW|>EKrEVE}MxyLk*~E2OB63eNo&92!((v=cGnGQt$nPYQdB@x_?de$} zv@JWv*6xB)bhT(0)Ic&_&oiEEKL3hIQrz8mj9WYT7!4l?gq90sd&``+q>s@iKRm0( zr9d4$=oRR#i@j!B1>17=UC|mo)RDr199z_}glil0%L<)^JnDI?_5mk>OK`^_k2*mw@4uNb~j9&so~MWp44Eb<|IA zSvOT&qncRE6>>$xHk^Vjpxfr2X_w3;J7aR$7aM7KmGwcIAB~;dkr!CoGqPoKX`5Fh zmh=!Bo#1x0u)Qr$h;laFtf$E`flR zcUI-eWMGx9=8Dd~i$J)5+?X;-bSF?OWV4kt=#ubqIWce9awI56+#F{S=GQNOeozj2 z8T+_O@G1CIM~@(WW8y=UvBfP0ahkba8NdtZ=StuVUS#BEF#&~>z(M@@M`-$ORGs?!3(Bhx)tv!PO2+EY=zpO^o`0+2e5mn+5b^H<3$7t~(9aSDf6X?H>u-oa+ zRC)pSBC16C34LRgOwI-c{zB+?v@YFI#e-+Rjy)s+#U(vSsz4`#=t3L1sWOZ~s(zW- zG!@U2befVjD5cE$HxwcT&Qin>Z~FjVf-2>BQe}3Q2-2SeoMYEVq#c}R&CmZjcMbFG z3+zjiDwP;3Bdm0zCFp;OUJauf;^N|&e+e!~rt03N=icG}xu>rkp{>EX1F64V;4aQf z3*&OxQMF_IKH6oWQy~4|**{SwqPiY;c^;pt4oWNUp;gXybGGX7Y0qO9wKhCnarwIj zm#5H9b%S*I994nb9)fq*4#d^Kr51!it#2F%D-R(+c+;cmEfOI?Tx}6X$qp^XC-xDP3!^QsqBO`wa literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SlidingWindowMedian$MyMap.class b/leetcode/out/production/solution/SlidingWindowMedian$MyMap.class new file mode 100644 index 0000000000000000000000000000000000000000..10f4a1a430585b177f3e86e720b6b808ab5f2c2b GIT binary patch literal 2068 zcma)7T~`}b6x}zOd`}^TLZMLmg*7BCL5h|dz#>g7C6Kg1V%3KZ$q=U|ldQ=ESNthH z_05<1;954dKDd1LH+8w(cV>ve&VvuRIp^GS_T6WnL-_0O-~Rxxif>{V$K5!RSd+)S zIKucO&R8yjb?IzKXH#Z4q`8>V4z3e2Q@GZqhtx81H2Z@g%j`hKrik>z86&FlLDc={+`wmPUD~l+L5j>1){C~6TQ_wA)JhU#iUxhXW9biDz;Ypj{13;CR+V+ zyV)!lR+qQI)FMY4(oNgyMT$039OyYuyDLj(Lu8Jb|RP3W9aNcQbbRsIsxUJ$bN-EA{Ld6qQ zR2<+76^E#*_)=O=QH_AQ&iXv*F5M}#vs_+d5qvE$=_92hJ%=~zKYV8+BPUw3rp!}0)=yu6^pdV|!Cdawvp*h`^j-Kl^+f#cqG79A-af1xgK9ui~S*J&=u;ne( zO&?HSi1@KwDsO=T}1>2#l-z z8B6lFFu)Jz2_%zp9q5JlnZh&#F48J6L*~TOnO6|$*9iPVFMt`IV+itGVnr4)EMu15 zw404fxJ-|A4yvFvh4*+TF>Cyml?fN~)@uYMXmA8{g`js>yy}2nb<>BSi6LkLSJ+Ab z*I2KTGC>)+&d3eg0W9!*A2+>b8bp=NWYTlLL2-^CjR8V`B0NAudFFW0YWnG~h$+ur zA@<*H@AA1dq;YSg+su$y1|LvMNh5_t@6n&3IP~-HzPB;|BSOKK^U4d1JGTSGt3P4F zvFDZg88&sYQC`yB#N0gPz5}tUT}H?oFm&SX~cYhT$+8dFO&V_5rNAddzrO_56SKttK_`h$Oi bz$!lCMF1aTp5LMQqmyjK$LHMh-S3?9T|0mN`*at; zS*)gU7}EycO(TK#GB}Mh$~&vf`^ub4V+bE8??Yui8l;&~Ud_OHmHSw~NG5d|xM1KD zfz)Dm(Yh;O);&)KbFS5H%eH`i-tnC9fLWkVvA0PeIAJ;os5PcwZ=LgyANc$)R|=? zbSHG&={di3*9xrA4|vdl+?GLGE(f+`I94n*;(!#h8qXaMR~1vO?yPO|6pD2fW?J2= zzU$6AL7ScOMdCRc+m_pr%eMvc1of#7&d;)$rtgK8kZ-qm_5Z zZSB_Y#!M=CPS5G(-3R!&QqJks9`u4%>A|3r)5q_lqL#<)>Jtp~F!%#T_TwJX*LN^n z(E4c=R(?gMpwT>lSt)2QNi_RDE)`OWM!WSA^b?M=j`;_MdN}l*g1_*aSq%F-ICLPr z@~tj*_HGnXk2q5jN{e|)2i}7eFpp78Ad4wVc$!g-h*>IhjmmsURkoPDN3p-b34D)9 z{D`;ljQGD$jC5R}RwwWfZ{a9)qiXw#DsO`O)KNUgab^>&_l(#{c9F+Z@=WqHCh!RF z;3QJy18!nqj}XH^$-tB_P>z15$WqH>_b?NeN*FjL_IS22+mb4m#6RRupu!3XRN1|H M6Zj894Mu_g0A@xnJpcdz literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SmallestGoodBase.class b/leetcode/out/production/solution/SmallestGoodBase.class new file mode 100644 index 0000000000000000000000000000000000000000..4549459873cf1cb9f6703b6cace35953216fecbc GIT binary patch literal 1497 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 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SortColors.class b/leetcode/out/production/solution/SortColors.class new file mode 100644 index 0000000000000000000000000000000000000000..ade627c686892b49e622195bb4c24f639d1ca782 GIT binary patch literal 1462 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 Be)<3a literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SpiralMatrix.class b/leetcode/out/production/solution/SpiralMatrix.class new file mode 100644 index 0000000000000000000000000000000000000000..6ac58ef2e3b132843c0dddf6336f10c5c51a6b2e GIT binary patch literal 1251 zcmZ`&O-~b16g{t<>4Q?_b3l-SBGp0*MKB}^AyK0Vrie)uqr}C~jyPDRWSD|1T$ps> zU(k(FOo%Zi7#E-K?NyG&LL#Aaq!vg+j=eU4!EtfF_s*W*zb9TcdT^Wrf(W7q;(bYfzpGdZo#>xsN$W)n$s z&LK)n^BrLcGhQA`AdahTkhA)4e3_kFxN1z97E|b6w=x1{>0EYikFK}ZaJ1CL*}ZZj z$2f;daaOmc5+jylOd0mzFbk_pIePlZs6OkpDbekTRWDGUGN&xv$=ej9>t9{{k1?3a zN+Zkm!nS>x-^V5$yB;xu=4@VAiyuneSF{? zP|h{TC_yV|)vi^DPu_6_*MPUFAVfb@0-zEn81ZXEHA$H4Yl5Ftz|VE~?ytf>8rygU zHNN5>j%_HJ0mVO{#{7M*8whL45S0zw zw+kxozZ+j+R|;GuES%yhJ;^HBbrp4}p%RVsnyExPYAIqpED{wyc%*#jH7ked%o{|+&`uI zyOVLfI#%G0cazmLa7s1!#(HWwr$(&fBt3;St)YpY%4${^)pFWykM5jHnJvr=bLSE& uc2FhJS|mtHv`L(1B=`V3s20D_vICVSyn|55RJxlgn{>alc2b`8ypBKX;0MG2 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SplitArrayLargestSum.class b/leetcode/out/production/solution/SplitArrayLargestSum.class new file mode 100644 index 0000000000000000000000000000000000000000..599b1c64eeb2980259c9a2eb04469de1d5e082a7 GIT binary patch literal 995 zcmZuu-A)rh7(LV7*=Sd7X_q9H*OW0Rs6MJ|LWOWVL=f5>)gH1U#` z@K#B<;l?YB7d(JhCMG_CPhk{1vovtSPIl(ZH}iexJ7>Nhe>(zj57{^*uEuc<*W)m8 z!^TY;lLFR5ujvH~0!B8sB49plRciwMC9hd~)@f|i{AG8e&d6Y?RdMSpuJ7r6H)sZ1 zURz+eRNkq3!J_ZG?@O+~S!)O7PUC?E z9d+MvZg+@9oxd;8TMpdHn1WWOcps7)kR!m z!Ej8&kxJ%|J|UIPD_Qu8$bvF8T6fG{DfUl(r+LG4EG3oo88doOvTA-fPM^O1ed6708@0UfMLwxG8P#vVH7Wr z!Ya~uh4E0x8Y@IG!91P6NNWd(Y%QQGPNP9q)Q-3q;%S8AHESoyFR@03Bt=i-K6!MN z0`8J6NyA2&GXm=vQ6a=1jQ@ir#9w5HrLMw2=X&mfYbn%yY?nWl`WRmO|_AtdBvecKuBs(l1kK2qpd}IBLPstg> ytx&zC+0Qi3V~p8a^L(g25+beM;F#-bws41DYRy_{0>&|7RGOhY=8iKK!Nh+%Xqy}W literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/Sqrt.class b/leetcode/out/production/solution/Sqrt.class new file mode 100644 index 0000000000000000000000000000000000000000..ea21e1191448bb7303828b53387cb81f545ac622 GIT binary patch literal 536 zcmXYtUoQhe6vfYNXIpJ)sV)_5ghbMkXoxg|HiAeb#Y4rjZFj@6ZCOkBHiE>97f%uo zUM0SUPvOCzGu26E?zv~?{^rhn{Jg#aSj1QyVT?pE8bwwRS#{fPP!)s=#RGxb=-7@R zRdd_U?q#dt`1@AFqm!<6nwEE9`L51;rV5VT3o>f;b3a(2Xx(TstGWC= zmUH=>ZFq-eHEt@eY?#V4ZV@rnlU5H%m`d5zN2GLmhd!oxptg@FhW?7MBZ5Gq4OY))Yuh+X)gY<-- huufun2UoHejIi2WX2(+KLDSQKg~?R25MXN~NHlyK$_a387l{x3lxj&Nu7t=U=`8c!1k^IJln29Og|~aIxs( zhJbn$#$nnJuq)Ml0l78k1OijdFb;MP-?W3|m2O95%FThVqkWx(WBEly40V6F+zw8rkG1*j-~)fP(AdW&yXbRKPM;=r`&MO#d79vfU5- z^gn8ppYkY(yJ;``Sxl__o=%=nDl0qHE!s-{WAj*G6E5oncQvkptF!tU;#1bnv8s#| z$P*Vv0!$KtxQG&~Is6kgjexziGgysvmb$d-j^}vtKz0_6v0>Mhr#yL##Wk|(;0*S< zr&vEgogjCl#L1r@M)48Kb54&O?!Q^5^t54etY!%mXS86L;ZbK(vyCf65?6Vq40Vo@5aKtA QV$R9^qEg@*I~HdD0?!0|kN^Mx literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/String2Integer.class b/leetcode/out/production/solution/String2Integer.class new file mode 100644 index 0000000000000000000000000000000000000000..a5cebe886a98f6188d6775ec557e73326eb6f7d5 GIT binary patch literal 983 zcmZuwO-~b16g{sq(W;0yRnsZYqo$9 zE3BJO&1A)_mXk+enRs46lqfk~TX!8<{l6f(tCTzJscx6$ky*hd*DO80Yd&c=pyRrL zf2p?Vl&nQtb{RR@$fT?qKo}7n(*fK-DuA0v2QY(M0nB19fDGmZdXI1Kj3Cf`vJ|I0 z4!U1lw@R*nXN42|V?Rn^$E0IJAR3FGHkY?zRm<*Ln{v+NEv=bOmetf)KF)ew_01wl zA)k`H{HZ0*xV4A=-p|PQX@;Ik`wU-b>Ju{DX1^dc9EEO6)9Q|y9X8Y*I|~2q zM|i`5Mn?_qzNgyLc%h50t!CT!vcc;V$gvjN9E8|RnBTa8ZVnjYKoMNz&ojW6AHo7g z@Cc(Qvuzh+*yfM(9C5tHINs3r7SnB7QqUMT%glcGSbMKSkUR}wkQ90Ff%S&DNAQX- maG7+CFme#S1BBEAj0lf*h@g&9Ar3Gj{-FCetBMX`SN{TW&%pNp literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/StrobogrammaticNumber.class b/leetcode/out/production/solution/StrobogrammaticNumber.class new file mode 100644 index 0000000000000000000000000000000000000000..86c2bcb028674a201f21c03b665570f2864441e4 GIT binary patch literal 906 zcmaJ<&2AD=6#gzVFasTIi?!7jl=?e>6i}g9U=ezgo&re?f+(R{nIIhHy#-@&|8m`5lPW|iB zx}oEy)VHKCWm!f;Rzr><@<2GkuQ4cQW}iWAxE-5eu_+w;>3G<-z303=ph%+WT70n2 zJt6&BQ1yG_fMKoK@;$fhc0E2Ea$i`}n>!54;^0(@;ey%h^EbRO;7+$dS>bedGA|jJ zptDD(Phgz!P|lnyWQezXZoPWKM>7numOJ(=`>~KH*H2BG0@;#n44lKFhT8`6*kUkB zrF6BLE*8_3`xRQ@^rZS&3_7-Fpn#%*67DcS>bnNfT{cj`Hm!2zIEJM^-JZ4kw&nj5 zn(j>04{WFF_a@ZS-Vv+EyEx>uKkVi~nm887WgE9bIAaa09ry1 z5Y45gPJmc|g|`SRM~5MHsGPh%`KBIG7X@MHJEKLichBaIy lEpwO1QYcfOp_A4+HV9vmq6<)dAj(+&J2hiSQ7DAVzX0G@#;5=Q literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SubarraySumEqualsK.class b/leetcode/out/production/solution/SubarraySumEqualsK.class new file mode 100644 index 0000000000000000000000000000000000000000..20672d7c3337c269027675ac797adfe1d0c9f5f3 GIT binary patch literal 1015 zcmZuvOHUI~6#ni!u?zx2c_=FpQh~J%-SW+jMbMN`iIp6utnfdkS`ze40JWe5nDI3!%XqZaD#yxe*D3i4@ zqmWq}_ifAxSWBMoMau$uCc7?RJZ)^b0{tb=cUR+j#SPxdN{z^sQllzs>oV|^-v*6n z*9!%POXavCgFqgZHWS#89ABrtMO%VG0e&tiAkQVXg{e0fGA?D9h zI@>#Vgaz)nn_6HXAxyH@Dtm5~^V4#rlT1gjRoyv!8|h?d zLjul@8?6P;+-(`x$kgNc(YorI{3u0C;u3!{^=ROihC|y&FV9o(G-pmAj*{?YS}Or< z^z*J#nScQd^5oPQqGhp|A!-u~e?a?i0)2H({|3Y0dkpivUNH26sTZuYIeYpUt7&UC zZRR%V8*^!EVvA`i{TS9y*vIJEEGV2v%U*~Xn{CohrucGpls3MytpO!x`?#v|=|HyGdjm+8JqW8@Fss3LCeDAk%NWX6hX#Xt?_q&_L6T literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/Subsets.class b/leetcode/out/production/solution/Subsets.class new file mode 100644 index 0000000000000000000000000000000000000000..6ed1ba98fabdbecd9118afdcc108dd91b5120b09 GIT binary patch literal 1449 zcma)6%~I1)7(F*lNLwSwPtgLRh+<2D3JQpUDx%IX)9L~TN7pl+ncJlyqy2*F;WVve9*7A!r-(Is_v%sIg*(KjveN(bF z1Nu6qNqxy#t66@-Ws2qrgijxQh_@G;sF=;NEU|F-F?r4NEtk2go0h*WaIMKVLT*Y! zpnL+(X<42MLUK$l)f?`r{m7B6H=^#2$zB>bi&i%GXkTk@?27EJj@t%iaK}IwE=xy~ zH8wDdIUNN9cX7|aJnkDq{}l7CYrW+Nsa{>y zPm^sU=XB;sdJFYxm4Tdk&6Kv7RjCN1B99|TX7+_Z`#=0>V90LEsy6H=uLQa?2V;D! z7ZTrj$MW#ugrmGs-=dg0?j9y&Vt}vF;8O)+;3T4zYa69Jcfnm7-iG+fgMxEhTLNVQ z?K~Ty13J)2iM2`o*{p{($m)8?jPu_an5CFS&0}hjX!!NWCp}bW?-SJ-h_| zLBugi9%BqN&cG97cr$>z9EObG7#!U=PuMtmaRF&U_wc?X6>55^>7ynNv5z(#7tv2i z!6km21Fn+lPiO&dX;hL*tJ`SVfv(_L-;|cpa=V`}nO1WtZR{K3p<$Sk`f^mdYH2mC z?jXUMS9Xx(t@oPv{AW+rD@>{%I?vNg@HXkqAd5Sggo#I#itZoTcc~XP4yAN%>hqi09$pR#x?4wisB4k*BA=cm A`Tzg` literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SubsetsII.class b/leetcode/out/production/solution/SubsetsII.class new file mode 100644 index 0000000000000000000000000000000000000000..5886373393983740cc95bfd1d21589d10d32dcba GIT binary patch literal 1484 zcma)5O-~b16g{tQbEh>syL=iM;Qe=UF2pgw#3IjviOlL@N?O$-? zinwtrD?k%|fIr3GVAS(E1xsZ?CiCXr`_8-fp7ZYf`2Fn^z!Y8vp&_nfEC?UsK_oC9 zL@Oqwn`}i2lR@0YJ!##S%an=-Djo_n&6q{gnHBKI;wu8md?{}Tv}ett@!H+Z8TK1J zXED;1Ep6!5if)_IuLTun%d7~rW|!Su#c(Q_Oj;mR@tjrD*;;VR0^PCoOgy`-@98Pm zF|AbAtT@CeMR%8ned`%^VH*|Kas)d5$AvFe-Y=h3pKid;T<%+XaWj=EI>x49r)T*H zv@JXO#?GQ%uJTYZEzq)TZWeXNwaGPoNyAr9KFZUXhE~#zzSKHUadexU1qDznio#D> zceVsZ8sN3!4NL@bmz26{qgN^++YBz3TzkWKWy&!Ko!@j)UZ{pPgm}aCms{L1^74vR zJkszOPc(F6Py*8wTEh&Us+iUA49_*p;f02IEJ*#&Mug@G zROe~Vw)K5Zl2R#2IRoifOs$*YkOSo*JUAQaZjS(D|=^ZEghA zJ>7DRrGh{>b~eoy?nBl$-%}#~NZv&6miFlOT!eds(zwOHQ{%4-_`!ihh-*8&6u*Ms zz}OMQAq^ioxHfq~bkf#pb{DSEqx$F}N*?}5oS)y}@9@1nf`2h_`U!#YuZd$QV+sFw zEqo+ngele3{X7IT^9iz#Rwn9T;!bubS76Xf39lTJBaB{_ZN>ol5Mk+lqGVHEWPp)q zHKX{2b`{rggPspJ`EnAt%2xj%zy~Nq6Q>90o{+6Ylp{2qK=onuFrp-)$zwEo?pPwK zyql2wfrt`OPS8TR^Ct)r%ALgNXLL(Ql7|k^^1&y*{P|gTNDAq(9YqW6UUKduj|i+qa;p~jqD6FEdC(i&zKDS837X(?4T!smMf=X)dElez@p R?~V7>L>Z-QcNp{`_7~F(LZJWv literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SubstringWithConcatenationOfAllWords.class b/leetcode/out/production/solution/SubstringWithConcatenationOfAllWords.class new file mode 100644 index 0000000000000000000000000000000000000000..a57f8620af81597b32ffba97093defc9f0005617 GIT binary patch literal 2318 zcmbVN+jA3D9R5zSo0Dv}rBJpQ1qHd-OM0Pbz!ZvHC7M!gN((JWx5>6$NH?8iQ-^mP z-+UII7-Xi7(+7NM6=pg<`=)=5G9Z2@*@o0shVfy~{_f{@zVCN-fBXCKI)L}#7-++3 ziH{6~aN58boRv6dKvzl(=aqCp;-XSMR>~y}uq|0g44-Lk-uOtvyp z_DileH{ts8=Zap=_8rgm-J&-#d!|sBD38nX>41%-n8XzmQ@Cd0 z10>0qiR-wbHv7WFO-!4xF=HYJqH^eUn&teyyaXdNx11bNZF$+2>UUF24KH4O&iI^9 z0(td$UF4Eos5m3D9O;g9aOE01=ct-oYl_v;YTSNGAV*MVB?p0{tLGO8#2oF$9YL=E*pHJ$_Zs`w{=LvMi zM^ceQO2*}SG8#_Cte6#jfZn*YVgo579*G;8TEag=t|Iy?VyiHwt4hBk&z0Y>-<-Z(!P(6fjc-#|9(h? z3$qkvN;*KV0(ym+2Z>*lH4d>tnD%dQgc%yOukjuwo%@#2fllJv#hmtfd^h83z65z#8G7y5(5+kH~$kypCKf=o^pp{%nk9698&j}tKxHv zJs7kX6+dx(4K1n2UIp^L2e?{8SDRkNj#QM)L^m;`_|qQ3QVvS_fT(4(Q@f8AWnV?> z#4_~o3R%*olXCgR5AnzLJQd;~2`~r8l zBDi3~LN=1P;0L(y2N5EkHyudRzWeUGbMC$8p7;Lz`+W`|gOMmS^hcp$K$^iYhQb&Y z&}T}OQf*d1868^|Q0KgLSD<6QRB;#U+eNqf!7i2=iO+kEU0$}UC3y~lYHg#mE6_e) zsIPll^@3O4bF0q;T6d+_2(rcK>gt>uAvJ2@gu+rra0cfnmtok5(^2_ZtO z`$6)cZ!`dCr3dZb#)@;qUkAK|kyo3xZEdW%+KDw&C;4>22?%&Mjud-?;D zDJzjQ)iWpu=#>CdUGjMyKvPd-AeLS-RdwxKRz1G@tDNjB;`r+4eu(x+J-OjN%^^XC zEo2=h!vxO{$n!CoPBZd?1Yg3$TgI1o2P?#VBHlsLpD{z)eRzUf#HfrEICVF53Bkr4 zdQvv`Mgg};fgVII5fYaObD3gLzd%G>K;xfTyzM~zOIDMYkXN#rsl_5k$Z#vWW0Zikefgr|P(S`{nCY6X9FcH%b zHxR(M5(y=eO5DoVDisP9 z0prq3U!FY#1jE7Qik*AAU>6&+LQM^)1pH-{qUP_|`*yloar5bV73WK)3-nw?eNa3{ z9%(L_y@Zj?aBT#(T&R|E&NElh?`mS0QWH(Iqr*f$`b^wWVhRH$y3s@WO^8g~#k7fg zxNl+x4+Qk{T`;$)w?L>~owxV4(n}jVPL3<_m)xywYPoOc1vIz(bhlVJs9)PF?yXoY zZwpLBJz9TNW@7)kSXC?(NhS75<)Sg4Dpnv7S#UuDa0|27KAASb*Drp zZPQD@HFWVL)G8=d@q0Ft)Q=N2_~ntDOMF1f8Ag@jQ$wF;$r{={%QtrjGp_6t_~!PdbJi=pbwzb)DuH_O` z4GYxtcqfvRi_V9^r5aLa`Hy&tx|R|3N9vq)I|(mFDRy}9GJiq9&|Hj6#^k46X4at> z^tOKsF=Jq$N?Xc{JUC)1fed|!0`Lm~O(JyLb6B%x%^kIGV4c08wdbhQmFB4WrzC2geSo*bS1shJbs@Dp+<>z!e!>5KvRaj49AEYZc5VmHe_< zdTuP|7-^p^t{Axmqhv|H7F6xGR#~Fcm3-bPZ9X#!S+krFXe!qS1pJYunZemrW5bA7 zY%3R^waPYO!s0W-s)b6P=O|0k&T&tm^)y;5+eV37id_^qcaqQM`Vpt_KZ#RSKSyfu zv|X|a*+fz@OxwoF+MKcONYQaqpdoE#3x-`OQEuc6!v8tRlQnHeI7vljj%3!?({W3{ zn=V#LE9L{s>E?-sjmXCM(1KQWs=i5uH8Uey<-=uMAx9q)m=fr8Fm)BCD^@OJmVCGk zPEr|8O6!gfcX5xkeV9f{Dn2=r*5gy=msiadcDA{`xHE-gOtp8sCq^bC5Qx;ZwVIw7 ze97x%tgo8|0)mkby5px(Sr{djRv%lfU3TJkA^K(Y@<6i6bh(&P`^M^ z@Ir1cPO8Z*O>F=EadI!V!y>9fY>ae(MtHckQBw!C^iWNhUYv*t(oB))W5%AM3$M`a zh)9xXh(C-j`kJI%lOwGj^iq}wiwF{}O$_J&<}gEV&0xD7q{ p89u4jRX2u^qoBW<|Ce{z;V5Spb~siU=}`JoIwCAP$Snm!e*h5i6i)yE literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SuperUglyNumber$Num.class b/leetcode/out/production/solution/SuperUglyNumber$Num.class new file mode 100644 index 0000000000000000000000000000000000000000..ecc69cd66020bfc548a7bc764ce23175c4e26ffa GIT binary patch literal 885 zcmZuvU2oE07(FlT=-O53KG-I1Iu#X)IupIyf>9E+j<^fv?q8t6E?r9sEc&0kF%eC? zFkbtkjOTqJ&J-_rK2Og%Ps^|0-+usjiib9exaD9Ow^emVg{lg7E!=mQYZmGjd;#M^ z#sVT>74<)`8VVH0@1s%mvA}A(GZ}{2yFvW%?c}^0W(QmzMoBbo3T)LDwm}foPX)|Y z+7AUv?I;On&z;C_%*k3i?aBC5W|8XWLsO|yo=5>VNRlvX#d0(XIV|TTszlL*-Am7h zG7C>qf$aq!8dT>=q?Ti{)Y@nALhi>h8SEc-&%)mLK&|agG)UxllF{0;MaVysmX=ed z5C7|^Nl#8Eon*c6Wuz|M$i28n%7BZjD7o;^aN%IZg{#69tXOy;u%3HFUE$&yDgs{K zJ_RmEm*)5uYw81(a#YykCtn6HhROd2wHcx0b*2Nr^OQUG25}x%8Q0ilC}4@X;y0!c z{x=l-ohb}|cM8)ln^P=(=C*)!#!ZcUMU~g&3OIX1|3}#1&ezHnl(Ef@eA-1pSIUQ> zE9JzbGOwQNH_5F~j{gNlgTMYKb~C*qF~G6r-<+ZT@;kUrCE-0M*Up^l$(+mf8$VI} i3M)_bLQ}b#)}B)t*wunJa8u_!Y%x2;6mgFy7ybax`lnd{ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SuperUglyNumber.class b/leetcode/out/production/solution/SuperUglyNumber.class new file mode 100644 index 0000000000000000000000000000000000000000..53924b5ef1ee2ee8e949d652ad56d3f41a4dd9b9 GIT binary patch literal 2024 zcmZ{l-&0#f6vw|y?k~~+fpWnVOOetxAh}dZ(+WtX&>vACP-?Y;PA_mvE)5}uBm?6^ zU-%CkebI3`@qrg-9A`SEV=LpM<3HeIU;HbOA%6EJ1`Ia2**$yC+1<0BbN1$sgI{(5 z3}DueMqJhr^*t^Yi+)_eRX^UvppGFwG-(<3!@zrTFe004wH&@LrBNwem(7@taUC}V zd{enqfj}&kax!B{dwtzm7tn^?l$#x)HQaqqKp9(Gas(PC+>}H21t)XYUPw~YG_kg5 zC-2!ASB}d{C7W=$M&rb6F70GKT25}3<_yt4l}%J>xmh?i7we7*h!y^1@A8+TA)Rqo zWjHl+)G9fy#E9Ib4S~AZtiAYX(oTDO>gW_Wd3^1Dy65dA=cb&EEKe-Za@^~-W2fnu z+Q6GOJoyo>neA5x^v-0*GTefH2wvn32*QDRrTprBF3dAb1!^d||~|B+U9l)uf$G zknyU^w5s8lm+sOGkLGA5V{bCi%0oBFbZOx^y0GwC!_|<6VkL{uURq+h!X>)i`Agdl zb$`lr(vI_p;KJR8jv5 z-k=mHIU$5o90|1HO}1P>j6>%ac-;2VKh?YY(m$v~d`eu2s;1gjfDlkce|heIZmFE~ZKO?E zvVLR;J}>kr>L}|B-QY3&sK*KF>u{RV1vFrU{WzL1g_BrizfSumJ>)U(a83vFej4q3 zhulJMS!zTAXQ)%IYWno{=TKN{izD%AVGndRv4L|Ac8z> z3y&P~4%^Aw(nUb$5M}J2pc_k+S7=Kk;=!EfDf%$vAvCzgT@RtGm3#$ZzJf4cL71r^ zOqLM_@sPW9l2ZtuaVMD^iS<0xA{RDv^oSDNGGgXrA59{>hsF}!w<~nhq$^`6NV+ee z-QR&esQ6^Ldi5DnUck8D)61GuWV3_XXYhaQmD;PLmHj!(GNe4iiQiy6MIe4emIeES znV_|f)cbJJwEaU-xFXJlz z4M*8d^AB+WgGiF}R~W`O)PIL-m2wV}VX1VJ%u_FOqtVl@lyjky3trB0ITtFq_`aNr zI(!X_*;H_mk;u0}Nh4#DnK%XQ06~v_f2p`N(fl`VNcuI5TE15Xc;V!mMKA+FUc8!r E05L#=WB>pF literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SurroundedRegions.class b/leetcode/out/production/solution/SurroundedRegions.class new file mode 100644 index 0000000000000000000000000000000000000000..98c6c035c407cd53ccfd25884751cdf94abc9d6b GIT binary patch literal 2159 zcmZuxTW?fV6#n*{ea+=9S!W0RFqsaPpwvYCnO zxm>ZZFi6h}#r&mgf!G*JIW; z?Q*&|pY@zY2U%86QUWG~s)TDJcX57&()O-E+@%o0R<4#-N;FZ9_y%akHtxtTv~cC+ z&=j53QDu3nHz4nNt4BN|u{!*KCo3=pq>(fo)4heZUe9pMs9b^U^#VbJRz%&&vB zcLr?nHM^m!2`rReOT}8HA=<;F-SGUVmQj>QwD$Vc0Q${Q`CEe6L)P-<*y*JyK z70}0w<3w*iu}Em#4*DUg6=N`{m|-;@A(eo}$k5WW6|1v$cEYdNfEZw-)i8Mk?S<;V zh))^BqJH_=fiaTOk>uVkH7A^sE&h}!X;G43ziR`|2n`%*Xaio5nN0?yu|IO8u}nB- zmBvc0(%9GgG}e03SWV(X9ZS>L&@`T4-XJkdf@G1fjeOX)lTvM@QV-=gj^PlFbN3qF zr2Gy}U<$8emJ}*r6j!PJ3~%8J>b~OH63MO}lnFi>&7_f{s3iPV>HUC&CME+Cs#Y!6 zTC!Xt;g>ZMejboe5p6f>ttSWzK~lLsxAbQNvG^wY?-w4hG!^_X?A-6 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SwapNodesInPairs.class b/leetcode/out/production/solution/SwapNodesInPairs.class new file mode 100644 index 0000000000000000000000000000000000000000..39a2f8c2f77b50f71bafda7c40c7f7fbbebf6f54 GIT binary patch literal 702 zcmZ8dO>YuW6g_X|%?u!=Ew$CrD%KTfr)*>c#DzxFMxYv+NnAc)Vqb-!VFo{bky}kP zP1?jI3x8DgyrD+Z$>iR1&;2^@{<=K>3E&AH7U1HphwTC^+{@G4_fYZhK)`M5Sf@_~ z>}o9(kk6;1NMN<2Whiaxxd_~IiSSKde|ENxT>`V^g*GkWl zmOwrsmjwb_)lNqzsi|ny{z0ybqfeDiOEB#ar z-*?q%ri3r!kp6T&8%8g+k-K?a(cX#rpo;L26UhA)W8$46*03(HcD;j?>8X!Z{H}gD zIEjW-Dys*z5Ib;qQ1e+3W+rW(QJr4UJCDvFzGdkGt(%boH;9YN0{Rt30wt`{vROE= zISL3bV7;}^V0Rz)cAGL-pdEaNT%ciG(+PY@{{zyOfw7KZUEj$9hU9{#^xfW<--~6* zE-SurvJIoA$(?}YPM0VLpQyr2mHPImszJ6zRnK^r7bs&N8+e6Hyuq#P1^ZN4LCsu^ zXJ{~6CNk#;uU=))208PtE^ZQ8>@+jhsiDM)TSSucz&+L_N*-=6|2CU^(iZOg0aAi` A82|tP literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/SymmetricTree.class b/leetcode/out/production/solution/SymmetricTree.class new file mode 100644 index 0000000000000000000000000000000000000000..a044370e78f839cf9e844d3fd939ad1c79343846 GIT binary patch literal 2387 zcmZuxTTfJ16#n+inK^SgT$RzWYPA&wW=2G)MM1n!wdgRWf#5Br9mWHU49qwTrZhFF zFHM^^`qCGh5Pjo?q%mzI)THT?lk}nQ{V683^jrI!xj=z4d#}CM+H0--eQWJM|NZTE z0DZU~LMwWM2%}Gi4?<|cDUm)j(I0{zy zQNcf$UC5S(6ucds6AH#~{;sXil*}&JsipZTyEvYn%5kSPna`wi6X{}B*6yZJn$0eX z_1NJi5E1^Z)juU0R$~IJ%Rwo$S4Ze1QP9uxaGa4<*2H zY~!k%v*PUQT8DZ;!Gnlv#7*p>Y&izlizru$Fu%i54&Q{A_Q0-K89rmJEA}fq{CU@5 zta00`T{UtB0x%F{?67tjagMnz=>Yq2fKCtUQ_4>@$#kPUqXTg<%qYRQjud+hQzY*i z!};R;Jx99^Pg%l0MMRcfEdvXSK(v8?2R9OupCiUM5LEaH z4->9X;!a564}{Mc+;c@=)F>ky^_AgY-TW(RyhcD4L?LPrf~b$fGg-!E?S|2^8z&(q z^|EWTy7{$}!c#OmDLh3DFhkQgp&5^o#(litel!w@2!S|Ep5g>(h|&mw7{~jV#1W)% z6mvL+d354Sbm1#neTxKs#Bn@l*{$IOenyW5e25-LkkK$3^l($dECiLSB$V9}X~YI2 z93jjRyg)l8FC&2~4|5XTv8wJEbwbra1pRN(ZlZ(VTlAUekkIxR)NrH1>udP{sbSi+up!&{nV)#N}OZb_8+3c@O;mV6Vnl0Ol7^ z4R1)abcox|>X8fZ%1-V43KsjNA?41*^CcQtjBNNx{!VOddJSeG_7Y7uqDEXMX|JTb z0i&y%<@jr-H?#{O;U${cQq(4+Mn(3}az&O56Q=v^bw8<58skmJ`A|#{{TqBdZxfL_ ztiDfqxk+O98T#=#*_a~Q8KP|y`)Qt-A^x-Mg?rqY<7ysxEZ{y0?1%gK9;GS=z)BVG z70resqAQvW52HO||0KvzJHB8CCD@0Rs&{nVRb4lA!p2@S@PT@ZW)mm)g@RVp7mPOP Ldhem$gOmRO1h2SB literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TextJustification.class b/leetcode/out/production/solution/TextJustification.class new file mode 100644 index 0000000000000000000000000000000000000000..8934d6dc19d3a86aa01e05898649b460618b6d3b GIT binary patch literal 1828 zcma)6OKcle6g|(Lk3Zu!ze(bJ+60o+`M54ka3C&$HYJeY28mRS03l`KnIw}=?8qL6 zR)P)6o-Hdt0V!n%i>4}-x?+J45(`#r*&sF`Bvz%=oM$^qh=YW!dGEga?!D*Ud+yA4 zPriN#U;@`7IE4uv&qffyLUb^!RUTA4AHtN}C*_in%cUq@z_gARb-W~?U2^lT zKP?bU4Brq?W(u|=a60SeorUt|ic`F9t$5V5WD7aVyI~bwd9EuJf88w!v}Uh6xBU5X z$#+-XoaMWPd`2L;TK2q}^0vTG;_d8)wQZ$5E5DXn^owqOEi*S<)0KVKOJ&`XPdDN6 znd7q|5YCm0i(6LCA&6G03qfmpjnRo%v<@x)B3`QPo_bocCFuXO+0A zt8THnzgsBUvVs$m69{cux0YPnUnhFeDV05XHZ^A4{_ob@-a2T{z%koP4GCtZnOkhp zw{kbHSzFbvR*4zZahWW#1B>oj-tx;uQZV(uTKFFzk;Ou}m~&=bNoIQkU*{z^22P_% zpsmVNos;}c$Ck|KxME-iR|Ptb(^&7aftN8$-ueu@f>#a9VV+eOcnw*B<_1Kz@-Wcr zD;rLZ-92>_S`u``rZzLA!gKO#k`qoW=R~u%ww$~zkW4hTw?1D-X6|q#4BPP>-Y zm{v@cCybfOsHtAuhq7#{%cf@cd=707=Ak;R?5JX|^5X-j45Urz((w}*rb=t&Q(R@d zkQp-7U3A9vQ8UC~dP|7Q(oTquzr^*pzK^hC?<2BQ6?=B^e!On8SNXliRP0&^8PWFA zVTKFW;@j(XIzoh~8I=gL5+N!PmZU2h5b|8cRTe#S-ofpPqW2@%A&2qP^F zq(loc;taaPAf~Hyenj?HiPwoZ@&6>LU6f+5TM*s>|_?Rqs6 z(HW;?h8;U}xj*HRC+*CsN;(E(90Vd7`8wwrbH(Xuvh`=<<89U?ln4u6J z(Bh=07Yybk;qJu=zsv~sE&H6m=L4Syi^1vaT)4?$-Xnp^6K@glWG&%)`H+ogop}CW zlvcr$FgkL^L#j)kgzLx^$DY(#&-JY@E1;IV30yyny0o@DR6Xt#6{Rg>AAVf<$99NM?pL zCv1t{=qml5(*FpvtM+?pfBp&j#x?&;*UA;}y%fB;N&5%hz%FVjd4q^+M17m`iYQc% zS>-h`-pLqWWsGL0`wL2s<~OL4BQL;6@yv`v#oaXO9vbO>9}j3(N$ew3=%iD0k#_q2 E0!jg}0{{R3 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TheSkylineProblem$2.class b/leetcode/out/production/solution/TheSkylineProblem$2.class new file mode 100644 index 0000000000000000000000000000000000000000..da648c90b1f46dc6dda0724c5751a52ed3865938 GIT binary patch literal 948 zcmZvaOK;Oa6ot+(^q&yfRs898mN$1v_wJ?h)5|QrOKwONis@Y92+?f690(} z3yQ=7vF1l1&NxPxx{1c)xpVG!?-|dp-`{@#c#6Fu3aD5xanFK*`z9V(j8skRn0RPn zSD+A0-Ffw~z-I4ws`~Fgd9JVCg~8BMvjc7)y1pB=1y36oXKbJ6BQ*_gCEN|IqBAxF5~Q; zJCA5E@967r+4ZA=^cFP9Ko=F>HxrCQluFtJFJ_)&1vaCrd}|}eKVa1xUm@z>ko&?_ z4p;arPy_5>jnDE@g%UQnqCTbxD(E|5y{1Oft>zi>4UX|=uF@uD|6l(d0P8rSsrrliC!83E05(xcm*=jOSap&Dp>m+{HTIEUF8f G`TGM|q0ICE literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TheSkylineProblem$3.class b/leetcode/out/production/solution/TheSkylineProblem$3.class new file mode 100644 index 0000000000000000000000000000000000000000..d284d4f2c71e26c8706bf385e1c269899b9ad5c6 GIT binary patch literal 878 zcmZuvOK;Oa5dJoHV&Xb9ZR+p{k3duEJmdgH;?OD*il`JREtOK`lGDanC2k$NvK=J; z4L2@aH~1sI@ z;W?*ZhV5bCaBs{*SK2A4N;w8&;QJ!%dpwE+nP!%|aX{*t6D+TINMxEd8B7Mv0Yff$ zLCYjLy<{kjV(wg?@T*i{-x^-<_q^+If8KpJy%0`(m_;N}apcZ@9qhJ*};@FjSRx^FGWd_uex4z>Ak?YS-M7#)Q8lD;0hh^XviUxEv z4Q!)AttNVPpc^?cY-QpZHs&Hu|0Z?Gv?kQOYb6ccD5gRbt2suUoWJw0e#%NHT zDc6j+C3~%{*d4|Gh*Dd%JE}eV1bq$7KGU^wjeL}l*VkeH$ZObvnTXd&*d*yY6qiS? za?HwaNbzo}_&QZAwc5X+bZCBqDmAhN7ztk~)lhLS@w$&%vOmB>+EqNlW0dKnlXsqW G`u+lr*s#z5 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TheSkylineProblem.class b/leetcode/out/production/solution/TheSkylineProblem.class new file mode 100644 index 0000000000000000000000000000000000000000..d06772eacc87abe7dd66c064cbfafa38cc2d641a GIT binary patch literal 2964 zcmcImTTC2P82)B=c4t|p7br`+Rk7CELd$}sl~$niLN6efrGI1&Wx~#KZ>^AAPD%KKIEd#VUShcJ@M9O?+^ZJ#)@~{_FRD z=gj=@*Vp#|?8p0lJcBL;-F~>xRf-;j74-Vy!D&Cvpie=+g0p^Ot#655)A5kEHLw1QFLGU7*2_z6N6!};f_|??<^48K3g(^m==%Lcf>6{s+-M1 zab2IKjZSoHNgF5|`UV9P3StT-SyG=7jcZogWS+rd$T;yz^AI)&Y~oDaJ*g!H&v?V5!njOAbxC$2PKDMV!Yq7K*9ut{lk8~l-pOLGnvbyl}XKSUdGOne1^eckd)uKE(ZZ9gb`nGGQeES4XCZ@CV3^Cg%;aik7DM3Z9`vifIcv`l7Iqm0AW=m|rCJI7}s1O!` zc~my~Sc&fzs)BN+2*oZU;Bzt!_!>QPD<1~suLzB7Lw5!hoR{+@TY)ORHxHl^Vb0HT zr4hC%Vtx&KF^hdX;`{MAUci@V#C;sZk7&XJG~*Yv;CCFtpE%6s9JSkUo={iOt`;G} z{s7xiM^8T558`>s6wwH$Nn*Aa4Q!SVe=yE|Hf#zXFj6D?Kg;{&0A(`cUuD#KekHuf zoVRf=qu-R%Z_epAQNM*+N1?2s3|<9?6tpTh%u!;NzoBh~=_>{DBixk~THq1t6qK!7 zM*T8fAEO%=+L+$)9G5ucn-(13|pl@a{1&>QJ&qLM-|yvnO$--;&=$nDth~QV~>~B=6;5Xei zOh~&BlUn(0af~nD6Qq^6BgWt_Am>BU@Pr^I^|Lg+jaxaIw&!Tto~5aD#Gz>nKjS1$ zk#;xmy+hMkeD^p_ZGA!0jDCAgKTFe7@clDQ53HhTM*&Swk*1HZM_NYtGD3x9b>Srz W>LPI4`P|BY0#@4zFOHdUI9B;Xg)VlmQIN^23jkV!f=(L4|S!2 z6$*lM5f?R3&`maOTnR4v1N=oIVm)tCaM6Kx&wc0Jd)~eG&CkC-jsaZ5r5GYOFL6OX z;rE(L;-W-eAac|7+|F%*@JwMtKwI#)9D&g#*K=07&8pK{x2p{@sU^Q=H#Y2+tM;d) z)~UN~f%MXP-ED0x+b`W_w>eC^ArR$hzzXOyo0UREKzLk4&FeOq7}}(-*Zi*6AwG3m zZKAl(s@hJ?_qIp|8UiD09lN%>Y(EQb4vHTWh^_hER?S&-RfXBJMa=Ek&+RxQq5?_f z7aO*>U95N=XWMD9sk12piT{BQsyj}tgFJMOPkkW>rABLTS0oCeKKmWwTW}nsjRd3y zlYV>{Kpf#t;2cJ2nJivG3%GvxRvO`XuClI-ymH;h8ONnqxMXI`OzaE%oRKl-O7Tqm zUA}jS$3#n~v#K1~`-I2=eU8 GnEnSJgp|Gj literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ThreeSum.class b/leetcode/out/production/solution/ThreeSum.class new file mode 100644 index 0000000000000000000000000000000000000000..6084db94872e2394f9f612a35e3b657750b7e4a2 GIT binary patch literal 1203 zcma)6T~8B16g|`K2Q1}FSrD~+sMSKT1wTNAkf@1BQXsJeg2aS{uCP!F+3u3ylMg&# z{0oKp5+6j3`~d%nKS3hmnJq+A9&9r+ckY~f?!9NG{rdCME`S@jW57Vnz-3&~ z5jPMPYHH321#z-tqbc!tu5-0p32x=C>sqT+UMVcOJW*x0d5zW0e8ggzrY@d3(ExIdcM-NI&c1GR~0G7(j>$xUcQtVflpZY8m+WV=;U zG1V=s$a7OkP9;n=In}M1+6Kzk)Po`>Ozjm-MHDgIp?!fm5hivAT4q9#5rL)3Flp^T z|A?{>#u>oy5_!GEaRliDs)KLEgBNRIQ9PLHc*n98$X4&MF|a8Gb!@esa|15o41ddK zdHLrsfGE;v!Xq?e94&Z)3s@)O4Ptmp{5Il&Ob;o=04&CvlqG@ZJTuAKg=b_mDPR>| zlh@>51|>U`Q(BG8B$&I%Z09L$l;=|PlBbEDW_p@XzK<#$Euvu`h7dn!8J&A*{EpBb P*;|PTu{Oclq;=^RI(i8! literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ThreeSumClosest.class b/leetcode/out/production/solution/ThreeSumClosest.class new file mode 100644 index 0000000000000000000000000000000000000000..6b034833f1b3830b485a4a18d78fae0bfb85afec GIT binary patch literal 909 zcmZ8eOHUJF6g^)%)9Fly@+eH}kp z2~AwOaOsMebi>BDkhtIn_=^lN)HBe8$V}$Wz301+bI`$6K<>RU$*BM#ZWw zTb>)lJy7x2-KM}`X=&YaoW)jcuG(liO@Epl{Qn_N%B&QN6GcvHwrT=`o@zT)-=aUy zZ-d{afL?cAFInE2<1=>2sNSk^Mreik5x;j3wu8A5&uO-*%?h?7 zr$PoNP|J6#`3Ih7y(K%P+3F*v7qm2drIwef9z zl{+LmL;4T7K#=nc2|S0y3!I0I3)sX6>bQtExP*7C`-scO0&KB<2Ggua(6cejS8~!g zmXRc;^NOExN`f_Gc*$-FPL89=o(bwsfqLQv-UufIino#CX^5HcIZu*%4BHr`r?Lx( fMUN0y6mf)<5aKUJg((g(`UjyyrU;S?E;IcP7z?M$ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ThreeSumSmaller.class b/leetcode/out/production/solution/ThreeSumSmaller.class new file mode 100644 index 0000000000000000000000000000000000000000..f6be4f826abf4118ea712f3d487d3b2c1f5467b7 GIT binary patch literal 665 zcmZ8d!EO>!6g>~#41ypnWh&Kzc41OF5f&O;s3dAMB~p!AxWQhNVsI-01>C`&{V#KZUF}F|6Fd362bwJFFRdndZ0){(DLgs=KEBAO$ zyn?^462(0L?W}w2u=Ig=8bE$FxC9xkg zpG1**PdoBt5@{cFUGHHFX?~qvDG-Fom|@jq7R<)ZXNXUW>nn`O+Duv2F=@ogz literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TopKFrequentElements$1.class b/leetcode/out/production/solution/TopKFrequentElements$1.class new file mode 100644 index 0000000000000000000000000000000000000000..af2dae8d7a46012e65eddd17f20139ce1c9b751c GIT binary patch literal 1142 zcmZuw+iuf95IyUpbrKws^hV1iEfCt=XxefqQcEQiwZbBWhgNxkmrb%tT{(8JH~lJJ zkZ6&3Ks@tNh*{e-F0v)>Wp?(QnKQG$|NQs~;5lApkwHZbPjbj&J%g6#2SOklT%gcEN;jb)HrRzGkcxpw$c++Aq)5vlIe~@EZn_sF zh}280Rja7=+N)yQRMbkXCf!Dv&N$-K8ONFaaQvbF9R24n$Eg*J&-?A!-4onohVOjm z{odR6zR&yY;dlRi^E!YJU?GHikTfwFf)B|M45Vb2HZdhHkIGBNMAk$ugb?x})Zm;5 zKOV+;Oowp+pOEEZ7@x!?Sss(+QzkwgLOqi5@|iFi@!2qDkd}q+J{Q6|IhzqTGk9EH zKQBv0md8yzVd4uRY!;nHJSM^~hH(U6GV!EHz8u0=a9MU=HSskQU)NyurczF(J85UL zPF91lJCRD{x-|G>%_AE0?)12$p|(Gfat8C0C!Nd@`(%=m)&1!)J2_%!67uc}_1x(M zeKhnRNl*3lWSmFyPAa!Q=}hvG?PRQ+N3J0fJJ#FV+<(SCXSd~ZiDX-UBAcU{mg2u& z4Qq-=Njr6_tv8i(PB|H#>Z$xBgZPe7Lp#evC+(@Su5xq0&Ym8yr>GlX26<*%=Lzzl zh{R8l(KM{`9J%oumfmf8s&v0jkFFbJca0O3Uf37|z*a zXL(aqe$~)UBGSZDCcZ%|Xs8)ZoJ!fbe1saEY}U3)v#&SFilo2)f!&#JPWnQ0T> z{K zmiM&;Zels$v2^oX-nxwAYARiwU2M>|IL8`Rcq_bvl^jdwQ^ceHtiyV02?gx)lnYE* zk-B4^G+dw>tW`cqqpi0eR*!CCLPKacozILpJqa1(Xthb*E)!{CJK7kwGMz5sEqoi_ zvG83yT{`tv%)&Ex*1~ggy0&6_D3eHM61i!Gdoo0|uub<$%;#l!!NT|OeG^wK`~WW! z%@$t5%NAzw3ej!hhq!9tM-u4Actt~fB@l_~tTQh4vG5Zyc@hfUZ&)bcP3BhZ zs-zv|UsZ1C4^!4#g9}elCsVwF7WpH6tO_xiR}K#sT}9nZ;y|2Wu-Z! z)olO2<{H9d=~T{6q_TZN1uMj7zn#swRJ*p6p~7+*0=!a?Vca$tjJsD-iMm0Ras{cK zl5`RD>Y@X7?lie3#@}PM&&=je3gC%ek$AeIh=-pK+xYb(e>ybb39j$wn>;l>11v_zeZ_??aqgG}e9t6G6&uEWmek9{#~?9ePy19uN5AM#P8& zuAn`tM~v-pvo&JA0lm2Txtl}aEf{k!^%LqXI67l!vx~o9K+Vxr!3BhlwzSS8JP)fw zZ=J)60#<712t)$~)M_NMHrcJxKqnnWRF4`3)cG(P)eBgyVZ)0E%XW>1QRTFr*+pnh zS%ZeB5s9ij&kI;fyV=FRM+4V*6J6cD11q@?@ow_nWucqTUdoR1Gw%{2cmfT03Tw%m zQ9RENwppwvCvCv5u~Aj*FfAMTNw*WbSfNX}gS-1#Q&!5YqU<`*sVaK|yQ$}+&2{WS z7yOKqzytUovzf&v?8S!=U=F~YJS%GLD{Jj9YxPj;!_;bnxrj9|O&l=MtC=_`4>tK- z+;yU2 zNzvOedJ97IKUUU1Ue+%`XUFZ(dAJOn`)?s);t@jU77l9KyI5C*&sGn7PL$y@OxGbY zM7RVWe_Y=trN16G{Bbj4MvN=yjs_y;_IR*05@bt-7M5TqUQ;}X)Tk3dQAC%Q=D0p% zk}ZB2(e)F*LVZWT3nxQ*sYs$bB_cm z*Y$D9{~0uk_acrq%0=35U{#a~+!Zl2V=m4v{wZqsHx$s~M}=MvlSaVd53-M8cBF|z zzlQ@q$dMoA?l}85!GV7g`|twxlLUJ3Iu4LtdWo)s_yhXzH}vBl#NdC>$I(8dkadAn zwTENfaa!oi z?Ik!|1I%PMPBB}fLQhIxFjmw$UDoQMmeA8K1Q*Glq#l=^9wtS({M4gBmQWyjKtQ(o l7HY{+TGM;hB2uhy4+w=6}gy#$^Bi literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TotalHammingDistance.class b/leetcode/out/production/solution/TotalHammingDistance.class new file mode 100644 index 0000000000000000000000000000000000000000..e369b3ecbdb3249212635e866cec19af9a4ee498 GIT binary patch literal 605 zcmZutO;1xn6g~INOsj>K+VVgQBp5belQt%X4bX))Mv^KE2pe2DeZ0Wb_SKYESH@NU z1Y0(2+_*Av(VZLrh5ido0M9(T?0cDe=brm<&YhpP-zNZ`;ZXq!%XvJ^V?~hLb%{%x z0=2nyEYL3or?Ft6?UMM-sNac)N4C==QfUt&+dH;H=i@1;({pzrSZW^)QrmlF`+b+3 zwcJH&lPKO1ET%JXf!RFS-`W>Qm&bd{<4B&2`WzRW5L3gL*WzJnqxY}vhbdvgALQHwoBZWj4Sf8LKci&>}aO R6RG?~@ef;t1pdvI{sE&KZ5IFl literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TrappingRainWater.class b/leetcode/out/production/solution/TrappingRainWater.class new file mode 100644 index 0000000000000000000000000000000000000000..0ebd30cf158590aff84a09d82788e0175be9245d GIT binary patch literal 845 zcmZWmOHUI~7(KUl?hKUjY8eC>S`Z{4Qa0Me_d;XR1ZV;T7bJ#DJG6uC(3HWrVnt%& z#)WaAvN9%Y*tpUd!w+!nKhR%65InafVZmhX_c-6V-|PN5{c!}~7AE3Q@ZuOo+K7yU z5eK6J_Wd9XqK5)g&|lc8t^18-yWXdz#y^-G;zg5akH|2N43VTW%oc;Aw$#6a)J!rYg9BZvfTFbUbX9s70WKPMP z?b^(AbH=r^q}dG1oZ~vvG{2zRRV}l$mQ#B+GyitgA^VdsGcBTzvW;Gx<9872;w;@r zq8I&?!;DYB#U1KLxPm+e@SM7Yt0-d#b$Hk%>owANNB;wtYWA~1If4u`^>D>cXt%6g z=ISNpV3TV$m`(Qn`5ujxM2ee~%+$wdjNQEDofMHI-ms?>AFYhr?7?In;O#NAouFNu cqTj(Fe{qcT2`sA2KPVw4k4Y44*u3-5e>`iEfB*mh literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TrappingRainWaterII$1.class b/leetcode/out/production/solution/TrappingRainWaterII$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4a89f574375d89617a65546114d93a120874d0e6 GIT binary patch literal 831 zcmZvaOK;Oa5Xb-PIB{YeYSM;=cYr{hhZ2gAIJAm{A}U!5AkiuueA+mxbSu}69EVTE zg##dQK%Dtdh*{gJQ0iUn?#yWRH;>&ve}Dc0@Cw};%6Md=g0_LCNy=jbPYgUY&|#<~ z=W^Y7!O)zZ#eB7r;qoJw;U}Jm*maM{;aG+;88ft;LXYl@L7zkm!LT!xp?JT!oQwF3 z&jYeFrjgHs8IPsXbEB?8GFWaHig*(6^;(d+UqtU5QU-<}U9NacIK%N=&+WPlT69R8 zmr5@g4xH%)|I9}L50|44^9$i8N7pUtV(nBeL!N9DZgAZtvuqL>j3#MRo<#An=Z+~4 z^EBGTzBrMpvQ|O2hAIbY!`sjgqBV8$ok-53g@I=lp5wqm6*UVc919KXQp*b%9jeRT zu7zPQHErd^uvM5H?9Bd6(&=@ekeOrK11< literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TrappingRainWaterII.class b/leetcode/out/production/solution/TrappingRainWaterII.class new file mode 100644 index 0000000000000000000000000000000000000000..0d9e3f9df76faf1760e0d3100d9235444a6af2d8 GIT binary patch literal 1791 zcmZuxOKcle6g|)Lb0%Xq{S3(zLO&F0$Eib-)<6;hB(&6!)Ge`EIRVj0JW8fGw(CsV z1|bBf5>i){kXWRZkg}jGf)EQRrC_lDA+cb=0wEzGu|i_as(iwE6X(;Ck@DVs_jk_y zIN$&KMIFFljF^a_*T7)|M@%Tln26vp1BqrljwcMX%ezk={U!$Rq=7*LPYGDra@ng5 zm)yBIZ%#lT@XLNMD4-;grv=pEO3@S8HsY7P6Z5l^UM=rVmZ;e=Qkil~r`?(_-wmZ2 z%=pYcOFrWwzlo(V?XDj70bKs!J0&6Cjfk#p_^w`)G|OI@d=ihxS3a*^j$r6gcn z@aO!%D~567(k9E*ie4#j1@61MoQ3LIN%p;I2PU$EvX-&HoqCl#!qUTL?lX2>VRFa`Qpsc%9Fv$`!JXa z;@4Dt5t_1m8N_BYm2Z(QVyUmvE+2|I#cdO0J;V zdaj_+&(_nqTQDMPwsy6+Zl%1*?r73m%{$tvUd>wM*a_&-}nmAf}%<8kudvMK@DGOwx!z*@-wHEC7HRSEMZ0aZ($9n8|?;?g8qMEmL#coc8`gHMgG@s4rjrPPy z(vGtM>vozOBe-m_p|9UqIce+5oVp6R6>nfqxDOgvNlw0%8?l%BkfhX$Hss)-g59`? z`|%ca@1Px5@gSBN_X9nD;u`)&-S2n^f8c;f;GpP6LJS}&PM|{+kP_$7Dc;2)aUE&# zF?z(0)c=el;umDXZCvK&bz*{O4!86QUS5@ihgl*!h%tjpdW+a5|Lv9FMwgJ!wQjXjsrKJ4eFw~Ft`_W*x5yTvznn0^ZOiaH*lq>}lk zIEVx^R`e%3K~}8mGjuT4Kq~ClT8>WUI7H1fOk;%^4FhQdT?QT%!eAV52jhPuBJSX& tfA~+4wiTw1-QyO9LX^auE( zjI)JAV>Y|{=FNNaX7}s+{S&|ij%=9Nc2LBQg}MfN7WM^-DjtWafYncAm!W`rt5leD zq99E*QF-u5g^eYDDNuNcld(Y6p9arCI||gK-OCcGCge)lqf8s;4Dv3Wxspm|*8+BP zkvbVrqLYuR_)>-4+0!sg`oS>b@Twn=f@lyVQsZT^phX4B|BX1kc$SR98>u^O?ea`p za^YglMHvSc4*8zH_Fa@<3wXcQ?}yWHlnI#4+?X!LF~6tCZ!@`B&l7O43V5E@CKB9b zRCs%g?qF~MwbtnzqV)!&<<&o6&QW+}+Q2$bCoj=*7OKQsix$+dLB!@3`|&U9!QN4@OhY^X4-$U( zkqjV(w4dg%Tr$$UtYJjMsDL(aTgBRnDWKo2R!uu!G3s@*E}+=8nj;V_Fu@#ZX5|EY zlUCJorUbmP_yW`N?#G=4t7;ZEA1#~qys=zix$Z)(Y*ZEu+md$EsW@vEYx~@yvY1t^ zn>O2oV}*6&iIJ%o)zwVNv90QAPL>yCK6$ozTC-PV(IZ)mRoxLfN{&%}IBRUUyNo3||qLPsz9bX*5v6`3y(`h_sJyl$3Bf56pX7w{~R+8=8OC6#D* zYWX$8zG>UWbJmK*Wr8ZvDQM@?kz+C+ZyFVbep9y5Fc)7$lounw3nTb&Xs!zPz zEAQGsSKWu%PQWi8dk%~OH8E0>Uh?d+J-Oe3mGe;9}sRCKl_(jp3&JCs(7{kK9$^o zCTH@xGYz1P`yTcRBf{=U_P>EMxI?>$K9q3Qoijna2ogBWm`_gCoLKI7Vw_pU9CL$Y zJ;!(w-hJxg(-6^cUPHfzsGxS=kQDnA&D#nvSzrKzP3$imOk&Uc0Xu#aTlH=o#{8V5 zN83f)7E3iqBW~G#&KV`i04E$o8W(u!qL{*^1C+fj%9$4BOpEf?Us3iQM>*7@{M4kJ z{y$3PFkXsyY2pnNFT>pk@zTT_I~H%cg*Qzh8i$zsS3D0cQfm*D)cFqZI6eGj+JPU` CxaC;@ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TrimABinarySearchTree.class b/leetcode/out/production/solution/TrimABinarySearchTree.class new file mode 100644 index 0000000000000000000000000000000000000000..477f692e3dab5dd51c39552525ca734646e0fdbd GIT binary patch literal 669 zcmZutO>fgs5S)$eI592_X-Y~-3gt^}EHxLzr3i_FkRpX5HCFF0=FzygF?zU__&bOn zP$UWx2d+q5_(zC&PEa`X;Mv{T*|+2U_2>H!01t6LfR7t>tmCGIj)iW3DmHxF@^M>G zeVk6y;)%f7+CCJx&+^w=uslqsdjIrftWB)O8JXrVPgHiOOls>n=@ygpy`VjeO?vWl zFP$p$VWgEwCb7|aSKt?H?2Tf<+7?Ax@ALWH!C-q)aHq-hLJ<7V$xt8zeg}f3QK6Ez zFV(yG)?k#Mnnb@yt*`Y3)S*@|}+}-nG0l=NFm_ zxY44+@#viII literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TwoSum.class b/leetcode/out/production/solution/TwoSum.class new file mode 100644 index 0000000000000000000000000000000000000000..bd13b28deea55b11d4fa4c68154fd593924cd747 GIT binary patch literal 1019 zcmZuwO>YuW6g>}S7=)?)f-1GGRkVdtKy70hY3jn%lmyEHf+5{F(6OBs20~}5?)@Jo zZrs*QYt%F@j0^vVf1>g0yn$9sAmQG3&%5{Bdv4x*|NZe4z%rIY2qCWFRtP@CL(p(r zp5~;P*N~7%Qp19Vlt5tBvMpy#z@JD~1e8auZBt;lVAZS$qTcwx^tG_noD-pS@| z$J{YHEL3c_Nh+VL2slP($8TnxEjSp1{B9zpq4<)ahGHrc+TR^8pNLj-ft%t%!Gjeq1Ev z(o-^H+q(^Xf%ZU+soyXYQ;!jhDsK=`KZmORs8Xyd9#%Z^7`}=lHdG*o%uok7NRZJO zM~%}bIph+fbq-lZ1kVtKNo*f6Ps|2CsW4`E6D7+!W-);)6t{?nJ&baCQswC?>!kc9 uCRyQQFB8`=1wW>V%GGp{86ww-M4_Sa!++z*2HB#aX* zNU!V#L3uAA_35}T5F&~Ab~zg)+}yRy2dP+(4#QZGZN<8C{8^t&1-#a9JnDpv$XLie zs#LrBOwU5W5x9>{LEf}$Jv}(AZMC~$C&p`7ywyAwcpDtX6ssDuFgvT?AlJz_&6xV% zgiAa-#Tj_41T#s;EdL~p$ql<+xlsq}s^qH+ysMO|6<<~N*B#$^d5O%qdYE8|_=4D$ z2^O6n-mYCz`&+xpS4>xvhg-QKlMSQ3j0~fT9CMMXuc-Nks;kK2E#~k6^Z0~9;;v2y zMU*+o(T#;o&U55(v4K31GXBV8yc;ynJ#%ma3!GY5Brd?Yhb!_2FJ$I7^1qUw4@8uR3W!7@SQW(5jSgXe31LEo8Prd4qb{t{ z1skgrMXM~={)wNUg8LmDm#sH@Y)nn3eZ-q1w^8uJArO;g33QJ6DImW+K+b(XDlf#}ri<6_obO{ddjRE&iM62;S!FJyZp0wPUp z(X#zd515y;9pZMS$33+P1UHO=OXb?EW8_xYwR|Ewb zJQLu|4TKJ@JmV zY^-O@CuF1yhpO6M(6W&*^C{Hxi3tAo90d0!MgcTK;h8hz8Y435#Xv*i14QC8 z0{1^ac@OoimwkY19W#IkR7AD?r7JS41C$7pS|Zl0mi2!{zboTjAeI#gH3OyW1J5L?_!8>unvov4nEsv94Z>Ky) a^%rV2bp6JthHmi#Ek9|6K%5@~==ld_WeM^C literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/TwoSumIV.class b/leetcode/out/production/solution/TwoSumIV.class new file mode 100644 index 0000000000000000000000000000000000000000..3967c3927b153dcd00b1d46b76458759d742972f GIT binary patch literal 1299 zcmaJ=OHkWvB#u^?zceAJdws)+dD;R8`SQ*lwIjIInclt4(GkmBH)y??=R z!-kEHBcd~oJ7@eyZou=UmY0u3ZoYeS@44sP`{l>(=dS>Uk&7UTw2pxY6r>|)L8b|V z$Vzir$CU_l3^n2^hNZbC-4Xfix^!>oxT)ioK*N~r+Wv$sFRhFB@oTqt~Fg< znX|kZbIxJpM7}a_Iz`j7rT;sq`iu6eKqNo&vQnt7-qE6)E zvD~qm@0e~mn{$1uY)(I(J-Ao;H6nd?%wfs06xs(~?#8<@at zfwmy;usj2IFs|dSfqRG>m_)aM`P$SK$JVzaEYY~k|dc5PW`_Cauoj@ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/UTFValidation.class b/leetcode/out/production/solution/UTFValidation.class new file mode 100644 index 0000000000000000000000000000000000000000..17bbbbdb891804eceb7a290ab452006aff27a6bf GIT binary patch literal 688 zcmY*W&1w@-7(I99&P=U?jp&~*y-MA85kS8F;0wrM7$+`QHYQBD=&ZfOn`<;Hb z>F)&b^eY24PSv?eL&9R&m56|+W0kfFPbyCvr+za+2?igmKLZ>Ii`FKp@D{wS_3seh z;;=(&$D}}le)@j`l1LE=%*70g#d9{Z$o0+5LV5HBVY#reRrH*}2PEY^IYgzH7d3=q_6hwn z6wpI4e)J30=h)w6jl|8FcYEeNnt5roFwZ=boy*e-18+Gg!v%3Y)75G38Wy-ht@k?S b#xTSfIpMnQ7(%2h?>7>E;y<*+3)B>fjTh0qEo(F-$#ILY7F|nhe zu`;pn1NB zwN)BlOdopj_)7K?Vk+%nB$KWjD~%T<&+gQOA!uLslc#+Ah$PiSV-l;i>NljEP9GRp zi=o)bWORQnM~i*GGn|g2_)KYs(o$r9ARlD_4u`>C(hOzYXe2W2H!gdFILfdCi@u|e z1#*N#w;7mD$Olk>Pl#c~Fnal!#4M_Z;VT?_9y+5J_@R?D zXMaDTFhJzMGr-FMe}l_s;P#w$ZD_wO6NZ~$f|x2fZsg_7AsFP>TQn literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/UglyNumberII.class b/leetcode/out/production/solution/UglyNumberII.class new file mode 100644 index 0000000000000000000000000000000000000000..1f1ee31f513430ee572a05742458cabd552ee0ee GIT binary patch literal 693 zcmYjO%Wl(95IqxL+rc<>8ZeKB@)S~vEJuQp4X8q@gs_wlq|j_wfa99lZR()lBC+p} zz=jPhSb-4Y1NbBslyluk!P1>OGw00QGvnWXfBXWliCYd7+77N@-NscL*96wXyvWNf zfzjC*3)J>(Hx+pOyhxuO9Zu5u^LR34rq!P%@pK%|a~&^|s?74Yf|dTx-t_$`J&GO( z8bz5cQ|#J_HX?!KJo+wpUJGh37}UzU+T7FTK1)YsoE!||H`NoB%9g+x&5q_t`Z(88 zR+p`#DBO?V#V$-(Hm~)8e{WK}5c$pf+Wya|bbBZ!M5rwje z!9D4(1}0(A+Kjrqg|~U<8{}&R*J(8jo-?%WDFF`7Ryh|9W>_q@*+@5;wSPK;z)(YD z%jhYiXR4m%TkVe+1-=!mhh`S|Dzviis0F?m*0nPv6js;=SjUD`Va3w1TEv>HV^fYT z`E>FnXsg}uGoLh|W%eiqoJ&ziouZqRbD7>I#Xh3kZQ{?cf)SBdSVclS$N6fkC-l!@ zOw?l~hgb}#y(V+~#W-M1iyL#0lI!u+1}3cch&AyNK0Ol`SiJ`GgcRGxMX_;7_;I_*IN#=f>d*_^c=i<-VcL1xH58z?e$2}i&g2GFi*wMPc zTU^=}sMo`;5ll60V&0DTIwsxHodJTmNyaPy8ATmiA=UfI^NyX`x(8DiXdnY$7yWd zSU1DM4Kh(*ALFv0c$n2a~^Dlo@%M}dhHa;-cwao^%E?F^$$^4 zRZ&>4s;=rry`9#vlFxsC9(%NxVJ-SX0*^$%qfE}Hc#%>8?oeu;Vo&H-m_J83>sY1e z3?5(-x4DU{Pcd@atz8f4qB1eJ<1_M9xb-ya(@?)r@-ZX7;L8>6Uu7RrWhsZd{{W7= BX14$U literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/UniqueBinarySearchTreesII.class b/leetcode/out/production/solution/UniqueBinarySearchTreesII.class new file mode 100644 index 0000000000000000000000000000000000000000..f7d4104215d6629f1824ebe2bb67838a23fbe52e GIT binary patch literal 1540 zcmZ`(L2naR5dPkJ?X}mN5JDWf*d#6u)Uh$4G)<|KrY(U`w~j$_5)>}&#@-|g?i$wX zs)z%Zw(6xsL< z9KyL6-p9C(UVNZoLWhcTaeRpL^7tr@0w(1#rQu^8I;LYhK9R?#8a~r-K_D{axQ;(9 z5Xy`$3aB%Unk{gss+0tC3SBiCSjSlhZ^Q$P`}(u6m7zFQD%`3xqvqb&W=~Zm&>; zrC=|8ua*`GJb5P^`ZayaqkqVDYciPC3k)74=gzHNf>QrOJ5a8M84VXX8iDj{>OSDh z;wz1oSG8vyIgOz=5`IQ9YoHH@HC!?>Fnq^*SS+hD*}*OLJG}m%b_$EAwRCs*&|XrcG;CmdVlUtk~H@8_aa?*lreXh_+@m z%l3Dyf(y?W)eRm7cKy3CdCQGkWYfL;tI1CY>=1`}_Va0sQc#AoTM)leQE-H3BrrxX zK;39NAb~+X36A0|ddc7gf+>`JN%ax5-=J(})#MgJo3w=joL)*GjxbSTEJ5N8wqrVY zjE0G0#7zcKB8C(d1;_d0)Oj+Mc*fU)LHqhss7qT2my@Y=^yI}hA_}hMH$BT??DamE7%7zK(YT%B3wsO=0vyj4~pGEIredZM57TT8?OK xuN-gXu(Hrz;HZYvFQAB*7@-z?^Z#N?n9?R`B4uJ)Aacj4I{uP?kxXq0$b4< z`rHDgzwguqx(l1ib@rC4s^Y1`MS)JI-Z}_OB?|}Yxyre!TFGtro>Q$Xo<~yK0>a_H z#-A-?=Tms$3xrFxMwLFa!_4T0uS!qusiy%S6GH-4d-N=m>TDI-$B){=4{-;ynubSPN4U{xZ>_Xxx_JNpr&4K z*)3Nq{(i7!@{W}DmAA}PnOsYeU6)_WYsB-^3k{|;LC?=CLZA+{x?5 zijE zRu`W_B22%PK1OJU|67EOqdtMJ*19n-<5J`AFp){ej#M#4S5Jx2X3mqmdiW5wp!VoVE4Xk(o literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ValidPalindrome.class b/leetcode/out/production/solution/ValidPalindrome.class new file mode 100644 index 0000000000000000000000000000000000000000..d6957ea0d959488aadf86d4587fcd47a8338d937 GIT binary patch literal 766 zcmZuvJ#Q015Pj=A`-pupjuZ1~2Lb_nHi{dlLW00iP^1e+GIEh_eLmT1oI7;Bz#qu3 zph2QZlZGZB3Mwi}YW@O0fC9|hizSP|NjtOi_RY+j-TV6c(`Nwpa5oDJm$SHntJ;*c zsbsN?YZk6sSP{rPP=Sg!1&pfG5ipx!&lfoFs=$AGu;2Bg=dwE@QglO4jyf_@I-Y`N zJWykS1-Bzds`rd0=tbeazb;^_@hlc7Ro$U{B^x6d^c(FsQbB*+*%J_oYlmyd#Ztw8 zX#(@@Sb8sZ<;!W?Y&$%NJbznhVM}LvujxKE&SB2N4I4MHYU37e+qi?O1;<7Wbq;tY zOQ0~**Xj;^Fa8TUl`N2pLpOZwM@>1_y{pdu^kznW(2obnopQE}H;~aI)-$U+PE%lU z)~U%8>BW9TMQZH&F}JN~OZ8PkZ#sKeL56RrzZ8TXi#E%sK`-djwGR;Qlj9t1CINZ> z+}o!F%p=c;El{A<$=_hWq;J(vkaCR;I>YR3mMibDQ7@ms{D|}$%pIo0(d0+HG6Rgs z(d2u=NYJ-P8^>fFYW$0N%#sGQjJ3q(kfw-53RtFuRSIZO!hIC+nCKQtc!CSqQ u)+ousHWqlEBL5*dMb@Lt=?Hqa#4N!q5KI3;UWig5|C1LZaFJjNm;L}kOPnhJ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ValidParentheses.class b/leetcode/out/production/solution/ValidParentheses.class new file mode 100644 index 0000000000000000000000000000000000000000..dd2db4beb695b3702819c75e87edb1b485972187 GIT binary patch literal 827 zcmZWm&uwIZU6ZNvlRU`?Zv7@M?eLgi5OFwhNb#f2RR1Z24QytmO(c+cI9K4Z%L<-FMF=-G*)xl46IHl5rPu`g)pdH zPu3qYgsK$9y>^FU*BRnvpWc+6po?ITjKC~Iq}<+f>())%Z&*Lt(Skz- z9DYSfDf>m07d2he)sJ|RQgp3Q6uS6C`40%3kRznW=XKg&5LS%$NG=m&6QdBk&H# zF-ua1@s_I2Q3od|atW~!IrQ%H0x5x$%m>N;8<$x!Sic~CLKWBiS2;x~AuRj_v|^U> literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ValidPerfectSquare.class b/leetcode/out/production/solution/ValidPerfectSquare.class new file mode 100644 index 0000000000000000000000000000000000000000..1322d51307562ec2a06845a6bef4fc7b6aacc01e GIT binary patch literal 891 zcmZWlOK%cU6#nka9k9r&fV5?X1``uX7n0N(H56iFVp4;T1jE8r2N=s#9!f!*=*C16 ze}JpTbmM|eH?B-vxYzhw+_^DT{O%M9wsSN0o_p>&-{XAy^Z5&ab)*B(k@Caz!xHdq zxE;4&63|z2RRMXc+i(OTWw+zp8?vpSZ_gr!2sxxQ{h%NrEK&aBU>rd|5PbZ+!Q*CQ(XuAy- z-(l41z93H1-DwJ(uDrsUeStuwJLuJ&+pf~Ra8}yoUHiEmgoHs`XP=3y3i2(xvy;DH z+odI3gvOz%PlEI?xchj^^AtRd)lU!~8EEix_jyTybBu#01(-vCH-YnBMm6tGKvS}4 z9wKB~jg2>&HX8pl58#(0Nd1Uax`&t~r6SjO`nUqjMv18yGM=>5gaJq)gfN*jEF!{4 zV|E7{WKUMLSs7g(dDoR%R1Fl->ZTV_=O(wZqbNKE6hCKRrd5>UHzLnd> z5$06TD2>M7XN0bLHbVprQ&5CNQCQrU5kn4ftl(-3 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ValidSudoku.class b/leetcode/out/production/solution/ValidSudoku.class new file mode 100644 index 0000000000000000000000000000000000000000..5e212fbff77b2197b42cf28bf797de4e5b365534 GIT binary patch literal 1164 zcmaJzFvbv9E({C9Mx$&0gdyTL(?Xhnflj+O0 zL)}+JW^~oMZF!+V*D>rx5F=ikK$k#ml@mi8w@}8)-V9w^T1_VlhfuL#XF?bAdFvkg zR+jAyd9uBDJP<<<=c;npfDEG0DGgd7{ssT)@HWIdDiUfaH5ZiOq3$g^pq3h_*P))0 z!O}F7I^I8mI~RiT#LkSb=A$yL$YIq~{hJtTQ{?xMNKb1uwfch2At~Jim5M> z0{_Nhbw+~>ewK8~U6<3g%jvDM#qMOc$2|PhHTG?=e-BzXk50~FkX9HCI7@wo_$4%B z9wwsnxPew=(1tAa0`dEN&WGs2V|3#Qdhr5%c#VGSaPvP=|4eL`_j~mFjuChICFbp> z-2fk}AHyV%k53sp!mb=)FENBh-Wqs{Giaiw;}Ig2*at{dV)XH9ZM+-RWH%bIRImn()N)xZS36d&v2EhIQme4)#D?uyw_1-%R^yIYs#0@mqgFPn z+h)U7a#yLFrBXxLye|3y3205rRf&2H5*ab*uJttyy1Q#Pm3`Z++LdChQMtriw1+Bo z*|lqq*?2;JM!+QcK`c+|M|c(otBvGA;6%YS%U_UcuM2M?F^OB8uRzdlZaMasEp{A^ z4!0G%N92zQRzU7pu7WIZZj|G2tbky{p+c?IC|lQTkJN$YQ;I4B^SCWA)uXL@E)1MT z#NZ))%fJWtkZtr_$m~!Ebp}2{!N47C8Q4bAz{l8PqXzDxC@|;6_YLiG%dS?ehJkyy zZ{QO=P|K%E{LH}TFj;Z{ufSw4#qH8Vt4tJqs?OQuNrg;N?B;!!;{#HRfXXG~~$4!vA+T+?q|5*QV!BmiSI$g58%7I2km$0iOuA*oVKEe^)o*rpA734 zGX8kPzXyLN5dRH&B+y3SPsogn$iH#=06_+hWn{+|k!^&E5gGCCW88=0x4L+Gxc4jT z=y;iH3gcW)Qkvl3Bo;A+1g5cy8RQVgb)qj2_XFC>M7}`pW%%iHft|gI06ot#>MY;e zMP%?Ab$2trM2bHlfal0cq`lwyL&EZP ztaKN6gM~f9@Er-$s7t9%;|UVdA!0N67v_@tFnFYXz*I7^j}tz852-(euKmo2PV4GF z2H4Of8(HvnUbbW4DZI&Mczrk?)u8XVg^ngcjcQ>W+P{cOoY&UXjQJWch!e$Q7E&cv z5^bFH|Ah1bCODhPgr>JK)y64LUuk1Hp>{fVGt{;bCeXw$jMTgt1(*+Hc7f|`C*v{5 W6|8t56%YyE@;X_g``Z+KxcDDCWu6rP literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ValidWordAbbreviation.class b/leetcode/out/production/solution/ValidWordAbbreviation.class new file mode 100644 index 0000000000000000000000000000000000000000..be855ef2aac28efff5f2e54814c92980feefa042 GIT binary patch literal 833 zcmZuv&2AD=7(JJnVJOlvwjHY|YW)dds}Q3kriMtGG&Z5Sz+mF47nr~x4rV&wLN}Uj zd zFp)NKQ6PHX_1vH&pk;G40e!vKbOe$W*K;2AU(_A{iL7@SnXmL3vRjkBtKKI;J!rc- z0!x*e?7GdTJ-=D5*L`Q;%E0Y;YXbJ*BtRgOt#sr-=DX5s<*R}3dabqNk=!!@gBAMh zFE%;cD|S$$9Lpsp*_kw#Pe)+38py`;E%|aXX}sF&`weHqRlB549QT&0nm`n$iAxDw z#&QBzaFt7(NEfjFjq$kNaT>vYq48D}xa)YWpdAX#9iol4^vk5`+0EQKmZ9^zs4D`3 zFll3a%kvaGjT_$}zJ~A&Z8QuD#OWu-1e~G=`m>m$WwIzkBNG^EC9SAyMI*g(fXHXO zvGvu^*;z>+KwGtS+949Vn%LFF=;-%2Vioofgc6r7Enm?myZo3wl-w1v{<1DXpb5+b2Wph^J_fgpj9a2(6o)Hua)is0Oz zfrRLVONGRxs2mVyeiEt*vq`EZQ7!NDd-GLDQU+vhISGNMG>LI9y zE!h>AtJW<~HeYmtX6;?i3Y-!r?2bbM$!xW4?OMfND7|7;cEeKcrGRL2ZE;C~=zC7! zyo-}WfyMFHf7m&dusXpl4{Fcy-C`{ar0`-84{NVVRy7D6>@SE}IG}j?#A-k0u@jlo}=P}Rm-LS>PZdt(tGIcUHu>ym?hq@vV zN;PAGRgq7@XEgr<;(NbsGRFE~4Aacb0Rc0ZWkto9;}Es^1R8%XU|YMNE*v2uu#Y!d zB~wTrL5tuw^g~4V@hEfJOr;B%k=7SPwSzNq<`A*7ewx*1McC8C*MHykB8;E(1HMkD zBw&p$z-7|Q66M@uR;I{Tl=+&N&7MTEZz0b;GkA`9)*8jTNHL2j=|fv8TfidiT_QTL itdPq@t`JGWIHtj4Bt$_h|3#EHuCfuqHB!?3Eb|{eG`}4H literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ValidateBinarySearchTree.class b/leetcode/out/production/solution/ValidateBinarySearchTree.class new file mode 100644 index 0000000000000000000000000000000000000000..9ee1f55d40a32b012fc957492b12da6056250a2c GIT binary patch literal 780 zcmZ`%O>fgc6r7E}+TgUMgrqGLQa(!J0J(sK6ojf0AvFr+kSGUk8+S=uOdPpR5hu9t z4|+jDT;b3Q5>h1&T#@)uz^rR%FSX>i@6C?q&D-^_-`{@#xQ9D=xVY+|V*TOsmajz| z@A&3%4r{ZxhU+@q(BYrj4f%#4_R@>880~Pn=ASANb ziF_IMWgO@_1I=U<>-^=S<&)hHeFG7YU+LYXQ#eE^x-7pmF(x>f%P z%RH=q!_522!6)2Lvyyr65uV3#!4ei26Cn-Vyl`c#UZPWES q(FgRTC-aE1-+x!F%$3HLv66aj;Sw_wm&vqY*v$=nV5_Whxbhcm{gMFy literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/Vector2D.class b/leetcode/out/production/solution/Vector2D.class new file mode 100644 index 0000000000000000000000000000000000000000..5e9c1402e3b6b7013080dae500d96d66bf591d71 GIT binary patch literal 1388 zcma)6O-~b16g{tbb-MJs<+b!)e+Anew)=ZxmaORWJJ15?w0R zX2Wn=wkc3L#brKVD_eVxcdr|b&EitSF*i-Sw7^F|->I~!erADuAkep-9xTu|Z#67u zK_HzAM9Ffc{JMbhxVb@iiL%u&ms>kk(_S;Gby`y8X3eOt8@46yo>6hOtUUp(yl&RW zeEJEoMfT0w^oBsPH@!giWR5qxexBJL-?MjOu9wAGLtU~B^R*)|l=B*RqSFHX700N( zdS>i;Y}GAeZ`q9q=km`v<`Z!%)onI`4e&nH~;-LDBm{p6fgH?obG^X|s@ zkOjz_I})`zo1XPs(7WsEzEN+PD=#_p+|p_7B?g@z9Kj*PhkU3H@=FXM#UEL9?inc5 zhmfWH96er8hA0z-FA#-^V}t}gA^d@+FwXNFpafzJ)2PQW%$p2m2rgiRQfe1*iD@rW z*D2eU(N57T)YvATvg8`2^cgOEhH`*p;Ugl)=o9z>^(g!m(IdVL7EkcMB8d#S$l~n+ z!(Q<**H>hikrVVPyd^$aVO6I7Np5b1n7})XQx6}5`T<4??TcGl^QcD-|Nd@=r8{8< zP?bX{;rAV2DfR;G&2iHI{uOl8bV)JcLC`i7>(*#3kR5+w4Bq Ss030)yi_4?p5w^5-uZt%)G9;( literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/VerifyPreorderSequenceInBinarySearchTree.class b/leetcode/out/production/solution/VerifyPreorderSequenceInBinarySearchTree.class new file mode 100644 index 0000000000000000000000000000000000000000..c277617112aad98d97b415171e57296458a7ff7d GIT binary patch literal 798 zcma)3O=}ZT6g@BVUZzQ>Uuh?;njkKOB!dZv6r@tWKnTPSNX??%_%eCgiE&b=lS23X z6J1J$Y_f4xaM2&&PtkuMMLjbKqPs5U-Fwe@=e~3AeEaqF0>C|#^N_ffhlT4lZrCUZ zWFG`!5N``um1;*oJ{|Uqz)~v+&5O~8u8DSZcR-}j8v1(B(NU1pGf>9+!J$B{)iF`< z_V`s~hEdN%ZS!$tLf-%A#3q?!vS~A6rLF*7Du05K zlahS1DP37UL(y|(-7D2UBRfX!M2hk6@2=cbt|IAru1d%=C~I<}$o;5!)VebDbBaQZ z@-nTR!j@x5E3s&$Q{LtCV5Vr&W}Zw|ptTas-DG~7RRgQIk2P#De~k5XoNex>iVds~ zQ|zGs4yI>=CD`O>dP?xa8%1@~BqvThtlgnV^4=x9g Av;Y7A literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WallsAndGates.class b/leetcode/out/production/solution/WallsAndGates.class new file mode 100644 index 0000000000000000000000000000000000000000..db49f4c346af47c2f68197f74110bd45723d8207 GIT binary patch literal 1858 zcmZWp%~M-d6#w1#?t3r1JPHLa5G2}aQ6MzbK+`sS$cG=rBGI8AQpOH}q-|(OVhC-S zadgANl`E&?z^3A&3s+q@Ow~cRx_04=3m1-mf*ZAszxxsdT6pi~+;h%7=lss^-1qa7 zZ+8I<;&m4u23!O&=-{*q69YlSaYip^^>WTZmxF})Nu^S8FyvrZz#h)#v*l3%v%BZA zfSfF(GXf3M*?eYZZDlc2x|mwbQPVVCSW4wCr%GA9uPJ5uW_DG3UrFV1tK<3fTd8tp zbx5H8&OrsUbkEOE>G)!q?-bvxfK@6KR(RZ`jcciJhwD-y$K$i*)Y7eYQpH*xGku+Y zbvg+DbR09S6CXL0CMICqJ;i06i&-qt!O)S#UB2tg_u*P*jZltGFQ;y&`q#?YT>pDo z#e$7Aos2ZSS`PzVFYbX=PahkepBiNo`E)oK5pZVkn_0hKhguTV89mhFh==F# zf9h&~)foW*mr z8jL!CPD&=i^kgRc30xt>zX*uX->~@5i>%jx{?05GJ+F0cL3KuUx6u&ZLNKi1eyNdn z#==o0w`-!3$=*n(TnH;E7YJ2v(g!wSxv*~u%XDq?bQg{j)r+jMkL;bKbP7F)@tZJ! zN%rAgoW=*-=`IXbtNS1EwHjhp?Dxaawfj9Xed(CrBaPjH*~*q1Oi^Ri*rc+aM7JDf z^*fkzJCF(Kvr2l;m~mU#q_;bwteCP%Z+l2u-@9|BvXXOB*~v$+3|!f;$?>l~-#{-gcEYiXgm;dWHer9#$Dxx zEV6M^1wxi`qYLq%steh^XMr4YfrOCjvqrD(%r zbQ6U{mUZ?rp2hm_v6?Po?IUjeO{jXEq?aC~G=g@87uR+WbZ`6tEje3k8 j2LV16mKZ$XR@HLl4Fvwd^$PPj&p7CBlfbLYWgzw+PRl=Q literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WiggleSort.class b/leetcode/out/production/solution/WiggleSort.class new file mode 100644 index 0000000000000000000000000000000000000000..5d4435ecf5ff6f5b7108a30125c00883de2dd612 GIT binary patch literal 642 zcmYLFJx?N06g_X|0XmMtps1@uqMb4uXjl`YYhz+Uf=hwX!o~+qa9Cgn4*CcD6Kkxr zu(mSUf*;^d+HBPG0HJvI>)m_Kx%ch;?*Kp%Sql>1ESOkJU_Aj>Aif`Tg6KfN+}b`B zkcZ)=FOVz;9sgIqUGsY_vM5*6kz{ zh;5yhG_VNxN+js?+Z-{@8P8WERsVggx?gbDx2h|U;7DmS)Z|b^#A?{@)%~MDD@jht z@=bN4Y{U?^v4|x$PX7c_`nS+hokpQjYx?yFo7`OT5}>Cv#Ay@E3iN_LmV1SGVPIf} zR)2#7v$Xc80T$+%ac9ia>fr|hne_YSPuCmB%SRO5SoaO_* zo%39Ny~4ON#Pi3S<}`<#%R~bsi>%*ie=y!7m)5Ys9s|2rK$4z}V>LQT!J(cstGvg5 z7-BUw^N(1DKFnBY$XztLLm@lTbG>Z7;$<_kGF>@6yiba44i`-mc5z5u91TtgoiQQ7 WCUP8PD9mK1jb%oXv@4`Du=)uS`CdQ( literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WiggleSortII.class b/leetcode/out/production/solution/WiggleSortII.class new file mode 100644 index 0000000000000000000000000000000000000000..85a2a357c2545a2b8d792eae30ef4c4ac01d0271 GIT binary patch literal 1997 zcmZ8i-%}e^6#j1ZZUSKmrR`!VNn5p4$U>r6gSF+CXxrFOoT;{Ts#6xSg{2{3mO%B* z2mT759NHOP>Vq%f_`vw)j6VA2qko0d85_T|8x{tJz4zRE&yVkX_nezQUjKRk;3{sW z(S=ePDa| zDvNLB^D8q(eRGXgiAR(THwd^}=eNr5sY3U?rn~fX&Rq{<5T-)<$Q`X~-jgPs2LAF2 zXQSrPIJxFkeV0N<-FsH9SG{i~Y`Hwl5T+lkjliS6-gxG&E2M~t$AXHRnJ3h_(_E>z z!Lql(jiellaYv{Z`Ppc?fkgD`ReD|bw;JLvaO*_fxz01c={Ja>?VHx=dyUOt$-C(b zgT2Q|Dy+I&t_2I-yeSJGV>X3PEPRTy795ONxQsyyLl~CjsD&}SuV5Ybpm0ij6l-pM zxj4VL>MaqCxm0V^8SCuOaOLDF?Z2Gn0Oc1!=@fP$3FAZ<9B)V8bKnEBH-5fJq z6*();W_};)X9@}Qa7>1qDV(BgMGEM}X|5E`;4DWPt3GI?xOdyxL*h3Wb0fb%I|q|F zT{UYZ&8cJ>rKFv74t6l;*p$rmAJ9Ew>uudC>>@p4o7-lqFu$EtyRE+^z7fX15c=&V z*bL+MV1P&liC~8FEg}$Hx2bah!?4juyt0lEiu4A~5n~6Y(N9Tox`y-AGx&|sn;;*+ zD6*7Hx-Y1IQb%~|!(*0@@YIj5W45I!fd}V+keQG&`Ms5ga6WDLb@O-COo9Nrn;rgft7`<{(gNj z_mb~C+A^qV5u&iCq}$uUE35^B zS{Wzr7|wyNX7|uhI7%|=y4f(=rARZ5mWiWf!m3S#o=4lB|7=&;6iY0(ht86jv(2hr zkmj@Xk4W0)OOamSRNk>oy}*6Enci2P~rZ&e5zRNe` z^AMsmAV|<*+fBs~r&vgG2Xa~r??5DJHcgKuyi3WXT>~~s7lyP1ZTc%`YC8gXBF7P=i*!nqoB%y6n+0q_i)&C{<{?g&g(+>Y~f_e0I`URbp@BgsnFw%VJP=LY^bDE+3p z6XagG?YeDw^$p9nn{KCZPaxv%gx)QIrF><}+OvvntJ5e}eJ>!Kj}+brh_Kr^G85YZ zN^qB04?y6x=qW9tiK=hetqp5CoGKKyAP}o|cRkyA>;}`DX9v6)+!2Qk!@xou*Kj?K zMcfcboMkd}GS9QxmSg*;LL)s~WZUU9{ARdF&Zyf>%X>ts%&!;LFb~Q72af_KVbDhC z6?qDt+VT&G?_oMhtA{~~AdZg+xIhHr2~5(mSk$1h5ztr5YDp?3O)2S_l_Mx$@!piH zAy{0=96?<*C2b#*BanD-fOt<8Jt+pmKgZO$adPqs##eIe=6TIiiX{RvA;YI;BLAqPROmcPXn(QO}XUOI*Zj zB=MG62ba*oGv3@D4snN;fngKPH?{pzOYA%cWT&2nn?1#&oGHJ p)_r2<6sMTxELlW{4Dm0xY+#13-~$vQxwM#xKMX$3ENKen{sWYyn|=TQ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordBreak.class b/leetcode/out/production/solution/WordBreak.class new file mode 100644 index 0000000000000000000000000000000000000000..424a54c0130658cd283dfe9d0fe41b52d706f60a GIT binary patch literal 1191 zcmah{O-~b16g{t<>6CW(l%iEoQNR|EA|MLIswgB)Dkhd-f*Ypoq#YX(dsHs>G>mB&7YNK)w&kV-{IU3wfby(TFa=sOmTfN7)^nz_XynTDbYv=dqr7A| zmOR&;id(X(0^!W-ic^?%Ok*u6(Dc4>5a^F(R*iQ?qHNg3MAmgIyO=!o)Lg5a$XHc3 z8DACQy`PszM+%R1Ji${kJV|y2_%gR@O5HlVyWSI|UDGk# zio;1Ln|9GHd6U4WX!(ng&qUp=6KGc~eoDVa3hJemjOv2v!O5jxjqo)X*zcXjY9 z#1}8z!ZqMI18Ai!p#-1}?c6B~E-?u&i+T8&7T6rxg)h~ktb9|Zm8jxZ7L`dgqDt>J zmWTJ?7nlx21A9;ewlFI#Rp18#(^^E0YQz;LgOT7T^hK3OaC{5hLy=%a-GwHD!7b?Y ztIFaI0y{_hA62n)v>jD?#y_*T0!es`G{Fv4?mEe}lX?#+Cuz-*a*m`+=)@YjU^C_- z>NWQYLB)3t8I^Ku;wr9D29=q*iSx7SIxAi$pBs!H qizZPwiRz^%3iS}3Lc=Zb8*LhH|H9k>dzWe*l zpMM3g2494+40|-}4a0{$Vcdg#VFa;X!+{W<3*#V+2!@ci)Zas{y*lSfi)#|7kshLajj zDF|*fGp5z8z~8cJw*qx@b~vSAZl9S+?I;`>O67JLLup!~ec7au-fiSenU{>JHEQM+ z%;_7*=7xK6DdTW&Z)h&Hv#xbKKZDd9|`mLOq8R>E?1mFrZb`e}9LX3~A;<0Roi**M zAk()})rnjWAL0gkW?jR})OKUM8dIv3IzckjG>KC%&$H1Im8vktC65^6m7ED6>z_;I z3u%VlJ1z7UsXyj%BSIA~kAtL8#iP4R=$_MW8Og)Mu*GDn|1^8T7UmfZ&r{(FzMhq% zs`#E9{!5Z~Sk5)KPtq>LbSM%KNE*peYHhwJ+sBRks8g72Gp$v&>T$X)+52Wsu?l+k z48>J-Qt-s>;bm9S>7H!M8?C~NFVE&sC`rZSuXiRv0;OQ(G&EYPX2+wDhp&R~?kLBq z5YtxrA0!p-&lYmY)K*i@-g%zmwOtN99rt3ng1V^#utcYh2eDSi3wV)H)6ZQ6(D0Iu zm+=bQOUJ7?tDtrYLj9q-|N z1q-IH*i$gm!>OE(5AY#N*{tIue5~UWT$qtOt0%kqRCcgK$7i^ptZd zmE|pa9TC{~n6v7P=AbD3BeKv6uhc4?z43G(FVKB`757`NRtXR?-Q6~}czdbL0&~(v zjr^(uUWSKz+_^)fAf56T=HrP=W;p)dw* zXt$ATnZ$iWyq|H-T4H&CmesWQ`044BDvO8Ux&c;!~_DLW1jj8f`k63*8dYi zm)jCW)cEil!kubNy@p^+y?hlBCZ>0)ZHbs##2h~cT8pSv&>4sYikPdgKhMi(p2EOj zXD|^9PN420j>hd#U;@$BHtwrai)ls7XJ9B6Dg|zrQ7Nz{rd~xo*J==e##jv#{1Qzi zTXaFm);NKMmk@|*oO4)2%!h$XlRsRV%rjf=Otrb|#$1l;c+^GtN!);DEMU4A?s}$$IgVs$n@p9_r_&@CWchm0?zJDK~`Wu+9VbcvX zY3R9$^%^#F%JC$65Z188Hax0ft7CTGa{!-hdu)<&na$PjxH4*z5(~}*2L5)H^|-C( zUPoEDKt5Dv8!t(DM_W|$s%rvG1M$RFEE;URg1e}Q#ZyYJwbk85zS~)w4x4>piD)jr zahKmXJvMOF5Nq}XwlP+;-$;x2cc9yS*T;8G7i_1ER|=of1@{nJx}ey`Hdt~Iy8JJt z?x*DLUmIu$NRxbxw-ODa;?7{JD6{z@ta!pNrn^Phi$&PiaPW@RT`6qQd84gvkFf0y z@T&W4K)E!TlNJ;jy+ZF~oxn|o*ywd^^Crr51%=v9iq=u4TPeY96yX>J_zkJ~me%hn znh6R+M81#G9;44rTjX2W5RS;(aSBh`B45mV`zbae4o*fz literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordDictionary$1.class b/leetcode/out/production/solution/WordDictionary$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7f4e9279980c9297eeb821147590a50a26eed1fc GIT binary patch literal 190 zcmX^0Z`VEs1_l!bZgvKCb_PyH2Cm@z(xT*4x6GVWMh4;V{Gt?>%;b{H{Jg}XO1-Sa zvP4D(e%HL@oc!Xm#Hfiw#P8<6AxVlJQ>Mj*`~zySae CyDW$R literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordDictionary$Trie.class b/leetcode/out/production/solution/WordDictionary$Trie.class new file mode 100644 index 0000000000000000000000000000000000000000..fc51b940f7d156df3225a9157801d190e30484d0 GIT binary patch literal 701 zcmZWn+e*Vg6r4?CqA}XodcR*LJ}$EkEX>(hkYLfql0r`yT?cIi^E}ppf_of> zL445i+il5?Uezw6`1(*c5*>wp{9F>)4&jeXD->!?|H0pE`QgpxSrY5;hBYg>)$P)j zf|qHQ+O7_DvZqj7%@)@#NP9px3i+B2gOmHadJv!c^%gUQTGa4c7k;cI{!N-9q%e|U z>UgwKQYimZ$zrQJqH8?SuJKeAq0E7+bnTo)_i-aQ(qg694cL$gxX8nEF@QnYm2E8l z!=8Z0uFC!K~3{ z3-rD(!4;@Cy~zzynn)n!j#lCocmtlG7pUQzwPln9E_OU;&Y5$*^E=}|Ui^9lU>+Z3 zVPjfiCJPO3jUb2FEavd`2+eu5yp!cwL!G^=miHvymspTk6tG)S6vWN0zq=dk3K$!4 z81N_V^%4PR^|M~wxe>OLuowC9gNpLD+1<1-I^hvl+x2 z{$`gah1Fi$@80p_P}ze+BiRmFDSs+A(@MY7Q3YAJy1L_k=g)NgXlrIYiNk1XQB@Lc zeoa>VJ`F3JjiN6~)r_tue*5b+|J$@|+VK(*Nqj*4yMZ6KxBsWk7Xn`Ol)8TBXUnx} zj5a8c-I`(434Wl!mIT>k*L(Nlc5pLPBrco;Ijy?0QNV>WuC$VJUA2+Nd5I+(E4XIk zI+kseF>d2B-n7xg4I3Zgrohqe0_K{ zxAxE!kB@(^dru&hAUzc{Ng+yxiBXJW3?9y5na#Cm-)3tYY)uJuDS4dUSMeH!QPx1R z+Hvj_ZQ^6R&YK!8(eFV&reR4;NK8t+AyE+|_c!X|nE3RegTWjht_=FV%0h}!&Q* z_D7h;-a|>wf9gtgpK*gML3N6tMLJ`skmD6hQfCcSERpVA68jQ$>|hFA+A(I+E|+=Z zE@z;~s!1ioeiPn2pYll3&K0zT`CL|=#3$*bjC2+kk+BLZg6uDe7Z{cBgqV0vG#U#k Uv{RG>zGN*GihPE<93O)A55%DkxBvhE literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordLadder.class b/leetcode/out/production/solution/WordLadder.class new file mode 100644 index 0000000000000000000000000000000000000000..78507ab0f80f01c93b8354ef381e38b34c6b42cf GIT binary patch literal 2927 zcmbVOTWnNS6kTWL&fJ+hclx3OUJw;gnF6JXrRYpWp@_Lk{PnYmL0 z-&!B|NDLn;#u$SpXrhU)6f2P!ztj&u^vlGU7!sq=AHP(h#dXe|X$#1Y?aaCR?6dbi zd#}CDx%1W3C#M0l;&}sCV0#QZ&?Sd%9XkzZQqzNOIrPe5myX>!_82g**FY3^$>DA} zy+;oB%4wf8wB^vRBWqxeAC~?*FdzpfhJ6^6!;rLhmhw#V$2oSh$R>GFzhelUG0P1$pEEnSY6Zt4^e4Bc?CB^QSIl?GXU zJNR{(_(7&15GeHvSQk01E4w*AxoE#L=;md<0=knQ@TG|K&bTE{maej$&O{(|pzM?h zLH(?i?NY^BwY+m5ox*;}0&~xY>Ck8us>QRMSz!A`DW=yj+_kf;)E1Ypi+6c;cK>F3 zR5e0J-Y1Jdw96gL+g`cId^i0M;QwD zqHtDXm@xZ7PEkTfLC2_$4dkGJ(N!oHv(5%rvaD9N!za=T*#;9=;wsvkIDn#w61Y+0 zOn=DI{f_DzAu!>gY+?)t1?nzjoWQ&bRTWOiE$%b135QG^#{DK9z=I|p!owyWk$XOh z$4oqqtJwdUjW^n*A(mufT)I7hCs~k*r{w-O;h>49am2(kc-F*oGG$|?tn+f)+CS`M zCFf=$tF9C78I6LjVP@XxIYrwmFl@N!j11jsMOeuD zTK)wgBp*30;;e;F!DndcNr?9;1aLLSuu{gcn6l{`;2K=ZnZR{eLMu84cJacGQ}=80 zvPlF2=xts;i6Eb+pzS`1P)e%`Axoo4m`hq)*wQAU3%r7lq!bbO4AGQ+3dU|rKZ#f> z5^RemqLw}Z^Ee8Yo`_B$-ev^bVu@JY{NvcnhuxPjUPt%@QdT4pRf?k%sIejws7;xc zxqJe3#}G+`wZ3~G{2Md=`Z($i0UL|lN;{>rlB<#fzv4zp0VTC^ z_aLj08LU7D`;lR5Nx(U$Fo*1FOlgW#KHq#z z$O=^$SfN=$((H_Ep_0Cn4W7$`N(CQpqSn$_( EzW|qVg8%>k literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordLadderII$WordNode.class b/leetcode/out/production/solution/WordLadderII$WordNode.class new file mode 100644 index 0000000000000000000000000000000000000000..98c8d5452a76c385f7579a6eb412197f06bc4358 GIT binary patch literal 578 zcmZWmOHaZ;5dO9;6tF_6AP--daKQS&gC{j!NK8l?JYeu#=mtt^YubXp%L6g-;1BRe z8E5MQh;4RuX1|&FzMcK}e0v9Qfx|3PsOFGHO?Y)-c2w-C*k@3lgV13xtf@V>+n()@ z+x<9n{qYrHPa&T(WF9D`7dV_j>-s(qJDwdyJYuL=0f|2bF?9dhQ&!HmJ zFvxTthFm|Gg(H6JiuB^@1@I9TEdb}8}7gv#V^QzW5+4cc?WpTaKf_yXp0 BbqoLi literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordLadderII.class b/leetcode/out/production/solution/WordLadderII.class new file mode 100644 index 0000000000000000000000000000000000000000..61cee7a1cb61331efb1138d2cd68ab43da4a9078 GIT binary patch literal 2812 zcmbVOTWl0%6#o8pcV~BYb}5%F3qK>hyNX}gv7L7V>fbG~ywvp+n% z`wf7N_(;VQIHKUFiW0dVQ{j{AaTNiakcX}?40Ow>OF>da7)RuFkDSa9sZOfsMW5ui z8&8$G6-m)#HL7=pvvR%N}=n~Cpv21f+ZlK%D95lL9WSi5HP8z9pBV)<4 zcj~5i8_JsNz3-md~T{}Ib{qPH7UdHt!Z;Imfc%7(@oB?QZ;R+ zQ&(A_aL+AP)*-4G6qr9n)QWMlz= z6OO7cU=)X`fx?y-K@)Zcs@ftdX@y5N5x;5KBz(;j#&IL-XNa@pSY5>7**Yz{K%~tv zlKp#)K{sFBVmPbdoPrlvoGd_=CaaZ|#R#@py|&@xGIZ;O|B6P9QzMflE2$UkQZFRL-k-dWx&y>R&Sq@umB`nzQ`a$=QdwsNha3 z5TO!lcoL|>T2c_8bdX=fS-k2TMM>u{O5?s!__*=M{o|W}9vDTSb4`^PhLY!Zuexdk zp%QdduN{HPbrfN8XmLdki$FZ62fxCsct{Ve&7!DaUj|H__X>BAHDO-3Gtz||m(iPJ_m3;NO8VkD@*YePHHIIeyXtf?4 z!J-me$6}pU(^NgG2R&nTMUUq3SjVM^xHWc1vd1*CUJCPg*;7c@1G+zt#T{~9Qmrc^ zcwFlK@ORyJhYt5a2IUiXUV;!~Ifv0)gk=oGO2%*%>KLXS3{DGg+8LZ*r%Y?{ok+PfP&}T|2ANZHfb|GD>&%#9O4GJ2mKzj tc@Gd#==cYS2{CueJ^24d^e-%CT2NpKp6BRvcZac@t4db{m>A1|e*jU;qC@}y literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordSearch.class b/leetcode/out/production/solution/WordSearch.class new file mode 100644 index 0000000000000000000000000000000000000000..012def9a5aec75454cc806d4a77d4e1fd300cb60 GIT binary patch literal 1029 zcmZWnTTc@~7(LUSZLt(vkd<4PyV8r=fR)5x2!?2EQZ*69M2unEF70A%$x_s3!n=uY zKpHPEyzrtAkodq4@CW!0{1ZylGuui@*zC@HbLRWzobSwj|MTq#KpM#){1^&C$8ZoM z7*)eq0OJ8%67b)0Do$-yK#Ro}1>}6SU<-t^PQ`w(@hWG#kF8vpNLRL+x5|r_>!@`T zl(mwxE)dE-t-6H;+j8@z83EmX>#WxVdSgpV^VwDFwUsJcm11h4<~o()O#GRESml@D z=P*52wcG*)Fq;D2@F+!hrcR(^p=RY@-nZ78^jcws>;sA>lQ~?a3ydaVUDW!EAw>DliIAAJo=1;HZ2XA)TS8sCX%KhuV{zxZ9|v)TT<-({kf%a z{Gsi$Nb`sWsfFy+<3~5+5k_N-jT(en#BUvALthJJB}go?gy=za14+D9ccx(g$!x(S=RXg5_ipP*~| z$>@}s?vsXo0QuoR@H`zE+kF2dk&Mb^Q*Fv+HoSwI3MrgMCWx4F`BaYKA%zoU8v(fo zsZIM8Rr6%S-|}kOyMS)`X0Y!bjIxz+^y4}PaD)ELVF)iUj5WHr$=!E!a)%kp!+VWJ zPyDK%_*M7Z^eG!Whn25&&qL`&{mMn2b)GCy-i-2<|82++k>7Zv&8h##B<925KkdD) ATmS$7 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordSearchII$1.class b/leetcode/out/production/solution/WordSearchII$1.class new file mode 100644 index 0000000000000000000000000000000000000000..bbacb8de03e2a9fa08907487214a38b066da294b GIT binary patch literal 184 zcmX^0Z`VEs1_l!bZgvKCb_PyH2Cm@z(xT*4x6GVWMh3y~{GycL)Wo9X3{OwJti-ZJ zMh1S@yyTqx;>^5s-_(+f{1kQuE=C4EWQ8h*j0`-Ud3mWt&N+$2#i_-N3<4m%`ZH7XjS*gh-Ko!VZ1QZw;8JK`B0Rd(pWB~G57+8Tc3j-UF^aK1T zaW*aV!jjFNbLPyF-SMxr@JOnN^ADPC&Yk3 qOFA-1_eKxV>y}t7(3oV@u!yC^&@v+hE7Sw>JgK}`hW|OnurmJ!R)GWn literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordSearchII.class b/leetcode/out/production/solution/WordSearchII.class new file mode 100644 index 0000000000000000000000000000000000000000..d333e290c316d4ec8d6fa6bd93e398a27d7ea003 GIT binary patch literal 2194 zcma)7T~8ZF6g_M2da>DH^RXeOF-;0hjBUOQp#=jCahhOapp8i=p_Q`O4lHr)U`(o3 zeQNjtRbQh%1XZfaQzNCZ8YHB?G*W*-e?oskg=o_=V*++TRV{gE=FYu$&OPVO?r(p; z*aa|%MGt%!^I#nBxuM~*m`&)o;^87LELT17;(Z<0Ja7v~FRtsD^uR!(9#goXBdKFr z$BY6ak zoRwehO_hpvemN!%S8Vm|ZhRuyPV1xuXcWE5B8P$p?UApw2Xvn9cqL?jcXvLesv zTFyRy@S3-dTG!FzsK#SbxuA{^<<>DvQd9PF-YRVrNzLg0Eat?_1f03YVnV@M7%`Tb zNSr{r)Fw?{$i(=+f=)c)zY=*;g^gl5d(9SI)mYs)J%T?2EiiR_VBkaCG?2oafm>j6 z)VRtn60Y+G&f_fuZ{RFljs%#r)>kNkfg!x3pygE8FsD`4z zCqrb1&MvKH(-gR&+M~0d?RJ!wXVt`1x|-K3m(4GiR^;_!XKQ(0FH+yKcmmDzPOn(S z31(7*i7t|TzV`0KYJ>XarSVq_5-;R(#A+Ava?fdH*uv(4M^!Pgt~=z-%a@DzsURYl ze4gfNfTO}u3zeZf<-~zjK0O=(7oF>HhBKq$1V7rO4;45_@Irb4Q_k@~X&fjC+Gr&Q=({x&UpjTczLc5eQ4q< zu>n_EK!PO*WFca7;0gk0XB2T9U=*`AaZci%5^Y1T4(@y4+=oNy-a|9@I`KB`Btn^G z9d+DaJ484W8BzV}?vUmja+xku+d`{fHC@pWJ=E>j%c$FQ5%V8Aa4(eM8Bv`>nyH0% zw{TGggq=~&&5&OWo0{qBE~CB@u&FWZ_Z=7uezlBKKk`sjmfM4R&d(BJfKc06T7V^= z!!Y5;S->o#P0 zZI2(TLB=?6iGSWoJ_X5N5}A;6JMb8-fe86&G}Xs2Of^EboDQh?{}tY_ocxRi2j*q;$Ai9(ufDkz3P%F!T~qaIn-3Hjp%yXba1d`3$0p7iIl@=Rj9ymh_y_0Pzg_?U literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/WordSquares.class b/leetcode/out/production/solution/WordSquares.class new file mode 100644 index 0000000000000000000000000000000000000000..96ead8c96b03a0b02aa0ce50c57f07bb5c7784b1 GIT binary patch literal 2841 zcmbVOU2_vv7=BK&*-euzw1u>!76l8KHYpXV1zM~^wNfapSfui$Y|^D!NRzPH@TDj! zg3fs1jTh)R<8++C8My$*DN{Scc*p23@TWKoA3kR{ZMGje9WQ!v&U>EsJ@5NG?>XB) zpZsOW;LmJ+WAmlAZqd1IrG#t?|7C{6fa{X=;H8>iui=!8XGlw04jJh;9)*e1a+r{)tOiTN83A>-mA9NefncKT zh=9^x7&ir04_SG0xICFQ?ZZYoM@z#{A!Fo@7`7$X6{F&0t&%|P&{)A9A3aw#Y_rrW z5WP@c3T#dsA39^4H#&1hexh^Kv90_>Z<}W-J65i9$SOJXQj4~E+PWx@S^{T!CDW04 zxm&K=s42Y!YY>C{vjjr&T;{W8nFATYmJ#ZF5h@1-0WsvUKV%vpwTrPFX$ zLyn!o7Gt5K)AW%vR#67UDqxP1q+_-78QYB;L#|1X|;`u1|x%Bq+^5STi6!>v*dMm7OC1)%u z?EgwA`G|}b%67&au;h)b^If{F@>=M44jb70)hn{cwv9`&cpZ5Z1nR3>`;1bSH0vnh z99uz$4SAER05;PS2ikNvDC;ycS!DRjOnLFPjt}sm zjw|>`$H%y;;}d*JL3DhEYdSv1bsaaPW7Jpcf-ocLGiHW~uBs+3>s?R@%jBa{1q?c- zZ8!z?l$ta16Hb;bmT2P}Qd26Y*>QZIc;OR+gOx|hR}R}NI3bDIQfU}>&r4$NP4k-w zFO~`4xeVOb!v7h-7-u)fmI=^yjLlxMF0&Wn{{HPRj%D&*Zu6iX~9q;eLE&twgI z50g^}=;zuf7EO6`S`z(BE3e+Kuv73Jae=jor9e^?w&odboI|)z-5m48Xj!8)Y+mH? ziEYEWKt>8^G8#Ror^|%e4^4srFPQo0!ruja8{TOi*!)8bCegQG{7iBWke@tI0zh z60~pUhyOKNhtb53{5qUM92S~+XIpTUd)JBiioAVC4@t@i7Cua`1lpj{V>8;3WaO7| z2q|=sz$6T8V6-3;o<>fKp1koGk_p`cXD!%d+z9!ka38LX8G#XRdY8mH0Z>F`%v ziHD}KZeBw*u0DWrH%_0pK#wNnZ5FtRE;)Nf$S^(OloVDT+n!9Vk1J9-FSas1gBIFv zJ^e#AsHf##>L#m?koh=UvY9%xQiE;e`~ZIsah4{(6XZ5aR&S8gud#!N?!-^ng`dgZ zoQ_+ll~hV4Y9sm?Da_cn=QX?SDkWUo>#k;U_YHakU7J)-VYDwXfH%o%8vC)2F;!Q` zcJ4|1Hl92eV~`q1TNg7?D)=45OGR6tHa|vG!+!A)?XI|ej}X>y;33hTl0%Gikk|l* F{{e`Gs>1*P literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ZigZagConversion.class b/leetcode/out/production/solution/ZigZagConversion.class new file mode 100644 index 0000000000000000000000000000000000000000..bf05501d3b46d0b8b28784ad731a0d8267aa598b GIT binary patch literal 1264 zcmZuv+fEZv6kVsCnKP~94IH5e-i1P~Rn)4~yT*hBHHv|V7@f9b9jQ~CP9eVez(>f7 zQC|9FqAzH?@B#jazo0MTIztnYGRd5C_T{X-_gd%2pD!x_PT@)t7KS7;CXObN#jzw} z$VnVe!oZMPPAJc?I-Qg_C2?B7IPdvhcu^pp9-I)+uGPw}!1giEcW*VG7v12VQ>@a{ zF;*)%)d?r?l-+V_;Zv`!VpCpa%Bftd`Ezbi_iBDYK$apa6c|X4J#*%qT-EU_x$!XY z{7PYTu-zvhJpQBnXV_0Y3>0+RRfbtp`ikF{Ramg#yl7xPXfmF5xn0%L3U=#B0~?ABl;2qewxhvB2*1 z=;k_`VQuXl2<%F?qZM!fTlkjM7XyXCHm=)g<+zhi=tG|%K1SgkT#d+SU?nBAWY*Rn z4ll#Z*bHfpmyw{c%;#Whi|DcSUah=@#DXrG=v&ZN<9V%#UAF#4`Bs}zgxCv)Xs$L} zkRy6_#7G${c^S`}wrR^Hbf*m493Dxe^pwJ%TripcGo`c82R0ms8gdG|xh9}<2uV&X zveLnb&9M*jbe*G)(z?UENpv$mg~#ZHi$2U?AAIb`3+B$_2wtHdix|K=?oA9v#7z^s z8;^Lqi#7IOnpPL7U4%)b9!5!Bi&k~oL!Z*(J!^DPCyQu(*voEhyk@=q&{!u+Ee{g! t5Hkx%$W_WBB@Rm*5fc4E5Talv_21A{D6uXiF%V?{zgUc~nGi7y{snyT2&4c2 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ZigzagIterator.class b/leetcode/out/production/solution/ZigzagIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..bdbbde4b418ed59c866dd982e3143e54463d9c92 GIT binary patch literal 1847 zcma)7OLN;)6#lLyTZyAQYlpUZKrl&dC)7=#f!1l-Qrci}Qd*Z3mkmmyaaH`t$a1FX zl41A}EZJnkhMAO%Vd$`iJ->wwh3`lHZ{MiE2Sz*-a` zWCw8u*9@#jd0!tw7&qj&DaQw*yCu|za@;m>X9&aCFz`_nqsR&Kv1mRqkTf?vI>I*r&P7PhHEQid(>-Pd^<`@R<^38Os?wLCELxe z^QRE0WEAe?{|4 zl!hq8l3(<=WPNR!<4_38#nQ%KF;ZCQmGuXtFkJAg-LE#SeZO4>78O#jWbN<+vRQ(fhVHJ$WR(-3TOGvvPI>qO)IM*0LQ{R=|H6KKz&r^CM@T+|i|MSZDo zg2<1w(J;$%f)Ribp7K%}#p@X3pAmvMyywUX|E8Z`s067H-lA0QKsOKNQwhvd7NA_f z*Wheh*p7KeXtTPwx%6UPTh-(G%=bty#r2h|;d9|842ACyOCLiQZa|@l!4MvPqpPET z{uIQzk9d+b!tYCrd>k3lmvQz#)G_uWMPy>NO0;vlg-T>;4Q32eWX7e)aq%HD!SaqU?1$06r2F&_3>%a=3xo6&2QEY>q$JQ?CM8Ak)AhG}h*s4gC45kLN?{wkWsDO+P5wX({Rp}y gxPpa=_!bxZ{1RDKC}^@o4kI*nLxNl(6T;Ph0cBQ%_5c6? literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/system/DesignTinyURL.class b/leetcode/out/production/solution/system/DesignTinyURL.class new file mode 100644 index 0000000000000000000000000000000000000000..7f0d0150cfa27bdf8afbf64da27602cb3a42ed49 GIT binary patch literal 278 zcmZvWy^6w65QWdg{AkRoh-|-|TA0Sp#l~f;px|GB6EAut-arxsAInOx@Bw@%*-6+& za0U+dd^6`VkLT?UV2GBB3O*b(95e~`x6&#f6Dr-_nqW?njU+S!rRDT^2xYnyVa%i* zB$0^MB2|U|hi1N08R0X?&RH%G{*TPmRxg!4ujavs;4YG58p&T({_rv#?8QlVFkulo z@8X13vEs)&vA?a0E7c}#Nj#R7#KHr3C^1(o%p@oG zd^0C^Uhl^fzz{7L6*L?)9ry%$tWs4@2$gPcLolb=RucSBrE+mTMKWKDC}GkLvsfe> zkt^+g&@2zCAT+|_T9on>%+p;qBDkyUoX2vebg-u3;3zJ_g9(dJ|63-s^dv|`x(}Ao uQN|@YF!(@S#LW>_n_ckrfYrZ)ZVU`KtTtnCpvvlf-xg|c+3{Db2D}eW>@XPs literal 0 HcmV?d00001 diff --git a/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java b/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java index 92ede32..60028c4 100644 --- a/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java +++ b/leetcode/solution/src/FlattenBinaryTreeToLinkedList.java @@ -32,22 +32,25 @@ public void flatten2(TreeNode root) { helper(root); } + /** + * 这题要注意ltail和rtail都为null的情况 + */ public TreeNode helper(TreeNode root) { if (root == null) { - return null; + return root; } + + TreeNode ltail = helper(root.left); + TreeNode rtail = helper(root.right); + TreeNode right = root.right; - TreeNode leftTail = null, rightTail = null; - if (root.left != null) { - leftTail = helper(root.left); + if (ltail != null) { root.right = root.left; root.left = null; - leftTail.right = right; + ltail.right = right; } - rightTail = helper(right); - - return rightTail != null ? rightTail : leftTail; + return rtail != null ? rtail : ltail != null ? ltail : root; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index dc5b148..1757af0 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -1,22 +1,39 @@ -import java.util.LinkedList; -import java.util.Queue; -import java.util.Stack; +import sun.plugin2.os.windows.FLASHWINFO; + +import java.util.*; public class Main { - public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { - if (root == null || root == p || root == q) { - return root; + public static void flatten(TreeNode root) { + Stack stack = new Stack(); + List list = new ArrayList<>(); + while (!stack.isEmpty() || root != null) { + if (root != null) { + list.add(root); + stack.push(root); + root = root.left; + } else { + root = stack.pop().right; + } } - TreeNode left = lowestCommonAncestor(root.left, p, q); - TreeNode right = lowestCommonAncestor(root.right, p, q); - if (left != null) { - return right != null ? root : root.left; - } else { - return root.right; + for (int i = 0; i < list.size() - 1; i++) { + list.get(i).left = null; + list.get(i).right = list.get(i + 1); } } public static void main(String[] args) { + TreeNode node3 = new TreeNode(3); + TreeNode node4 = new TreeNode(4); + TreeNode node2 = new TreeNode(2, node3, node4); + TreeNode node6 = new TreeNode(6); + TreeNode node5 = new TreeNode(5, null, node6); + TreeNode node1 = new TreeNode(1, node2, node5); + flatten(node1); + + while (node1 != null) { + System.out.print(node1.val + " "); + node1 = node1.right; + } } } From 463174d84f92d015bb8c7447fceecf86e4ad4d02 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 8 Sep 2018 08:17:24 +0800 Subject: [PATCH 14/96] fd --- .../src/UniqueBinarySearchTreesII.java | 80 +++++++++++++++++++ leetcode/src/Main.java | 57 +++++++------ 2 files changed, 112 insertions(+), 25 deletions(-) diff --git a/leetcode/solution/src/UniqueBinarySearchTreesII.java b/leetcode/solution/src/UniqueBinarySearchTreesII.java index 55635b7..83bbb2f 100644 --- a/leetcode/solution/src/UniqueBinarySearchTreesII.java +++ b/leetcode/solution/src/UniqueBinarySearchTreesII.java @@ -36,4 +36,84 @@ private List generateTrees(int start, int end) { } return list; } + + /** + * 这里面明显有重复计算的部分,可缓存[1,n]的结果加速,时间降到2ms + */ + /* + public List generateTrees(int start, int end, List[] map) { + List result = new LinkedList<>(); + if (start > end) { + result.add(null); + return result; + } + if (start == 1 && map[end] != null) { + return map[end]; + } + for (int i = start; i <= end; i++) { + List lefts = generateTrees(start, i - 1, map); + List rights = generateTrees(i + 1, end, map); + for (TreeNode left : lefts) { + for (TreeNode right : rights) { + TreeNode root = new TreeNode(i); + root.left = left; + root.right = right; + result.add(root); + } + } + } + if (start == 1) { + map[end] = result; + } + return result; + } + + public List generateTrees(int n) { + if (n < 1) { + return Collections.EMPTY_LIST; + } + List[] map = new LinkedList[n + 1]; + return generateTrees(1, n, map); + }*/ + + /** + * 可考虑迭代的DP写法 + */ + /* + public List generateTrees(int n) { + if (n == 0) { + return Collections.EMPTY_LIST; + } + + List[] map = new LinkedList[n + 1]; + map[0] = new LinkedList<>(); + map[0].add(null); + + for (int i = 1; i <= n; i++) { + map[i] = new LinkedList<>(); + for (int j = 1; j <= i; j++) { + for (TreeNode left : map[j - 1]) { + for (TreeNode right : map[i - j]) { + TreeNode root = new TreeNode(j); + root.left = left; + root.right = clone(right, j); + map[i].add(root); + } + } + } + } + + return map[n]; + } + + public TreeNode clone(TreeNode node, int offset) { + if (node == null) { + return null; + } + TreeNode root = new TreeNode(node.val + offset); + root.left = clone(node.left, offset); + root.right = clone(node.right, offset); + return root; + } + */ } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 1757af0..8580e28 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,36 +4,43 @@ public class Main { - public static void flatten(TreeNode root) { - Stack stack = new Stack(); - List list = new ArrayList<>(); - while (!stack.isEmpty() || root != null) { - if (root != null) { - list.add(root); - stack.push(root); - root = root.left; - } else { - root = stack.pop().right; + public List generateTrees(int n) { + if (n == 0) { + return Collections.EMPTY_LIST; + } + + List[] map = new LinkedList[n + 1]; + map[0] = new LinkedList<>(); + map[0].add(null); + + for (int i = 1; i <= n; i++) { + map[i] = new LinkedList<>(); + for (int j = 1; j <= i; j++) { + for (TreeNode left : map[j - 1]) { + for (TreeNode right : map[i - j]) { + TreeNode root = new TreeNode(j); + root.left = left; + root.right = clone(right, j); + map[i].add(root); + } + } } } - for (int i = 0; i < list.size() - 1; i++) { - list.get(i).left = null; - list.get(i).right = list.get(i + 1); + + return map[n]; + } + + public TreeNode clone(TreeNode node, int offset) { + if (node == null) { + return null; } + TreeNode root = new TreeNode(node.val + offset); + root.left = clone(node.left, offset); + root.right = clone(node.right, offset); + return root; } public static void main(String[] args) { - TreeNode node3 = new TreeNode(3); - TreeNode node4 = new TreeNode(4); - TreeNode node2 = new TreeNode(2, node3, node4); - TreeNode node6 = new TreeNode(6); - TreeNode node5 = new TreeNode(5, null, node6); - TreeNode node1 = new TreeNode(1, node2, node5); - flatten(node1); - - while (node1 != null) { - System.out.print(node1.val + " "); - node1 = node1.right; - } + } } From e17c37917ea150fbbb9997ffb4fb493d44ad89fc Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 12 Sep 2018 07:00:56 +0800 Subject: [PATCH 15/96] fd --- .../src/BinaryTreeInorderTraversal.java | 4 ++ .../src/MinimumDepthOfBinaryTree.java | 28 +++------- leetcode/src/Main.java | 51 ++++++++----------- 3 files changed, 32 insertions(+), 51 deletions(-) diff --git a/leetcode/solution/src/BinaryTreeInorderTraversal.java b/leetcode/solution/src/BinaryTreeInorderTraversal.java index 9f546db..f7cc6c1 100644 --- a/leetcode/solution/src/BinaryTreeInorderTraversal.java +++ b/leetcode/solution/src/BinaryTreeInorderTraversal.java @@ -3,6 +3,10 @@ import java.util.List; import java.util.Stack; +/** + * https://leetcode.com/articles/binary-tree-inorder-traversal/ + */ + public class BinaryTreeInorderTraversal { public List inorderTraversal(TreeNode root) { diff --git a/leetcode/solution/src/MinimumDepthOfBinaryTree.java b/leetcode/solution/src/MinimumDepthOfBinaryTree.java index dbe0332..82ad4f4 100644 --- a/leetcode/solution/src/MinimumDepthOfBinaryTree.java +++ b/leetcode/solution/src/MinimumDepthOfBinaryTree.java @@ -16,31 +16,15 @@ public int minDepth(TreeNode root) { if (root == null) { return 0; } - // 如果一边空了,那这边深度为0,但是由于不是叶子节点,所以不能算,得看另一边。 + if (root.left == null && root.right == null) { + return 1; + } if (root.left == null) { return minDepth(root.right) + 1; - } else if (root.right == null) { - return minDepth(root.left) + 1; - } else { - return Math.min(minDepth(root.left), minDepth(root.right)) + 1; } - } - - /** - public int minDepth(TreeNode root) { - if (root == null) { - return 0; + if (root.right == null) { + return minDepth(root.left) + 1; } - return helper(root); + return Math.min(minDepth(root.left), minDepth(root.right)) + 1; } - - private int helper(TreeNode root) { - if (root == null) { - return Integer.MAX_VALUE; - } - if (root.left == null && root.right == null) { - return 1; - } - return Math.min(helper(root.left), helper(root.right)) + 1; - }*/ } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 8580e28..f91de79 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,40 +4,33 @@ public class Main { - public List generateTrees(int n) { - if (n == 0) { - return Collections.EMPTY_LIST; + public int minDepth(TreeNode root) { + if (root == null) { + return 0; } - - List[] map = new LinkedList[n + 1]; - map[0] = new LinkedList<>(); - map[0].add(null); - - for (int i = 1; i <= n; i++) { - map[i] = new LinkedList<>(); - for (int j = 1; j <= i; j++) { - for (TreeNode left : map[j - 1]) { - for (TreeNode right : map[i - j]) { - TreeNode root = new TreeNode(j); - root.left = left; - root.right = clone(right, j); - map[i].add(root); - } - } - } + if (root.left == null && root.right == null) { + return 1; } - - return map[n]; + if (root.left == null) { + return minDepth(root.right) + 1; + } + if (root.right == null) { + return minDepth(root.left) + 1; + } + return Math.min(minDepth(root.left), minDepth(root.right)) + 1; } - public TreeNode clone(TreeNode node, int offset) { - if (node == null) { - return null; + public int minDepth(TreeNode root, int depth) { + if (root.left == null && root.right == null) { + return depth; + } + if (root.left == null) { + return minDepth(root.right, depth + 1); + } + if (root.right == null) { + return minDepth(root.left, depth + 1); } - TreeNode root = new TreeNode(node.val + offset); - root.left = clone(node.left, offset); - root.right = clone(node.right, offset); - return root; + return Math.min(minDepth(root.left, depth + 1), minDepth(root.right, depth + 1)); } public static void main(String[] args) { From 83a0db69d3f4d4595a787f6ced68c24923355543 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 12 Sep 2018 07:11:42 +0800 Subject: [PATCH 16/96] fd --- .../src/BinaryTreeLevelOrderTraversalII.java | 35 ++++++------ leetcode/src/Main.java | 57 +++++++++++-------- 2 files changed, 51 insertions(+), 41 deletions(-) diff --git a/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java b/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java index 7eb105a..f14eb4c 100644 --- a/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java +++ b/leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java @@ -1,3 +1,4 @@ +import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; @@ -5,45 +6,43 @@ public class BinaryTreeLevelOrderTraversalII { // 耗时2ms,和I一样,只不过加到result时添加到头 - public List> levelOrder(TreeNode root) { - List> result = new LinkedList>(); + public List> levelOrderBottom(TreeNode root) { + List> result = new LinkedList<>(); if (root == null) { return result; } - Queue queue = new LinkedList(); - Queue next = new LinkedList(); - queue.add(root); + Queue queue = new LinkedList<>(); + Queue next = new LinkedList<>(); - List cur = null; + List list = null; + + queue.offer(root); while (!queue.isEmpty()) { TreeNode node = queue.poll(); - if (cur == null) { - cur = new LinkedList(); - result.add(0, cur); + if (list == null) { + list = new ArrayList<>(); } - cur.add(node.val); + list.add(node.val); if (node.left != null) { - next.add(node.left); + next.offer(node.left); } - if (node.right != null) { - next.add(node.right); + next.offer(node.right); } if (queue.isEmpty()) { - Queue temp = queue; - queue = next; - next = temp; - cur = null; // 注意这里要置空 + queue.addAll(next); + next.clear(); + result.add(0, list); + list = null; } } - return result; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index f91de79..733f7bf 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,33 +4,44 @@ public class Main { - public int minDepth(TreeNode root) { + public List> levelOrderBottom(TreeNode root) { + List> result = new LinkedList<>(); + if (root == null) { - return 0; - } - if (root.left == null && root.right == null) { - return 1; - } - if (root.left == null) { - return minDepth(root.right) + 1; - } - if (root.right == null) { - return minDepth(root.left) + 1; + return result; } - return Math.min(minDepth(root.left), minDepth(root.right)) + 1; - } - public int minDepth(TreeNode root, int depth) { - if (root.left == null && root.right == null) { - return depth; - } - if (root.left == null) { - return minDepth(root.right, depth + 1); - } - if (root.right == null) { - return minDepth(root.left, depth + 1); + Queue queue = new LinkedList<>(); + Queue next = new LinkedList<>(); + + List list = null; + + queue.offer(root); + + while (!queue.isEmpty()) { + TreeNode node = queue.poll(); + + if (list == null) { + list = new ArrayList<>(); + } + + list.add(node.val); + + if (node.left != null) { + next.offer(node.left); + } + if (node.right != null) { + next.offer(node.right); + } + + if (queue.isEmpty()) { + queue.addAll(next); + next.clear(); + result.add(0, list); + list = null; + } } - return Math.min(minDepth(root.left, depth + 1), minDepth(root.right, depth + 1)); + return result; } public static void main(String[] args) { From aac7430f7d7c4572dc60658e6076ca13295acadb Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 12 Sep 2018 07:18:08 +0800 Subject: [PATCH 17/96] fd --- .../solution/src/BinaryTreeRightSideView.java | 23 +++++++++++-------- leetcode/src/Main.java | 17 ++++++-------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/leetcode/solution/src/BinaryTreeRightSideView.java b/leetcode/solution/src/BinaryTreeRightSideView.java index 0d7c4cf..4a8dcc8 100644 --- a/leetcode/solution/src/BinaryTreeRightSideView.java +++ b/leetcode/solution/src/BinaryTreeRightSideView.java @@ -5,33 +5,36 @@ public class BinaryTreeRightSideView { public List rightSideView(TreeNode root) { - List result = new LinkedList(); + List result = new LinkedList<>(); if (root == null) { return result; } - Queue queue = new LinkedList(); - Queue next = new LinkedList(); + Queue queue = new LinkedList<>(); + Queue next = new LinkedList<>(); - queue.add(root); + TreeNode last = null; + + queue.offer(root); while (!queue.isEmpty()) { TreeNode node = queue.poll(); + last = node; + if (node.left != null) { - next.add(node.left); + next.offer(node.left); } if (node.right != null) { - next.add(node.right); + next.offer(node.right); } if (queue.isEmpty()) { - result.add(node.val); - Queue temp = queue; - queue = next; - next = temp; + queue.addAll(next); + next.clear(); + result.add(last.val); } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 733f7bf..438e44f 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,8 +4,8 @@ public class Main { - public List> levelOrderBottom(TreeNode root) { - List> result = new LinkedList<>(); + public List rightSideView(TreeNode root) { + List result = new LinkedList<>(); if (root == null) { return result; @@ -14,22 +14,19 @@ public List> levelOrderBottom(TreeNode root) { Queue queue = new LinkedList<>(); Queue next = new LinkedList<>(); - List list = null; + TreeNode last = null; queue.offer(root); while (!queue.isEmpty()) { TreeNode node = queue.poll(); - if (list == null) { - list = new ArrayList<>(); - } - - list.add(node.val); + last = node; if (node.left != null) { next.offer(node.left); } + if (node.right != null) { next.offer(node.right); } @@ -37,10 +34,10 @@ public List> levelOrderBottom(TreeNode root) { if (queue.isEmpty()) { queue.addAll(next); next.clear(); - result.add(0, list); - list = null; + result.add(last.val); } } + return result; } From 0aa667f6c0fa89b939fd5ea9a930a560ff9ee78c Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 12 Sep 2018 08:52:45 +0800 Subject: [PATCH 18/96] fd --- README.md | 1 + leetcode/out/production/leetcode/Main.class | Bin 1552 -> 1552 bytes .../solution/BinaryTreeInorderTraversal.class | Bin 1642 -> 1642 bytes .../BinaryTreeLevelOrderTraversalII.class | Bin 1574 -> 1664 bytes .../solution/BinaryTreeRightSideView.class | Bin 1362 -> 1450 bytes .../FlattenBinaryTreeToLinkedList.class | Bin 1601 -> 1593 bytes .../solution/MinimumDepthOfBinaryTree.class | Bin 628 -> 653 bytes .../solution/src/DiameterOfBinaryTree.java | 24 +++++++++ leetcode/src/Main.java | 49 ++++++------------ 9 files changed, 42 insertions(+), 32 deletions(-) create mode 100644 leetcode/solution/src/DiameterOfBinaryTree.java diff --git a/README.md b/README.md index 178f213..3d0edaf 100644 --- a/README.md +++ b/README.md @@ -371,6 +371,7 @@ |526|[Beautiful Arrangement](https://leetcode.com/problems/beautiful-arrangement/)| [Java](leetcode/solution/src/BeautifulArrangement.java)|80|| |535|[Encode and Decode TinyURL](https://leetcode.com/problems/encode-and-decode-tinyurl/)| [Java](leetcode/solution/src/EncodeAndDecodeTinyURL.java)|100|| |541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](leetcode/solution/src/ReverseStringII.java)|100|| +|543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/)|[Java](leetcode/solution/src/DiameterOfBinaryTree.java)|80|这题易错| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| |617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)|100|很简单| diff --git a/leetcode/out/production/leetcode/Main.class b/leetcode/out/production/leetcode/Main.class index a13689d44008738dd8a2bde4f1bb4ff1df86254a..b22cdc554029f9834079c77e16cc09c0ac422dbc 100644 GIT binary patch literal 1552 zcmZux+inwA6kR8ti#-f+FeD^(T~aQ^HUR?(p~OJTrGUXsC{80mUviR+odI9aFhS)* z`p_?+54^Ohh($$Tk^0W>psqb0%TtL5pM5!N-_}0ke?PtZ2fz|G9Jn~=U<#ECES#6) zf`f}#w6WySxFpB204`_nEv}@oVx#KdDy})Wj_(|Nj~g~_Dp*(jo*!OUNEJ&P3dXJe zj;D~V`#o=Uue;?1>w2q0Pp;nI)}0L<_+rOSBi!|0Fh{+i{a#h!$d0eOUg!mDt($&N z2d~xxkFf`fbx~HCx>~BSNYL+x3eMQe@;fbNnoJ;{M9@}8w-wYAW@(0c`&mOj9~JMi zsKQL~=lWCqQdc^<*RC|f!0)xI(I`4-Gv(pWTq~G8HnSAVOR>Bd%f(n;U|SuJH58k6 zn*F_C+q>fn8yOk+oRoEO2ssyDqTu2d@-A*8Z{r6ScW_rBJ(^o!_vEO#n8lop`z{`! zP6P|gUz#AUH2yv!DBW8%k}TqQbazIqXQU8d;oG4u40V!vN`NPa`I?CCBS zerQ~=)(gG17bw^-b!X38YsqSArNnMx1jCYbqJ{AdwfaF#GL zio1^5`G1#e=(+UVAz#y<$z9sO*ZfXgeprA3&V(G#!?Y@tiqb6aL;XQz0!MgSLno%G zyRkllqqH)zTY4n;Jkb(tl~V&uyrGtiPA8%*e1Uuv%~v#xR+rhz1by$yA7G~5l>b8N z16&FtVVCp2VM=@kD;S%vF*`Oylfna-63ws?I+aAn1`(+dnn?>{4`C8J)R^ft7Dh<% z#}Om2xj6!FN>z5BiuhW=Bz2b)9VB;I`lc{Lk_+T%k=AWm56GV;djYxlm2CXZFX}C& za6B_)B4&x4;42&>PxHLX!m+YP*A?Vf;FHgAo5$l7d}KMBpyuDO9^3n{>!PHoG(<7a zEbJq_Dyl`_iXobDcFv%8#hfz-$Shlb!pR*l-ot&Inzjb~6B=OhEwba+a2#otn2!qQ zSh|1{IE|D1mp+9mzQH3}GR3`NE4)2PD}(#I&$H1SZV;8{j0G$cnya+G=�BI#)n^>$^UuctP8wz#$X@M11mn5?+&h!`c ztL-Q_b*3NbO#eWCK>tVSbF%9M#Z2a&=bU@)InR0SP5%Dxk3Rua@lzh7s9Ml5pGN@; zf^L}jB2W9JEHw$&E!@OcCKmI^C)u|IeVxN?u}iYt$>ST`HF3|xeFfuY&Z*NUDjwcy`WPk*!IJoA1RDG zjg`pvTP#+e8bH>My4_eIe>|p#u@{62di2%?TiZ<15_hN_dmGQ1Ua#MjBP*CsLNAW} zj>6FKM#6uGOr-zMji=souM&Eltx7wNg3eaGKc5$Ek@4sUwn?BvzH_OqruKSj7g9T) z+Rsh69Hiadi#GgwfoNoj471YL##xNncz}|Pk8r`p$0#Y}-fAM-%d&iH<5OHU@tutZ znhNLMC%v>6gqwb3qlJey9^rchbxFVvHriM*@uQ7ZtZ{JZtuQhu@NoU9zacV){u43I zvIsEYEDy9FAlW*0w*AX)?C-n8c zg$wL*LiuzEo|th?Z1Q~!I43tX$j`;yB&2ZGIhn|cqy5A0QsWKvgeaMRsNX7YqrhL2 zd^E5!#<-5ttI#T1-93Q%jUa<_T#Y1%31U0NMVzN+$?Y;ChyP`^PJ7$^iv?b|FOhkT zY=c&#ZHjHVHLZMz30F2>L37nBWXdx{<(f8q2xGdY6}1;ElI=HMzz}hcEG?3-ahm=( zhEc*9e8L%APEjHMDkr!>dUX`BNJ2uinvlUHv%!;dxJV>a%eX|8A@!^BF4?Pu%dA&o zpUccWkF0To&!C&Qa{MboSn^)efvdElmf>=~wSioD)&_g%tUi#;NSRo;1}CYYt}(}C zZu|!NW8;8-Bmzu=rU1P>eE_p1a71=%n!ubYY7EzOakQDDE{;(&UL#jD4&nX|>kaac z4{)kzyo9}vp~C5X4DVxPA7><_)r?<{{t>>3%Ck5{e5F5IfzwU)89JE96qcy*eN6M$ zIfDSR*rhHq(}RRJGhBKWo>5g%w}5qKi@K9o;~7!c;py4Fy7Rcj`zmqjC0u8v5)~E2 ZFCufqHl_*wtGuH*U9hxby1d4@{{d7pA2|R3 diff --git a/leetcode/out/production/solution/BinaryTreeInorderTraversal.class b/leetcode/out/production/solution/BinaryTreeInorderTraversal.class index 0bcd9041e32a6c03934034b1e44461170605d0e2..85dc188781aab6d5935e3e2dd001879da2c3f2d3 100644 GIT binary patch delta 129 zcmaFG^NMG~e`ZFmNh~d@ybK%+d<+5%{0!1SQl3GOL6t#>L6<>DCUyexzMHmNd-@9WY2rpbZ<#NLxlr$0mg2Cbyk8H|`v# zA}{d9BZxQH3y(uWLPJ6tVG`m2F^NA3O=I76)5L5OBaY6!_nh;c`<);5Uk`u%4Zth7 z8pk2b88{P11am{wysE@&N}M(Dx`8+17{J^h3>4xhVtxp3qNI**De<;)Tu@?B8OjFU zF>p>GHg7jvRjt|2dZ{MF1NNfq_<{mIMf`hx;4vLw>(>&yGqT!W;X>U zs*85R^4e>jlvTMaofWT6pl9t$uW31zN>L!`^bCux@4MRqM>AE0SmuqzZ1uXeYt6QN z+nKG}O`iy@5m1Tuov8C%*C%ODHd_ui$tPj@&6aGD@JPsXNvVR6@>8NThc^fu{&!04 zo&B`VhM-wy<&-vz_E~LaOr%Xy|SMS*+Y>ZizG0->RYuNOV&hjbx8hKiE$;2qe1V+OhYuu1^ zl@NKFxPXd@i+ImO6-xpG`&|||)WnMxSHKTZr_)$3|h zLY6M z8Abw0W;TK}i*t59O@WoBN*aeRz%)LGD*m_!>>_yVW!6*Bk+S$s#t_sHP~ zbRMaWVOg&KsHg5ArH E0C~E8EdT%j literal 1574 zcma)6U5^u07=BJW)7kCLe!+IN%PtFAr0s60@*&zT6~)uxJyyGJyBBTGQF`B~`Inupz(MPb)3Uv-3!apg z+?4LB*C5cdH>KCL-DxuFqJ_mm3{{$%yCE zKn7B|T48_5T|8}GyX|ulPj&;B!bAku&!}Hhcm6I(|3LJW=NP*Ec->zR>u{$Br2HrDpnky9;UUQl) z+YdYrv;03SzI;o`wRYguM#tX@-vR1cr|r6&FWbMG(RkjPZ1p*5`0B(rZK6b# z7k9VG{`y&j-axKi3KK*V?_3bpb>$_tuX|4OvX6rpr27^4vqM$fw{_&p(8C z5W4sBO!SPHqHOl%6sD;OynC2p-{U%kguw4GN{O`o1gV{1eKDTaw=on)T2Ci_!SEv_w=qJr(#$_Fk=8<~ zmr{wN1LJ7V*emiKCJH4Zt<};-Nn`0B|GBw%pWSLu6RvX#V3_@na6&VrXPU&!lbXYf z$RmYgoVdccWu#$Y2A^RLk`Ws?fUod6ZXknOjQ$o`+(8aM5Oo&|xQ7CMBDIRW^Q>?O zNoJVgA7uqi?87YiC2Opp7**07ZM@ntv4P}gLU9Th_9 F$iFQcVdnq< diff --git a/leetcode/out/production/solution/BinaryTreeRightSideView.class b/leetcode/out/production/solution/BinaryTreeRightSideView.class index 29f7f37be472a39b3cf2bc65928384a95c96c885..edc57569369351e1454427083bd1aed79bbb07d4 100644 GIT binary patch delta 823 zcmYjO+fEZv6kTW9nJMjnh*%tpf?R~sma5>bXc6iKwV)OPi7z^~gQ-j?l;Z6{9*iGQ z$6)XWOng#9qBX|&q=}Dyfj{AkA?P}TLFcmeKI^QrZ|8gPRVepu^TQ_qgP07W5&b%n zK`7`C;Sdf>I3i&{$6y_F9F=fPGRGyHkjs-nq%ai1DV)}k)-hZids_XOuKoyj+V?90 ze#cs(31>@r%bB*yMeCMhPd!+$r=;U9iavKzw71kxR;>KoxV7NXI?m`AVOIC8n7_Fb zO#;n#th-inxl(kJ+2Z`1UC0)fDij$QMaIBcoHKA97X$)RW!s)86>I}zh#0si;Sw$z z$fC)>I3{#lF>n>vn8iR28Fx|1X=-V9)-JnWm6@1k6$&GcBVhJs|7FdT9LLUAilzCX z=yd@#@7Pw^ZS{@V0zRI=0qo!i<)c7=MH6>%m82E4YTrAEH{NzLQQIQ1o4)ba52J-E zfjux8goni{txj&u{pf335h*nhtHG~eCQ*Yb@B+8#Xab+1r!-SbsiwA$z!x-{e$U$y zOSf*DtouL08afiDzlI=VN*fZ0o9a4@_o%O-f$YoQtMS(?!H*SLcMcK*e1ohzga*E0 zw%*2;J6LlcI~pL9W*4K_%h5+LgZ;Qcg+s+MI`Ifyc!F*`Ll2%K>djz`eWo$Z6A{ja z9W#cUhV)v=@n%<0#Xg2oxb>Lf+TkNU1|YBDiv)U_?YWE?oL22>uhLe%zNxaF{voygT=tch7sB`0mxe{r>O?nBs~@ zA7w?w!={|zDB}hu3>;G&kE570FlAuc;{+!YoMK#YT2b9veCpf{S8waQmD&0^>o~3O zzMi*o`mvSQ%T`Ihw34c(m=P=e(P~9@lhhSEn4a;O<&4i9XMN^5XA!%8Ckz|6nxW4E zS)cO;E^twC$*0a`MNMzmi%#Tbv#EdBOL`?Tm!`lj31A)@3vn0h*Iy#($vskYWd~6P z1pR+J#a`K2q}eB$exaMPDyeO1&ly~+jJ0uWmMU$c7SCB0;#z!0Rii=lEwQg81E<5f zjfTd1#rXf~XXMJ}xA&ez8{fEA-N0!CZq<49=SBIAoa$gEZFFXg5!3ISfwd9YO^~7{ zQ!dDy*VxYuvV*Cofgd>I1CUgN6hvXWo2iJQr7SWaqk z-#p@g_}OyCJ@E{P2(F5Aup&bhq;*u*u3b^=x`IPJL9r(&O5c$5=WuuEQyl(9Mlme! W4kg7%YMX*hNjhwf$kC%6Hue{sGFh?! diff --git a/leetcode/out/production/solution/FlattenBinaryTreeToLinkedList.class b/leetcode/out/production/solution/FlattenBinaryTreeToLinkedList.class index f541bfb6869ffa29cb46763953d460ccf87c2b7f..1d1237617a1fe70a1b3593c7526c010efdfe4623 100644 GIT binary patch delta 269 zcmXwzJx&5q6otPxykUZQ3DxjZNI~HbZ)W%tL#XJebPpybN`j4{cLA0zf_4(c#F9eX zf~`An1;#T9FZbR1CFh)*yK!$We>d@Bc{N`c!u$Q4-`p;rzRaV^p6`P1;Ng>i5SaN7 zLZ5g13zb)@7X>)MWicl<*;4a`w#Iq0rjj(RFx?WRE1cvgSz&#yRV8Be4hQPTSWYP8 zsglqjqeYK4edzPEFRc|2wG5R=gR9G8+ZQinerTLxEIO(m(xMWjT^FCM^Gu QMRa!+O$CbfBnI?<0co@;fB*mh delta 277 zcmXAjJx;?w6okKLHa`|dxFA3zuqgPG*A9dq30%=ol8OsZBoHYTO3wi(IRvex5F|

=ykywpbvv{XAR zs&3=hq0XMzJ~1h4c(%yIa-9zSBf6Y(%&O!k^CS|jizySEB$&*FEQyjXaVA@$B{8S6 aCt9#87p@+A7Kb diff --git a/leetcode/out/production/solution/MinimumDepthOfBinaryTree.class b/leetcode/out/production/solution/MinimumDepthOfBinaryTree.class index 97c87087393a1c8cc709df61ff8175af70b0ffe4..d6d0afeced15fc1d801b2d853b5a37ca5a302866 100644 GIT binary patch delta 132 zcmXAhy$yn307T#S0|^NzpCAS!l!S!B-r50d9g2!IEGXQ8-U%3j0l36mae2wT+x!^K zKhw@QEbtl@BKH}-*o9Q(#C}@M^WBkXkmCu&6qHJ(G+gMZxpU>gjZ~}Ze@4bZq+2;B Pj4b5(_!xqy6j{zYjlvG5 delta 107 zcmXAgu@QqX00ZCHCQahQU?6EoAC{nC02ZU7U=6mQXA%kqi0}EEzEL vJKip*8K;hiiULO@C-I`@O~aR#A0M8w&3%#!BHgtuF;vPPo5v_ff{gkP2h|CQ diff --git a/leetcode/solution/src/DiameterOfBinaryTree.java b/leetcode/solution/src/DiameterOfBinaryTree.java new file mode 100644 index 0000000..ca696c4 --- /dev/null +++ b/leetcode/solution/src/DiameterOfBinaryTree.java @@ -0,0 +1,24 @@ +public class DiameterOfBinaryTree { + + /** + * 这题和 124. Binary Tree Maximum Path Sum比较像 + * 都是分两种情况,一种是必须包括root的,带上必须包括left和right的单边结果; + * 还有不是必须包括root的,对比left和right的双边结果 + * flag为true表示必须包括root,false表示不是必须包括root + */ + public int diameterOfBinaryTree(TreeNode root) { + if (root == null) { + return 0; + } + return dfs(root, false); + } + + public int dfs(TreeNode root, boolean flag) { + if (root == null) { + return -1; + } + return flag ? Math.max(dfs(root.left, true) + 1, dfs(root.right, true) + 1) : + Math.max(Math.max(dfs(root.left, false), dfs(root.right, false)), + dfs(root.left, true) + 2 + dfs(root.right, true)); + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 438e44f..049b746 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,44 +4,29 @@ public class Main { - public List rightSideView(TreeNode root) { - List result = new LinkedList<>(); - + public static int diameterOfBinaryTree(TreeNode root) { if (root == null) { - return result; + return 0; } + return dfs(root, false); + } - Queue queue = new LinkedList<>(); - Queue next = new LinkedList<>(); - - TreeNode last = null; - - queue.offer(root); - - while (!queue.isEmpty()) { - TreeNode node = queue.poll(); - - last = node; - - if (node.left != null) { - next.offer(node.left); - } - - if (node.right != null) { - next.offer(node.right); - } - - if (queue.isEmpty()) { - queue.addAll(next); - next.clear(); - result.add(last.val); - } + public static int dfs(TreeNode root, boolean flag) { + if (root == null) { + return -1; } - - return result; + return flag ? Math.max(dfs(root.left, true) + 1, dfs(root.right, true) + 1) : + Math.max(Math.max(dfs(root.left, false), dfs(root.right, false)), + dfs(root.left, true) + 2 + dfs(root.right, true)); } public static void main(String[] args) { - + TreeNode node4 = new TreeNode(4); + TreeNode node5 = new TreeNode(5); + TreeNode node2 = new TreeNode(2, node4, node5); + TreeNode node3 = new TreeNode(3); + TreeNode node1 = new TreeNode(1, node2, node3); + int len = diameterOfBinaryTree(node1); + System.out.println(String.format("len = %d", len)); } } From 4a9d9fe0ed0b83e37a72af4290c5ad575fcbb9b7 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 12 Sep 2018 08:54:48 +0800 Subject: [PATCH 19/96] fd --- leetcode/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 leetcode/.gitignore diff --git a/leetcode/.gitignore b/leetcode/.gitignore new file mode 100644 index 0000000..614c1c8 --- /dev/null +++ b/leetcode/.gitignore @@ -0,0 +1 @@ +.out \ No newline at end of file From 564ca685e131f6e92850f5892f7afb1844572c44 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 12 Sep 2018 08:56:46 +0800 Subject: [PATCH 20/96] fd --- .gitignore | 1 + leetcode/.gitignore | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 leetcode/.gitignore diff --git a/.gitignore b/.gitignore index a7a48f7..4201a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /local.properties /app/app.iml build +out/ diff --git a/leetcode/.gitignore b/leetcode/.gitignore deleted file mode 100644 index 614c1c8..0000000 --- a/leetcode/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.out \ No newline at end of file From 836a315d4635a32d97c6f30403ebfc7b66e91323 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 12 Sep 2018 09:09:13 +0800 Subject: [PATCH 21/96] fd --- .../solution/src/KthSmallestElementInBST.java | 26 +------------- leetcode/src/Main.java | 34 ++++++++----------- 2 files changed, 15 insertions(+), 45 deletions(-) diff --git a/leetcode/solution/src/KthSmallestElementInBST.java b/leetcode/solution/src/KthSmallestElementInBST.java index a921b62..31e34d0 100644 --- a/leetcode/solution/src/KthSmallestElementInBST.java +++ b/leetcode/solution/src/KthSmallestElementInBST.java @@ -14,30 +14,6 @@ public class KthSmallestElementInBST { public int kthSmallest(TreeNode root, int k) { - int[] kth = new int[1]; - inorderTraversal(root, k, kth); - return kth[0]; - } - - private int inorderTraversal(TreeNode root, int k, int[] kth) { - if (root == null) { - return k; - } - - k = inorderTraversal(root.left, k, kth); - - if (--k == 0) { - kth[0] = root.val; - return 0; - } - - return inorderTraversal(root.right, k, kth); - } - - /** - * 非递归法 - */ - public int kthSmallest2(TreeNode root, int k) { Stack stack = new Stack<>(); while (root != null || !stack.isEmpty()) { if (root != null) { @@ -59,7 +35,7 @@ public int kthSmallest2(TreeNode root, int k) { /** * Morris */ - private int kthSmallest3(TreeNode root, int k) { + private int kthSmallest2(TreeNode root, int k) { TreeNode temp; while (root != null) { diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 049b746..197b822 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,29 +4,23 @@ public class Main { - public static int diameterOfBinaryTree(TreeNode root) { - if (root == null) { - return 0; + public int kthSmallest(TreeNode root, int k) { + Stack stack = new Stack<>(); + while (!stack.isEmpty() || root != null) { + if (root != null) { + stack.push(root); + root = root.left; + } else { + root = stack.pop(); + if (--k == 0) { + return root.val; + } + root = root.right; + } } - return dfs(root, false); - } - - public static int dfs(TreeNode root, boolean flag) { - if (root == null) { - return -1; - } - return flag ? Math.max(dfs(root.left, true) + 1, dfs(root.right, true) + 1) : - Math.max(Math.max(dfs(root.left, false), dfs(root.right, false)), - dfs(root.left, true) + 2 + dfs(root.right, true)); + return 0; } public static void main(String[] args) { - TreeNode node4 = new TreeNode(4); - TreeNode node5 = new TreeNode(5); - TreeNode node2 = new TreeNode(2, node4, node5); - TreeNode node3 = new TreeNode(3); - TreeNode node1 = new TreeNode(1, node2, node3); - int len = diameterOfBinaryTree(node1); - System.out.println(String.format("len = %d", len)); } } From fb54f2af8fbefb73bb7f2cc8053f7ff3d466ca62 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 12 Sep 2018 09:09:36 +0800 Subject: [PATCH 22/96] fd --- leetcode/out/production/common/CommonUtils.class | Bin 592 -> 0 bytes leetcode/out/production/common/Interval.class | Bin 444 -> 0 bytes leetcode/out/production/common/ListNode.class | Bin 597 -> 0 bytes .../out/production/common/NestedInteger.class | Bin 275 -> 0 bytes leetcode/out/production/common/Point.class | Bin 429 -> 0 bytes .../out/production/common/RandomListNode.class | Bin 363 -> 0 bytes .../out/production/common/TreeLinkNode.class | Bin 369 -> 0 bytes leetcode/out/production/common/TreeNode.class | Bin 964 -> 0 bytes leetcode/out/production/common/TrieNode.class | Bin 342 -> 0 bytes .../production/common/UndirectedGraphNode.class | Bin 502 -> 0 bytes leetcode/out/production/leetcode/Main.class | Bin 1552 -> 0 bytes leetcode/out/production/solution/AddBinary.class | Bin 989 -> 0 bytes .../out/production/solution/AddTwoNumber.class | Bin 837 -> 0 bytes .../production/solution/AddTwoNumbersII.class | Bin 1261 -> 0 bytes .../production/solution/AlienDictionary.class | Bin 2925 -> 0 bytes .../solution/AndroidUnlockPatterns.class | Bin 1094 -> 0 bytes .../solution/AverageOfLevelsInBinaryTree.class | Bin 1515 -> 0 bytes .../out/production/solution/BSTIterator.class | Bin 1023 -> 0 bytes .../production/solution/BalancedBinaryTree.class | Bin 840 -> 0 bytes .../production/solution/BasicCalculator.class | Bin 1333 -> 0 bytes .../solution/BeautifulArrangement.class | Bin 738 -> 0 bytes .../solution/BestTimeBuySellStock.class | Bin 676 -> 0 bytes .../solution/BestTimeBuySellStockII.class | Bin 522 -> 0 bytes .../solution/BestTimeBuySellStockIII.class | Bin 882 -> 0 bytes .../solution/BestTimeBuySellStockIV.class | Bin 901 -> 0 bytes .../BestTimeBuySellStockWithCoolDown.class | Bin 755 -> 0 bytes .../solution/BinaryTreeInorderTraversal.class | Bin 1642 -> 0 bytes .../solution/BinaryTreeLevelOrderTraversal.class | Bin 1533 -> 0 bytes .../BinaryTreeLevelOrderTraversalII.class | Bin 1664 -> 0 bytes .../BinaryTreeLongestConsecutiveSequence.class | Bin 894 -> 0 bytes .../solution/BinaryTreeMaximumPathSum.class | Bin 1153 -> 0 bytes .../production/solution/BinaryTreePaths.class | Bin 1525 -> 0 bytes .../solution/BinaryTreePostorderTraversal.class | Bin 1262 -> 0 bytes .../solution/BinaryTreePreorderTraversal.class | Bin 1255 -> 0 bytes .../solution/BinaryTreeRightSideView.class | Bin 1450 -> 0 bytes .../solution/BinaryTreeUpsideDown.class | Bin 605 -> 0 bytes .../BinaryTreeVerticalOrderTraversal.class | Bin 2256 -> 0 bytes .../BinaryTreeZigzagLevelOrderTraversal.class | Bin 1613 -> 0 bytes .../out/production/solution/BinaryWatch.class | Bin 1425 -> 0 bytes leetcode/out/production/solution/BombEnemy.class | Bin 1043 -> 0 bytes .../out/production/solution/BulbSwitcher.class | Bin 787 -> 0 bytes .../out/production/solution/BurstBalloons.class | Bin 1040 -> 0 bytes .../production/solution/CanArrangeWords.class | Bin 1245 -> 0 bytes .../out/production/solution/CloneGraph.class | Bin 2312 -> 0 bytes .../solution/ClosestBinarySearchTreeValue.class | Bin 849 -> 0 bytes .../ClosestBinarySearchTreeValueII.class | Bin 4392 -> 0 bytes leetcode/out/production/solution/Codec.class | Bin 4081 -> 0 bytes .../out/production/solution/CombinationSum.class | Bin 2095 -> 0 bytes .../production/solution/CombinationSumII.class | Bin 1556 -> 0 bytes .../production/solution/CombinationSumIII.class | Bin 1435 -> 0 bytes .../production/solution/CombinationSumIV.class | Bin 691 -> 0 bytes .../out/production/solution/Combinations.class | Bin 1424 -> 0 bytes ...aryTreeFromInorderAndPostorderTraversal.class | Bin 1065 -> 0 bytes ...tBinaryTreeFromPreorderInorderTraversal.class | Bin 1018 -> 0 bytes .../solution/ContainerWithMostWater.class | Bin 616 -> 0 bytes .../production/solution/ContainsDuplicate.class | Bin 856 -> 0 bytes .../solution/ContainsDuplicateII.class | Bin 1431 -> 0 bytes .../solution/ContainsDuplicateIII.class | Bin 2073 -> 0 bytes .../ConvertSortedArrayToBinarySearchTree.class | Bin 810 -> 0 bytes .../ConvertSortedListToBinarySearchTree.class | Bin 962 -> 0 bytes .../solution/CopyListWithRandomPointer.class | Bin 936 -> 0 bytes .../out/production/solution/CountAndSay.class | Bin 1398 -> 0 bytes .../solution/CountCompleteTreeNodes.class | Bin 661 -> 0 bytes .../solution/CountNumberWithUniqueDigits.class | Bin 583 -> 0 bytes .../CountOfSmallerNumbersAfterSelf$Node.class | Bin 682 -> 0 bytes .../CountOfSmallerNumbersAfterSelf.class | Bin 1513 -> 0 bytes .../out/production/solution/CountPrimes.class | Bin 558 -> 0 bytes .../solution/CountUnivalueSubtrees.class | Bin 833 -> 0 bytes .../out/production/solution/CourseSchedule.class | Bin 1848 -> 0 bytes .../production/solution/CourseScheduleII.class | Bin 1656 -> 0 bytes .../out/production/solution/DecodeString.class | Bin 2241 -> 0 bytes .../out/production/solution/DecodeWays.class | Bin 1184 -> 0 bytes .../solution/DeleteNodeInALinkedList.class | Bin 491 -> 0 bytes .../production/solution/DeleteNodeInBST.class | Bin 733 -> 0 bytes .../DifferenceWaysToAddParentheses.class | Bin 1869 -> 0 bytes .../production/solution/DivideTwoIntegers.class | Bin 761 -> 0 bytes .../out/production/solution/EditDistance.class | Bin 1014 -> 0 bytes .../solution/EncodeAndDecodeStrings.class | Bin 1810 -> 0 bytes .../solution/EncodeAndDecodeTinyURL.class | Bin 1872 -> 0 bytes .../production/solution/EvaluateDivision.class | Bin 3766 -> 0 bytes .../solution/EvaluateReversePolishNotation.class | Bin 1355 -> 0 bytes .../solution/ExcelSheetColumnNumber.class | Bin 1508 -> 0 bytes .../solution/ExcelSheetColumnTitle.class | Bin 671 -> 0 bytes .../solution/ExpressionAddOperators.class | Bin 1957 -> 0 bytes .../production/solution/FactorCombinations.class | Bin 1431 -> 0 bytes .../solution/FactorialTrailingZeroes.class | Bin 460 -> 0 bytes .../solution/FindAllAnagramsInString.class | Bin 2084 -> 0 bytes .../solution/FindAllDuplicatesInAnArray.class | Bin 976 -> 0 bytes .../FindAllNumbersDisappearedInAnArray.class | Bin 1049 -> 0 bytes .../solution/FindBottomLeftTreeValue.class | Bin 1195 -> 0 bytes .../out/production/solution/FindCelebrity.class | Bin 597 -> 0 bytes .../solution/FindDuplicateSubtrees.class | Bin 1892 -> 0 bytes .../solution/FindKPairsWithSmallestSums.class | Bin 1928 -> 0 bytes .../solution/FindLargestValueInEachTreeRow.class | Bin 1519 -> 0 bytes .../solution/FindLeavesOfBinaryTree.class | Bin 1384 -> 0 bytes .../solution/FindMedianFromDataStream.class | Bin 1207 -> 0 bytes .../FindMinimumInRotatedSortedArray.class | Bin 603 -> 0 bytes .../FindMinimumInRotatedSortedArrayII.class | Bin 634 -> 0 bytes .../solution/FindModeInBinarySearchTree.class | Bin 1997 -> 0 bytes .../production/solution/FindPeakElement.class | Bin 535 -> 0 bytes .../production/solution/FindRightInterval.class | Bin 1468 -> 0 bytes .../solution/FindTheDuplicateNumber.class | Bin 642 -> 0 bytes .../production/solution/FirstBadVersion.class | Bin 777 -> 0 bytes .../solution/FirstMissingPositive.class | Bin 761 -> 0 bytes .../solution/FirstUniqueCharacterInAString.class | Bin 790 -> 0 bytes leetcode/out/production/solution/FizzBuzz.class | Bin 901 -> 0 bytes .../solution/FlattenBinaryTreeToLinkedList.class | Bin 1593 -> 0 bytes .../solution/FlattenNestedListIterator.class | Bin 1605 -> 0 bytes leetcode/out/production/solution/FlipGame.class | Bin 1218 -> 0 bytes .../out/production/solution/FlipGameII.class | Bin 925 -> 0 bytes leetcode/out/production/solution/FourSum.class | Bin 1387 -> 0 bytes .../out/production/solution/GameOfLife.class | Bin 1130 -> 0 bytes .../solution/GeneralizedAbbreviation.class | Bin 1789 -> 0 bytes .../solution/GenerateParentheses.class | Bin 2216 -> 0 bytes .../out/production/solution/GraphValidTree.class | Bin 2976 -> 0 bytes leetcode/out/production/solution/GrayCode.class | Bin 834 -> 0 bytes .../out/production/solution/GroupAnagrams.class | Bin 1542 -> 0 bytes .../solution/GroupShiftedStrings.class | Bin 2336 -> 0 bytes .../solution/GuessNumberHigherOrLower.class | Bin 618 -> 0 bytes .../solution/GuessNumberHigherOrLowerII.class | Bin 819 -> 0 bytes leetcode/out/production/solution/HIndex.class | Bin 915 -> 0 bytes leetcode/out/production/solution/HIndexII.class | Bin 595 -> 0 bytes .../production/solution/HammingDistance.class | Bin 481 -> 0 bytes .../out/production/solution/HouseRobber.class | Bin 924 -> 0 bytes .../out/production/solution/HouseRobberII.class | Bin 778 -> 0 bytes .../out/production/solution/HouseRobberIII.class | Bin 729 -> 0 bytes .../solution/IncreasingTripletSubsequence.class | Bin 624 -> 0 bytes .../solution/InorderSuccessorInBST.class | Bin 3055 -> 0 bytes .../solution/InsertDeleteGetRandom.class | Bin 1757 -> 0 bytes .../solution/InsertDeleteGetRandomII.class | Bin 2308 -> 0 bytes .../out/production/solution/InsertInterval.class | Bin 1243 -> 0 bytes .../production/solution/InsertionSortList.class | Bin 703 -> 0 bytes .../solution/IntegerToEnglishWords.class | Bin 1829 -> 0 bytes .../out/production/solution/IntegerToRoman.class | Bin 1241 -> 0 bytes .../solution/IntersectionOfTwoArrays.class | Bin 2465 -> 0 bytes .../solution/IntersectionOfTwoArraysII.class | Bin 1443 -> 0 bytes .../solution/IntersectionOfTwoLinkedLists.class | Bin 899 -> 0 bytes .../production/solution/InvertBinaryTree.class | Bin 1117 -> 0 bytes leetcode/out/production/solution/JumpGame.class | Bin 519 -> 0 bytes .../out/production/solution/JumpGameII.class | Bin 900 -> 0 bytes .../solution/KthLargestElementInArray.class | Bin 1991 -> 0 bytes ...KthSmallestElementInASortedMatrix$Tuple.class | Bin 1047 -> 0 bytes .../KthSmallestElementInASortedMatrix.class | Bin 1241 -> 0 bytes .../solution/KthSmallestElementInBST.class | Bin 1598 -> 0 bytes .../out/production/solution/LFUCache$Node.class | Bin 1019 -> 0 bytes leetcode/out/production/solution/LFUCache.class | Bin 2314 -> 0 bytes .../solution/LargestBSTSubtree$Result.class | Bin 589 -> 0 bytes .../production/solution/LargestBSTSubtree.class | Bin 1169 -> 0 bytes .../production/solution/LargestNumber$1.class | Bin 1161 -> 0 bytes .../out/production/solution/LargestNumber.class | Bin 1213 -> 0 bytes .../solution/LargestRectangleInHistogram.class | Bin 1984 -> 0 bytes .../LetterCombinationOfPhoneNumber.class | Bin 2612 -> 0 bytes .../solution/LicenseKeyFormatting.class | Bin 1073 -> 0 bytes .../production/solution/LinkedListCycle.class | Bin 544 -> 0 bytes .../production/solution/LinkedListCycleII.class | Bin 675 -> 0 bytes .../solution/LinkedListRandomNode.class | Bin 768 -> 0 bytes .../solution/LoggerRateLimiter$1.class | Bin 1232 -> 0 bytes .../production/solution/LoggerRateLimiter.class | Bin 1779 -> 0 bytes .../solution/LongestAbsoluteFilePath.class | Bin 1474 -> 0 bytes .../solution/LongestCommonPrefix.class | Bin 933 -> 0 bytes .../solution/LongestConsecutiveSequence.class | Bin 1234 -> 0 bytes .../LongestIncreasingPathInAMatrix.class | Bin 1278 -> 0 bytes .../solution/LongestIncreasingSubsequence.class | Bin 1040 -> 0 bytes .../production/solution/LongestPalindrome.class | Bin 784 -> 0 bytes .../solution/LongestPalindromicSubstring.class | Bin 1417 -> 0 bytes ...ubstringWithAtLeastKRepeatingCharacters.class | Bin 1045 -> 0 bytes ...tSubstringWithAtMostKDistinctCharacters.class | Bin 979 -> 0 bytes ...ubstringWithAtMostTwoDistinctCharacters.class | Bin 936 -> 0 bytes ...gestSubstringWithoutRepeatingCharacters.class | Bin 856 -> 0 bytes .../solution/LongestValidParentheses.class | Bin 1213 -> 0 bytes .../LongestWordInDictionaryThroughDeleting.class | Bin 1387 -> 0 bytes .../LowestCommonAncestorOfBinarySearchTree.class | Bin 1289 -> 0 bytes .../LowestCommonAncestorOfBinaryTree.class | Bin 1990 -> 0 bytes .../production/solution/MajorityElement.class | Bin 556 -> 0 bytes .../production/solution/MajorityElementII.class | Bin 1275 -> 0 bytes .../production/solution/MaxConsecutiveOnes.class | Bin 664 -> 0 bytes .../solution/MaxConsecutiveOnesII.class | Bin 1341 -> 0 bytes .../production/solution/MaxPointsOnALine.class | Bin 1562 -> 0 bytes .../production/solution/MaximalRectangle.class | Bin 1563 -> 0 bytes .../out/production/solution/MaximalSquare.class | Bin 1097 -> 0 bytes .../production/solution/MaximumBinaryTree.class | Bin 832 -> 0 bytes .../solution/MaximumDepthOfBinaryTree.class | Bin 574 -> 0 bytes .../out/production/solution/MaximumGap.class | Bin 1191 -> 0 bytes .../solution/MaximumProductSubarray.class | Bin 785 -> 0 bytes .../solution/MaximumSizeSubarraySumEqualsK.class | Bin 1145 -> 0 bytes .../production/solution/MaximumSubarray.class | Bin 840 -> 0 bytes .../solution/MedianOfTwoSortedArrays.class | Bin 1179 -> 0 bytes .../out/production/solution/MeetingRooms$1.class | Bin 902 -> 0 bytes .../out/production/solution/MeetingRooms.class | Bin 722 -> 0 bytes .../production/solution/MeetingRoomsII$1.class | Bin 878 -> 0 bytes .../production/solution/MeetingRoomsII$2.class | Bin 876 -> 0 bytes .../out/production/solution/MeetingRoomsII.class | Bin 1248 -> 0 bytes .../production/solution/MergeIntervals$1.class | Bin 888 -> 0 bytes .../out/production/solution/MergeIntervals.class | Bin 1371 -> 0 bytes .../production/solution/MergeKSortedList$1.class | Bin 899 -> 0 bytes .../production/solution/MergeKSortedList.class | Bin 1165 -> 0 bytes .../production/solution/MergeSortedArray.class | Bin 646 -> 0 bytes .../solution/MergeTwoBinaryTrees.class | Bin 621 -> 0 bytes .../production/solution/MergeTwoSortedList.class | Bin 802 -> 0 bytes leetcode/out/production/solution/MinStack.class | Bin 1120 -> 0 bytes .../solution/MinimumDepthOfBinaryTree.class | Bin 653 -> 0 bytes .../production/solution/MinimumHeightTrees.class | Bin 1851 -> 0 bytes .../solution/MinimumSizeSubarraySum.class | Bin 1176 -> 0 bytes .../solution/MinimumWindowSubstring.class | Bin 1232 -> 0 bytes .../out/production/solution/MissingNumber.class | Bin 475 -> 0 bytes .../out/production/solution/MissingRanges.class | Bin 1456 -> 0 bytes .../solution/MostFrequentSubtreeSum.class | Bin 2112 -> 0 bytes .../out/production/solution/MoveZeroes.class | Bin 816 -> 0 bytes .../out/production/solution/MovingAverage.class | Bin 942 -> 0 bytes .../production/solution/MultiplyStrings.class | Bin 1191 -> 0 bytes leetcode/out/production/solution/MyQueue.class | Bin 1417 -> 0 bytes leetcode/out/production/solution/MyStack.class | Bin 1372 -> 0 bytes leetcode/out/production/solution/NQueens.class | Bin 1719 -> 0 bytes leetcode/out/production/solution/NQueensII.class | Bin 917 -> 0 bytes .../solution/NestedListWeightSum.class | Bin 1286 -> 0 bytes .../solution/NestedListWeightSumII.class | Bin 1641 -> 0 bytes .../production/solution/NextPermutation.class | Bin 936 -> 0 bytes leetcode/out/production/solution/NumArray.class | Bin 623 -> 0 bytes .../out/production/solution/NumArrayII.class | Bin 1040 -> 0 bytes leetcode/out/production/solution/NumMatrix.class | Bin 788 -> 0 bytes .../out/production/solution/NumMatrixII.class | Bin 1429 -> 0 bytes .../solution/NumberOfConnectedComponents.class | Bin 2259 -> 0 bytes .../production/solution/NumberOfDigitOne.class | Bin 706 -> 0 bytes .../production/solution/NumberOfIslands.class | Bin 1610 -> 0 bytes .../production/solution/NumberOfIslandsII.class | Bin 1801 -> 0 bytes .../production/solution/OddEvenLinkedList.class | Bin 778 -> 0 bytes .../production/solution/OneEditDistance.class | Bin 863 -> 0 bytes .../out/production/solution/PaintHouse.class | Bin 671 -> 0 bytes .../out/production/solution/PaintHouseII.class | Bin 887 -> 0 bytes .../solution/PalindromeLinkedList.class | Bin 956 -> 0 bytes .../production/solution/PalindromeNumber.class | Bin 530 -> 0 bytes .../production/solution/PalindromePairs.class | Bin 1678 -> 0 bytes .../solution/PalindromePartitioning.class | Bin 1647 -> 0 bytes .../solution/PalindromePartitioningII.class | Bin 923 -> 0 bytes .../solution/PalindromePermutation.class | Bin 823 -> 0 bytes .../solution/PalindromePermutationII.class | Bin 2285 -> 0 bytes .../out/production/solution/PartitionList.class | Bin 723 -> 0 bytes .../production/solution/PascalTriangleII.class | Bin 1117 -> 0 bytes .../production/solution/PascalsTriangle.class | Bin 1300 -> 0 bytes leetcode/out/production/solution/PathSum.class | Bin 581 -> 0 bytes leetcode/out/production/solution/PathSumII.class | Bin 1555 -> 0 bytes .../out/production/solution/PathSumIII.class | Bin 894 -> 0 bytes .../production/solution/PeekingIterator.class | Bin 1228 -> 0 bytes .../production/solution/PerfectRectangle.class | Bin 1865 -> 0 bytes .../out/production/solution/PerfectSquares.class | Bin 637 -> 0 bytes .../solution/PermutationSequence.class | Bin 1221 -> 0 bytes .../out/production/solution/Permutations.class | Bin 1501 -> 0 bytes .../out/production/solution/PermutationsII.class | Bin 1686 -> 0 bytes leetcode/out/production/solution/PlusOne.class | Bin 492 -> 0 bytes .../production/solution/PlusOneLinkedList.class | Bin 1010 -> 0 bytes .../PopulatingNextRightPointersInEachNode.class | Bin 1051 -> 0 bytes ...PopulatingNextRightPointersInEachNodeII.class | Bin 782 -> 0 bytes leetcode/out/production/solution/Pow.class | Bin 598 -> 0 bytes .../solution/ProductOfArrayExceptSelf.class | Bin 643 -> 0 bytes .../solution/QueueReconstructionByHeight$1.class | Bin 930 -> 0 bytes .../solution/QueueReconstructionByHeight.class | Bin 1046 -> 0 bytes .../production/solution/RandomPickIndex.class | Bin 705 -> 0 bytes .../out/production/solution/RangeAddition.class | Bin 760 -> 0 bytes .../solution/ReadNCharactersGivenRead4.class | Bin 659 -> 0 bytes .../solution/ReadNCharactersGivenRead4II.class | Bin 702 -> 0 bytes .../RearrangeStringKDistanceApart$1.class | Bin 1219 -> 0 bytes .../solution/RearrangeStringKDistanceApart.class | Bin 2028 -> 0 bytes .../solution/ReconstructItinerary.class | Bin 6271 -> 0 bytes .../solution/RecoverBinarySearchTree.class | Bin 1549 -> 0 bytes .../out/production/solution/RectangleArea.class | Bin 772 -> 0 bytes .../solution/RedundantConnection.class | Bin 900 -> 0 bytes .../solution/RegularExpressionMatching.class | Bin 970 -> 0 bytes .../solution/RemoveDuplicateLetters.class | Bin 1304 -> 0 bytes .../RemoveDuplicatesFromSortedArray.class | Bin 552 -> 0 bytes .../RemoveDuplicatesFromSortedArrayII.class | Bin 560 -> 0 bytes .../RemoveDuplicatesFromSortedList.class | Bin 673 -> 0 bytes .../RemoveDuplicatesFromSortedListII.class | Bin 831 -> 0 bytes .../out/production/solution/RemoveElement.class | Bin 510 -> 0 bytes .../solution/RemoveInvalidParentheses.class | Bin 3221 -> 0 bytes .../out/production/solution/RemoveKDigits.class | Bin 1155 -> 0 bytes .../solution/RemoveLinkedListElements.class | Bin 661 -> 0 bytes .../solution/RemoveNthNodeFromEndOfList.class | Bin 751 -> 0 bytes .../out/production/solution/ReorderList.class | Bin 793 -> 0 bytes .../solution/RepeatedSubstringPattern.class | Bin 1045 -> 0 bytes .../production/solution/RestoreIPAddresses.class | Bin 1910 -> 0 bytes .../out/production/solution/ReverseBits.class | Bin 1177 -> 0 bytes .../out/production/solution/ReverseInteger.class | Bin 626 -> 0 bytes .../production/solution/ReverseLinkedList.class | Bin 794 -> 0 bytes .../solution/ReverseLinkedListII.class | Bin 812 -> 0 bytes .../solution/ReverseNodesInKGroup.class | Bin 830 -> 0 bytes .../out/production/solution/ReverseString.class | Bin 584 -> 0 bytes .../production/solution/ReverseStringII.class | Bin 951 -> 0 bytes .../solution/ReverseVowelsOfaString.class | Bin 1112 -> 0 bytes .../solution/ReverseWordsInAString.class | Bin 1568 -> 0 bytes .../solution/ReverseWordsInAStringII.class | Bin 804 -> 0 bytes .../solution/ReverseWordsInAStringIII.class | Bin 1079 -> 0 bytes .../out/production/solution/RomanToInteger.class | Bin 919 -> 0 bytes .../out/production/solution/RotateArray.class | Bin 655 -> 0 bytes .../out/production/solution/RotateImage.class | Bin 686 -> 0 bytes .../out/production/solution/RotateList.class | Bin 756 -> 0 bytes leetcode/out/production/solution/SameTree.class | Bin 577 -> 0 bytes .../out/production/solution/Search2DMatrix.class | Bin 720 -> 0 bytes .../production/solution/Search2DMatrixII.class | Bin 626 -> 0 bytes .../production/solution/SearchForARange.class | Bin 1405 -> 0 bytes .../solution/SearchInRotatedSortedArray.class | Bin 675 -> 0 bytes .../solution/SearchInRotatedSortedArrayII.class | Bin 708 -> 0 bytes .../solution/SearchInsertPosition.class | Bin 803 -> 0 bytes .../production/solution/SegmentTreeNode.class | Bin 419 -> 0 bytes .../out/production/solution/SelfCrossing.class | Bin 604 -> 0 bytes .../solution/SentenceScreenFitting.class | Bin 1026 -> 0 bytes .../solution/SerializeAndDeserializeBST.class | Bin 303 -> 0 bytes .../production/solution/SetMatrixZeroes.class | Bin 1127 -> 0 bytes .../ShortestDistanceFromAllBuildings.class | Bin 2226 -> 0 bytes .../production/solution/ShortestPalindrome.class | Bin 1344 -> 0 bytes .../solution/ShortestWordDistance.class | Bin 932 -> 0 bytes .../solution/ShortestWordDistanceII.class | Bin 2433 -> 0 bytes .../solution/ShortestWordDistanceIII.class | Bin 959 -> 0 bytes .../out/production/solution/ShuffleAnArray.class | Bin 971 -> 0 bytes .../out/production/solution/SimplifyPath.class | Bin 1371 -> 0 bytes .../solution/SlidingWindowMaximum.class | Bin 1798 -> 0 bytes .../solution/SlidingWindowMedian$MyMap.class | Bin 2068 -> 0 bytes .../solution/SlidingWindowMedian.class | Bin 1444 -> 0 bytes .../production/solution/SmallestGoodBase.class | Bin 1497 -> 0 bytes .../SmallestRectangleEnclosingBlackPixels.class | Bin 1317 -> 0 bytes .../solution/SortCharactersByFrequency$1.class | Bin 1444 -> 0 bytes .../solution/SortCharactersByFrequency.class | Bin 3317 -> 0 bytes .../out/production/solution/SortColors.class | Bin 1462 -> 0 bytes leetcode/out/production/solution/SortList.class | Bin 1983 -> 0 bytes .../solution/SparseMatrixMultiplication.class | Bin 671 -> 0 bytes .../out/production/solution/SpiralMatrix.class | Bin 1251 -> 0 bytes .../solution/SplitArrayLargestSum.class | Bin 995 -> 0 bytes leetcode/out/production/solution/Sqrt.class | Bin 536 -> 0 bytes leetcode/out/production/solution/StrStr.class | Bin 702 -> 0 bytes .../out/production/solution/String2Integer.class | Bin 983 -> 0 bytes .../solution/StrobogrammaticNumber.class | Bin 906 -> 0 bytes .../production/solution/SubarraySumEqualsK.class | Bin 1015 -> 0 bytes leetcode/out/production/solution/Subsets.class | Bin 1449 -> 0 bytes leetcode/out/production/solution/SubsetsII.class | Bin 1484 -> 0 bytes .../SubstringWithConcatenationOfAllWords.class | Bin 2318 -> 0 bytes .../out/production/solution/SudokuSolver.class | Bin 1058 -> 0 bytes .../production/solution/SumOfLeftLeaves.class | Bin 1118 -> 0 bytes .../solution/SumRootToLeafNumbers.class | Bin 737 -> 0 bytes .../out/production/solution/SummaryRanges.class | Bin 1324 -> 0 bytes .../solution/SuperUglyNumber$Num.class | Bin 885 -> 0 bytes .../production/solution/SuperUglyNumber.class | Bin 2024 -> 0 bytes .../production/solution/SurroundedRegions.class | Bin 2159 -> 0 bytes .../production/solution/SwapNodesInPairs.class | Bin 702 -> 0 bytes .../out/production/solution/SymmetricTree.class | Bin 2387 -> 0 bytes .../production/solution/TextJustification.class | Bin 1828 -> 0 bytes .../solution/TheSkylineProblem$1.class | Bin 877 -> 0 bytes .../solution/TheSkylineProblem$2.class | Bin 948 -> 0 bytes .../solution/TheSkylineProblem$3.class | Bin 878 -> 0 bytes .../production/solution/TheSkylineProblem.class | Bin 2964 -> 0 bytes .../production/solution/ThirdMaximumNumber.class | Bin 805 -> 0 bytes leetcode/out/production/solution/ThreeSum.class | Bin 1203 -> 0 bytes .../production/solution/ThreeSumClosest.class | Bin 909 -> 0 bytes .../production/solution/ThreeSumSmaller.class | Bin 665 -> 0 bytes .../solution/TopKFrequentElements$1.class | Bin 1142 -> 0 bytes .../solution/TopKFrequentElements.class | Bin 4083 -> 0 bytes .../solution/TotalHammingDistance.class | Bin 605 -> 0 bytes .../production/solution/TrappingRainWater.class | Bin 845 -> 0 bytes .../solution/TrappingRainWaterII$1.class | Bin 831 -> 0 bytes .../solution/TrappingRainWaterII.class | Bin 1791 -> 0 bytes .../out/production/solution/Trie$TriNode.class | Bin 460 -> 0 bytes leetcode/out/production/solution/Trie.class | Bin 1386 -> 0 bytes .../solution/TrimABinarySearchTree.class | Bin 669 -> 0 bytes leetcode/out/production/solution/TwoSum.class | Bin 1019 -> 0 bytes leetcode/out/production/solution/TwoSumII.class | Bin 558 -> 0 bytes leetcode/out/production/solution/TwoSumIII.class | Bin 1275 -> 0 bytes leetcode/out/production/solution/TwoSumIV.class | Bin 1299 -> 0 bytes .../out/production/solution/UTFValidation.class | Bin 688 -> 0 bytes .../out/production/solution/UglyNumber.class | Bin 454 -> 0 bytes .../out/production/solution/UglyNumberII.class | Bin 693 -> 0 bytes .../solution/UniqueBinarySearchTrees.class | Bin 567 -> 0 bytes .../solution/UniqueBinarySearchTreesII.class | Bin 1540 -> 0 bytes .../out/production/solution/ValidAnagram.class | Bin 997 -> 0 bytes .../production/solution/ValidPalindrome.class | Bin 766 -> 0 bytes .../production/solution/ValidParentheses.class | Bin 827 -> 0 bytes .../production/solution/ValidPerfectSquare.class | Bin 891 -> 0 bytes .../out/production/solution/ValidSudoku.class | Bin 1164 -> 0 bytes .../out/production/solution/ValidWordAbbr.class | Bin 1862 -> 0 bytes .../solution/ValidWordAbbreviation.class | Bin 833 -> 0 bytes .../production/solution/ValidWordSquare.class | Bin 909 -> 0 bytes .../solution/ValidateBinarySearchTree.class | Bin 780 -> 0 bytes leetcode/out/production/solution/Vector2D.class | Bin 1388 -> 0 bytes ...erifyPreorderSequenceInBinarySearchTree.class | Bin 798 -> 0 bytes .../out/production/solution/WallsAndGates.class | Bin 1858 -> 0 bytes .../out/production/solution/WiggleSort.class | Bin 642 -> 0 bytes .../out/production/solution/WiggleSortII.class | Bin 1997 -> 0 bytes .../production/solution/WildcardMatching.class | Bin 842 -> 0 bytes leetcode/out/production/solution/WordBreak.class | Bin 1191 -> 0 bytes .../out/production/solution/WordBreakII.class | Bin 4043 -> 0 bytes .../production/solution/WordDictionary$1.class | Bin 190 -> 0 bytes .../solution/WordDictionary$Trie.class | Bin 701 -> 0 bytes .../out/production/solution/WordDictionary.class | Bin 1478 -> 0 bytes .../out/production/solution/WordLadder.class | Bin 2927 -> 0 bytes .../solution/WordLadderII$WordNode.class | Bin 578 -> 0 bytes .../out/production/solution/WordLadderII.class | Bin 2812 -> 0 bytes .../out/production/solution/WordSearch.class | Bin 1029 -> 0 bytes .../out/production/solution/WordSearchII$1.class | Bin 184 -> 0 bytes .../production/solution/WordSearchII$Trie.class | Bin 679 -> 0 bytes .../out/production/solution/WordSearchII.class | Bin 2194 -> 0 bytes .../out/production/solution/WordSquares.class | Bin 2841 -> 0 bytes .../production/solution/ZigZagConversion.class | Bin 1264 -> 0 bytes .../out/production/solution/ZigzagIterator.class | Bin 1847 -> 0 bytes .../solution/system/DesignTinyURL.class | Bin 278 -> 0 bytes .../out/production/solution/system/Info.class | Bin 251 -> 0 bytes 402 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 leetcode/out/production/common/CommonUtils.class delete mode 100644 leetcode/out/production/common/Interval.class delete mode 100644 leetcode/out/production/common/ListNode.class delete mode 100644 leetcode/out/production/common/NestedInteger.class delete mode 100644 leetcode/out/production/common/Point.class delete mode 100644 leetcode/out/production/common/RandomListNode.class delete mode 100644 leetcode/out/production/common/TreeLinkNode.class delete mode 100644 leetcode/out/production/common/TreeNode.class delete mode 100644 leetcode/out/production/common/TrieNode.class delete mode 100644 leetcode/out/production/common/UndirectedGraphNode.class delete mode 100644 leetcode/out/production/leetcode/Main.class delete mode 100644 leetcode/out/production/solution/AddBinary.class delete mode 100644 leetcode/out/production/solution/AddTwoNumber.class delete mode 100644 leetcode/out/production/solution/AddTwoNumbersII.class delete mode 100644 leetcode/out/production/solution/AlienDictionary.class delete mode 100644 leetcode/out/production/solution/AndroidUnlockPatterns.class delete mode 100644 leetcode/out/production/solution/AverageOfLevelsInBinaryTree.class delete mode 100644 leetcode/out/production/solution/BSTIterator.class delete mode 100644 leetcode/out/production/solution/BalancedBinaryTree.class delete mode 100644 leetcode/out/production/solution/BasicCalculator.class delete mode 100644 leetcode/out/production/solution/BeautifulArrangement.class delete mode 100644 leetcode/out/production/solution/BestTimeBuySellStock.class delete mode 100644 leetcode/out/production/solution/BestTimeBuySellStockII.class delete mode 100644 leetcode/out/production/solution/BestTimeBuySellStockIII.class delete mode 100644 leetcode/out/production/solution/BestTimeBuySellStockIV.class delete mode 100644 leetcode/out/production/solution/BestTimeBuySellStockWithCoolDown.class delete mode 100644 leetcode/out/production/solution/BinaryTreeInorderTraversal.class delete mode 100644 leetcode/out/production/solution/BinaryTreeLevelOrderTraversal.class delete mode 100644 leetcode/out/production/solution/BinaryTreeLevelOrderTraversalII.class delete mode 100644 leetcode/out/production/solution/BinaryTreeLongestConsecutiveSequence.class delete mode 100644 leetcode/out/production/solution/BinaryTreeMaximumPathSum.class delete mode 100644 leetcode/out/production/solution/BinaryTreePaths.class delete mode 100644 leetcode/out/production/solution/BinaryTreePostorderTraversal.class delete mode 100644 leetcode/out/production/solution/BinaryTreePreorderTraversal.class delete mode 100644 leetcode/out/production/solution/BinaryTreeRightSideView.class delete mode 100644 leetcode/out/production/solution/BinaryTreeUpsideDown.class delete mode 100644 leetcode/out/production/solution/BinaryTreeVerticalOrderTraversal.class delete mode 100644 leetcode/out/production/solution/BinaryTreeZigzagLevelOrderTraversal.class delete mode 100644 leetcode/out/production/solution/BinaryWatch.class delete mode 100644 leetcode/out/production/solution/BombEnemy.class delete mode 100644 leetcode/out/production/solution/BulbSwitcher.class delete mode 100644 leetcode/out/production/solution/BurstBalloons.class delete mode 100644 leetcode/out/production/solution/CanArrangeWords.class delete mode 100644 leetcode/out/production/solution/CloneGraph.class delete mode 100644 leetcode/out/production/solution/ClosestBinarySearchTreeValue.class delete mode 100644 leetcode/out/production/solution/ClosestBinarySearchTreeValueII.class delete mode 100644 leetcode/out/production/solution/Codec.class delete mode 100644 leetcode/out/production/solution/CombinationSum.class delete mode 100644 leetcode/out/production/solution/CombinationSumII.class delete mode 100644 leetcode/out/production/solution/CombinationSumIII.class delete mode 100644 leetcode/out/production/solution/CombinationSumIV.class delete mode 100644 leetcode/out/production/solution/Combinations.class delete mode 100644 leetcode/out/production/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.class delete mode 100644 leetcode/out/production/solution/ConstructBinaryTreeFromPreorderInorderTraversal.class delete mode 100644 leetcode/out/production/solution/ContainerWithMostWater.class delete mode 100644 leetcode/out/production/solution/ContainsDuplicate.class delete mode 100644 leetcode/out/production/solution/ContainsDuplicateII.class delete mode 100644 leetcode/out/production/solution/ContainsDuplicateIII.class delete mode 100644 leetcode/out/production/solution/ConvertSortedArrayToBinarySearchTree.class delete mode 100644 leetcode/out/production/solution/ConvertSortedListToBinarySearchTree.class delete mode 100644 leetcode/out/production/solution/CopyListWithRandomPointer.class delete mode 100644 leetcode/out/production/solution/CountAndSay.class delete mode 100644 leetcode/out/production/solution/CountCompleteTreeNodes.class delete mode 100644 leetcode/out/production/solution/CountNumberWithUniqueDigits.class delete mode 100644 leetcode/out/production/solution/CountOfSmallerNumbersAfterSelf$Node.class delete mode 100644 leetcode/out/production/solution/CountOfSmallerNumbersAfterSelf.class delete mode 100644 leetcode/out/production/solution/CountPrimes.class delete mode 100644 leetcode/out/production/solution/CountUnivalueSubtrees.class delete mode 100644 leetcode/out/production/solution/CourseSchedule.class delete mode 100644 leetcode/out/production/solution/CourseScheduleII.class delete mode 100644 leetcode/out/production/solution/DecodeString.class delete mode 100644 leetcode/out/production/solution/DecodeWays.class delete mode 100644 leetcode/out/production/solution/DeleteNodeInALinkedList.class delete mode 100644 leetcode/out/production/solution/DeleteNodeInBST.class delete mode 100644 leetcode/out/production/solution/DifferenceWaysToAddParentheses.class delete mode 100644 leetcode/out/production/solution/DivideTwoIntegers.class delete mode 100644 leetcode/out/production/solution/EditDistance.class delete mode 100644 leetcode/out/production/solution/EncodeAndDecodeStrings.class delete mode 100644 leetcode/out/production/solution/EncodeAndDecodeTinyURL.class delete mode 100644 leetcode/out/production/solution/EvaluateDivision.class delete mode 100644 leetcode/out/production/solution/EvaluateReversePolishNotation.class delete mode 100644 leetcode/out/production/solution/ExcelSheetColumnNumber.class delete mode 100644 leetcode/out/production/solution/ExcelSheetColumnTitle.class delete mode 100644 leetcode/out/production/solution/ExpressionAddOperators.class delete mode 100644 leetcode/out/production/solution/FactorCombinations.class delete mode 100644 leetcode/out/production/solution/FactorialTrailingZeroes.class delete mode 100644 leetcode/out/production/solution/FindAllAnagramsInString.class delete mode 100644 leetcode/out/production/solution/FindAllDuplicatesInAnArray.class delete mode 100644 leetcode/out/production/solution/FindAllNumbersDisappearedInAnArray.class delete mode 100644 leetcode/out/production/solution/FindBottomLeftTreeValue.class delete mode 100644 leetcode/out/production/solution/FindCelebrity.class delete mode 100644 leetcode/out/production/solution/FindDuplicateSubtrees.class delete mode 100644 leetcode/out/production/solution/FindKPairsWithSmallestSums.class delete mode 100644 leetcode/out/production/solution/FindLargestValueInEachTreeRow.class delete mode 100644 leetcode/out/production/solution/FindLeavesOfBinaryTree.class delete mode 100644 leetcode/out/production/solution/FindMedianFromDataStream.class delete mode 100644 leetcode/out/production/solution/FindMinimumInRotatedSortedArray.class delete mode 100644 leetcode/out/production/solution/FindMinimumInRotatedSortedArrayII.class delete mode 100644 leetcode/out/production/solution/FindModeInBinarySearchTree.class delete mode 100644 leetcode/out/production/solution/FindPeakElement.class delete mode 100644 leetcode/out/production/solution/FindRightInterval.class delete mode 100644 leetcode/out/production/solution/FindTheDuplicateNumber.class delete mode 100644 leetcode/out/production/solution/FirstBadVersion.class delete mode 100644 leetcode/out/production/solution/FirstMissingPositive.class delete mode 100644 leetcode/out/production/solution/FirstUniqueCharacterInAString.class delete mode 100644 leetcode/out/production/solution/FizzBuzz.class delete mode 100644 leetcode/out/production/solution/FlattenBinaryTreeToLinkedList.class delete mode 100644 leetcode/out/production/solution/FlattenNestedListIterator.class delete mode 100644 leetcode/out/production/solution/FlipGame.class delete mode 100644 leetcode/out/production/solution/FlipGameII.class delete mode 100644 leetcode/out/production/solution/FourSum.class delete mode 100644 leetcode/out/production/solution/GameOfLife.class delete mode 100644 leetcode/out/production/solution/GeneralizedAbbreviation.class delete mode 100644 leetcode/out/production/solution/GenerateParentheses.class delete mode 100644 leetcode/out/production/solution/GraphValidTree.class delete mode 100644 leetcode/out/production/solution/GrayCode.class delete mode 100644 leetcode/out/production/solution/GroupAnagrams.class delete mode 100644 leetcode/out/production/solution/GroupShiftedStrings.class delete mode 100644 leetcode/out/production/solution/GuessNumberHigherOrLower.class delete mode 100644 leetcode/out/production/solution/GuessNumberHigherOrLowerII.class delete mode 100644 leetcode/out/production/solution/HIndex.class delete mode 100644 leetcode/out/production/solution/HIndexII.class delete mode 100644 leetcode/out/production/solution/HammingDistance.class delete mode 100644 leetcode/out/production/solution/HouseRobber.class delete mode 100644 leetcode/out/production/solution/HouseRobberII.class delete mode 100644 leetcode/out/production/solution/HouseRobberIII.class delete mode 100644 leetcode/out/production/solution/IncreasingTripletSubsequence.class delete mode 100644 leetcode/out/production/solution/InorderSuccessorInBST.class delete mode 100644 leetcode/out/production/solution/InsertDeleteGetRandom.class delete mode 100644 leetcode/out/production/solution/InsertDeleteGetRandomII.class delete mode 100644 leetcode/out/production/solution/InsertInterval.class delete mode 100644 leetcode/out/production/solution/InsertionSortList.class delete mode 100644 leetcode/out/production/solution/IntegerToEnglishWords.class delete mode 100644 leetcode/out/production/solution/IntegerToRoman.class delete mode 100644 leetcode/out/production/solution/IntersectionOfTwoArrays.class delete mode 100644 leetcode/out/production/solution/IntersectionOfTwoArraysII.class delete mode 100644 leetcode/out/production/solution/IntersectionOfTwoLinkedLists.class delete mode 100644 leetcode/out/production/solution/InvertBinaryTree.class delete mode 100644 leetcode/out/production/solution/JumpGame.class delete mode 100644 leetcode/out/production/solution/JumpGameII.class delete mode 100644 leetcode/out/production/solution/KthLargestElementInArray.class delete mode 100644 leetcode/out/production/solution/KthSmallestElementInASortedMatrix$Tuple.class delete mode 100644 leetcode/out/production/solution/KthSmallestElementInASortedMatrix.class delete mode 100644 leetcode/out/production/solution/KthSmallestElementInBST.class delete mode 100644 leetcode/out/production/solution/LFUCache$Node.class delete mode 100644 leetcode/out/production/solution/LFUCache.class delete mode 100644 leetcode/out/production/solution/LargestBSTSubtree$Result.class delete mode 100644 leetcode/out/production/solution/LargestBSTSubtree.class delete mode 100644 leetcode/out/production/solution/LargestNumber$1.class delete mode 100644 leetcode/out/production/solution/LargestNumber.class delete mode 100644 leetcode/out/production/solution/LargestRectangleInHistogram.class delete mode 100644 leetcode/out/production/solution/LetterCombinationOfPhoneNumber.class delete mode 100644 leetcode/out/production/solution/LicenseKeyFormatting.class delete mode 100644 leetcode/out/production/solution/LinkedListCycle.class delete mode 100644 leetcode/out/production/solution/LinkedListCycleII.class delete mode 100644 leetcode/out/production/solution/LinkedListRandomNode.class delete mode 100644 leetcode/out/production/solution/LoggerRateLimiter$1.class delete mode 100644 leetcode/out/production/solution/LoggerRateLimiter.class delete mode 100644 leetcode/out/production/solution/LongestAbsoluteFilePath.class delete mode 100644 leetcode/out/production/solution/LongestCommonPrefix.class delete mode 100644 leetcode/out/production/solution/LongestConsecutiveSequence.class delete mode 100644 leetcode/out/production/solution/LongestIncreasingPathInAMatrix.class delete mode 100644 leetcode/out/production/solution/LongestIncreasingSubsequence.class delete mode 100644 leetcode/out/production/solution/LongestPalindrome.class delete mode 100644 leetcode/out/production/solution/LongestPalindromicSubstring.class delete mode 100644 leetcode/out/production/solution/LongestSubstringWithAtLeastKRepeatingCharacters.class delete mode 100644 leetcode/out/production/solution/LongestSubstringWithAtMostKDistinctCharacters.class delete mode 100644 leetcode/out/production/solution/LongestSubstringWithAtMostTwoDistinctCharacters.class delete mode 100644 leetcode/out/production/solution/LongestSubstringWithoutRepeatingCharacters.class delete mode 100644 leetcode/out/production/solution/LongestValidParentheses.class delete mode 100644 leetcode/out/production/solution/LongestWordInDictionaryThroughDeleting.class delete mode 100644 leetcode/out/production/solution/LowestCommonAncestorOfBinarySearchTree.class delete mode 100644 leetcode/out/production/solution/LowestCommonAncestorOfBinaryTree.class delete mode 100644 leetcode/out/production/solution/MajorityElement.class delete mode 100644 leetcode/out/production/solution/MajorityElementII.class delete mode 100644 leetcode/out/production/solution/MaxConsecutiveOnes.class delete mode 100644 leetcode/out/production/solution/MaxConsecutiveOnesII.class delete mode 100644 leetcode/out/production/solution/MaxPointsOnALine.class delete mode 100644 leetcode/out/production/solution/MaximalRectangle.class delete mode 100644 leetcode/out/production/solution/MaximalSquare.class delete mode 100644 leetcode/out/production/solution/MaximumBinaryTree.class delete mode 100644 leetcode/out/production/solution/MaximumDepthOfBinaryTree.class delete mode 100644 leetcode/out/production/solution/MaximumGap.class delete mode 100644 leetcode/out/production/solution/MaximumProductSubarray.class delete mode 100644 leetcode/out/production/solution/MaximumSizeSubarraySumEqualsK.class delete mode 100644 leetcode/out/production/solution/MaximumSubarray.class delete mode 100644 leetcode/out/production/solution/MedianOfTwoSortedArrays.class delete mode 100644 leetcode/out/production/solution/MeetingRooms$1.class delete mode 100644 leetcode/out/production/solution/MeetingRooms.class delete mode 100644 leetcode/out/production/solution/MeetingRoomsII$1.class delete mode 100644 leetcode/out/production/solution/MeetingRoomsII$2.class delete mode 100644 leetcode/out/production/solution/MeetingRoomsII.class delete mode 100644 leetcode/out/production/solution/MergeIntervals$1.class delete mode 100644 leetcode/out/production/solution/MergeIntervals.class delete mode 100644 leetcode/out/production/solution/MergeKSortedList$1.class delete mode 100644 leetcode/out/production/solution/MergeKSortedList.class delete mode 100644 leetcode/out/production/solution/MergeSortedArray.class delete mode 100644 leetcode/out/production/solution/MergeTwoBinaryTrees.class delete mode 100644 leetcode/out/production/solution/MergeTwoSortedList.class delete mode 100644 leetcode/out/production/solution/MinStack.class delete mode 100644 leetcode/out/production/solution/MinimumDepthOfBinaryTree.class delete mode 100644 leetcode/out/production/solution/MinimumHeightTrees.class delete mode 100644 leetcode/out/production/solution/MinimumSizeSubarraySum.class delete mode 100644 leetcode/out/production/solution/MinimumWindowSubstring.class delete mode 100644 leetcode/out/production/solution/MissingNumber.class delete mode 100644 leetcode/out/production/solution/MissingRanges.class delete mode 100644 leetcode/out/production/solution/MostFrequentSubtreeSum.class delete mode 100644 leetcode/out/production/solution/MoveZeroes.class delete mode 100644 leetcode/out/production/solution/MovingAverage.class delete mode 100644 leetcode/out/production/solution/MultiplyStrings.class delete mode 100644 leetcode/out/production/solution/MyQueue.class delete mode 100644 leetcode/out/production/solution/MyStack.class delete mode 100644 leetcode/out/production/solution/NQueens.class delete mode 100644 leetcode/out/production/solution/NQueensII.class delete mode 100644 leetcode/out/production/solution/NestedListWeightSum.class delete mode 100644 leetcode/out/production/solution/NestedListWeightSumII.class delete mode 100644 leetcode/out/production/solution/NextPermutation.class delete mode 100644 leetcode/out/production/solution/NumArray.class delete mode 100644 leetcode/out/production/solution/NumArrayII.class delete mode 100644 leetcode/out/production/solution/NumMatrix.class delete mode 100644 leetcode/out/production/solution/NumMatrixII.class delete mode 100644 leetcode/out/production/solution/NumberOfConnectedComponents.class delete mode 100644 leetcode/out/production/solution/NumberOfDigitOne.class delete mode 100644 leetcode/out/production/solution/NumberOfIslands.class delete mode 100644 leetcode/out/production/solution/NumberOfIslandsII.class delete mode 100644 leetcode/out/production/solution/OddEvenLinkedList.class delete mode 100644 leetcode/out/production/solution/OneEditDistance.class delete mode 100644 leetcode/out/production/solution/PaintHouse.class delete mode 100644 leetcode/out/production/solution/PaintHouseII.class delete mode 100644 leetcode/out/production/solution/PalindromeLinkedList.class delete mode 100644 leetcode/out/production/solution/PalindromeNumber.class delete mode 100644 leetcode/out/production/solution/PalindromePairs.class delete mode 100644 leetcode/out/production/solution/PalindromePartitioning.class delete mode 100644 leetcode/out/production/solution/PalindromePartitioningII.class delete mode 100644 leetcode/out/production/solution/PalindromePermutation.class delete mode 100644 leetcode/out/production/solution/PalindromePermutationII.class delete mode 100644 leetcode/out/production/solution/PartitionList.class delete mode 100644 leetcode/out/production/solution/PascalTriangleII.class delete mode 100644 leetcode/out/production/solution/PascalsTriangle.class delete mode 100644 leetcode/out/production/solution/PathSum.class delete mode 100644 leetcode/out/production/solution/PathSumII.class delete mode 100644 leetcode/out/production/solution/PathSumIII.class delete mode 100644 leetcode/out/production/solution/PeekingIterator.class delete mode 100644 leetcode/out/production/solution/PerfectRectangle.class delete mode 100644 leetcode/out/production/solution/PerfectSquares.class delete mode 100644 leetcode/out/production/solution/PermutationSequence.class delete mode 100644 leetcode/out/production/solution/Permutations.class delete mode 100644 leetcode/out/production/solution/PermutationsII.class delete mode 100644 leetcode/out/production/solution/PlusOne.class delete mode 100644 leetcode/out/production/solution/PlusOneLinkedList.class delete mode 100644 leetcode/out/production/solution/PopulatingNextRightPointersInEachNode.class delete mode 100644 leetcode/out/production/solution/PopulatingNextRightPointersInEachNodeII.class delete mode 100644 leetcode/out/production/solution/Pow.class delete mode 100644 leetcode/out/production/solution/ProductOfArrayExceptSelf.class delete mode 100644 leetcode/out/production/solution/QueueReconstructionByHeight$1.class delete mode 100644 leetcode/out/production/solution/QueueReconstructionByHeight.class delete mode 100644 leetcode/out/production/solution/RandomPickIndex.class delete mode 100644 leetcode/out/production/solution/RangeAddition.class delete mode 100644 leetcode/out/production/solution/ReadNCharactersGivenRead4.class delete mode 100644 leetcode/out/production/solution/ReadNCharactersGivenRead4II.class delete mode 100644 leetcode/out/production/solution/RearrangeStringKDistanceApart$1.class delete mode 100644 leetcode/out/production/solution/RearrangeStringKDistanceApart.class delete mode 100644 leetcode/out/production/solution/ReconstructItinerary.class delete mode 100644 leetcode/out/production/solution/RecoverBinarySearchTree.class delete mode 100644 leetcode/out/production/solution/RectangleArea.class delete mode 100644 leetcode/out/production/solution/RedundantConnection.class delete mode 100644 leetcode/out/production/solution/RegularExpressionMatching.class delete mode 100644 leetcode/out/production/solution/RemoveDuplicateLetters.class delete mode 100644 leetcode/out/production/solution/RemoveDuplicatesFromSortedArray.class delete mode 100644 leetcode/out/production/solution/RemoveDuplicatesFromSortedArrayII.class delete mode 100644 leetcode/out/production/solution/RemoveDuplicatesFromSortedList.class delete mode 100644 leetcode/out/production/solution/RemoveDuplicatesFromSortedListII.class delete mode 100644 leetcode/out/production/solution/RemoveElement.class delete mode 100644 leetcode/out/production/solution/RemoveInvalidParentheses.class delete mode 100644 leetcode/out/production/solution/RemoveKDigits.class delete mode 100644 leetcode/out/production/solution/RemoveLinkedListElements.class delete mode 100644 leetcode/out/production/solution/RemoveNthNodeFromEndOfList.class delete mode 100644 leetcode/out/production/solution/ReorderList.class delete mode 100644 leetcode/out/production/solution/RepeatedSubstringPattern.class delete mode 100644 leetcode/out/production/solution/RestoreIPAddresses.class delete mode 100644 leetcode/out/production/solution/ReverseBits.class delete mode 100644 leetcode/out/production/solution/ReverseInteger.class delete mode 100644 leetcode/out/production/solution/ReverseLinkedList.class delete mode 100644 leetcode/out/production/solution/ReverseLinkedListII.class delete mode 100644 leetcode/out/production/solution/ReverseNodesInKGroup.class delete mode 100644 leetcode/out/production/solution/ReverseString.class delete mode 100644 leetcode/out/production/solution/ReverseStringII.class delete mode 100644 leetcode/out/production/solution/ReverseVowelsOfaString.class delete mode 100644 leetcode/out/production/solution/ReverseWordsInAString.class delete mode 100644 leetcode/out/production/solution/ReverseWordsInAStringII.class delete mode 100644 leetcode/out/production/solution/ReverseWordsInAStringIII.class delete mode 100644 leetcode/out/production/solution/RomanToInteger.class delete mode 100644 leetcode/out/production/solution/RotateArray.class delete mode 100644 leetcode/out/production/solution/RotateImage.class delete mode 100644 leetcode/out/production/solution/RotateList.class delete mode 100644 leetcode/out/production/solution/SameTree.class delete mode 100644 leetcode/out/production/solution/Search2DMatrix.class delete mode 100644 leetcode/out/production/solution/Search2DMatrixII.class delete mode 100644 leetcode/out/production/solution/SearchForARange.class delete mode 100644 leetcode/out/production/solution/SearchInRotatedSortedArray.class delete mode 100644 leetcode/out/production/solution/SearchInRotatedSortedArrayII.class delete mode 100644 leetcode/out/production/solution/SearchInsertPosition.class delete mode 100644 leetcode/out/production/solution/SegmentTreeNode.class delete mode 100644 leetcode/out/production/solution/SelfCrossing.class delete mode 100644 leetcode/out/production/solution/SentenceScreenFitting.class delete mode 100644 leetcode/out/production/solution/SerializeAndDeserializeBST.class delete mode 100644 leetcode/out/production/solution/SetMatrixZeroes.class delete mode 100644 leetcode/out/production/solution/ShortestDistanceFromAllBuildings.class delete mode 100644 leetcode/out/production/solution/ShortestPalindrome.class delete mode 100644 leetcode/out/production/solution/ShortestWordDistance.class delete mode 100644 leetcode/out/production/solution/ShortestWordDistanceII.class delete mode 100644 leetcode/out/production/solution/ShortestWordDistanceIII.class delete mode 100644 leetcode/out/production/solution/ShuffleAnArray.class delete mode 100644 leetcode/out/production/solution/SimplifyPath.class delete mode 100644 leetcode/out/production/solution/SlidingWindowMaximum.class delete mode 100644 leetcode/out/production/solution/SlidingWindowMedian$MyMap.class delete mode 100644 leetcode/out/production/solution/SlidingWindowMedian.class delete mode 100644 leetcode/out/production/solution/SmallestGoodBase.class delete mode 100644 leetcode/out/production/solution/SmallestRectangleEnclosingBlackPixels.class delete mode 100644 leetcode/out/production/solution/SortCharactersByFrequency$1.class delete mode 100644 leetcode/out/production/solution/SortCharactersByFrequency.class delete mode 100644 leetcode/out/production/solution/SortColors.class delete mode 100644 leetcode/out/production/solution/SortList.class delete mode 100644 leetcode/out/production/solution/SparseMatrixMultiplication.class delete mode 100644 leetcode/out/production/solution/SpiralMatrix.class delete mode 100644 leetcode/out/production/solution/SplitArrayLargestSum.class delete mode 100644 leetcode/out/production/solution/Sqrt.class delete mode 100644 leetcode/out/production/solution/StrStr.class delete mode 100644 leetcode/out/production/solution/String2Integer.class delete mode 100644 leetcode/out/production/solution/StrobogrammaticNumber.class delete mode 100644 leetcode/out/production/solution/SubarraySumEqualsK.class delete mode 100644 leetcode/out/production/solution/Subsets.class delete mode 100644 leetcode/out/production/solution/SubsetsII.class delete mode 100644 leetcode/out/production/solution/SubstringWithConcatenationOfAllWords.class delete mode 100644 leetcode/out/production/solution/SudokuSolver.class delete mode 100644 leetcode/out/production/solution/SumOfLeftLeaves.class delete mode 100644 leetcode/out/production/solution/SumRootToLeafNumbers.class delete mode 100644 leetcode/out/production/solution/SummaryRanges.class delete mode 100644 leetcode/out/production/solution/SuperUglyNumber$Num.class delete mode 100644 leetcode/out/production/solution/SuperUglyNumber.class delete mode 100644 leetcode/out/production/solution/SurroundedRegions.class delete mode 100644 leetcode/out/production/solution/SwapNodesInPairs.class delete mode 100644 leetcode/out/production/solution/SymmetricTree.class delete mode 100644 leetcode/out/production/solution/TextJustification.class delete mode 100644 leetcode/out/production/solution/TheSkylineProblem$1.class delete mode 100644 leetcode/out/production/solution/TheSkylineProblem$2.class delete mode 100644 leetcode/out/production/solution/TheSkylineProblem$3.class delete mode 100644 leetcode/out/production/solution/TheSkylineProblem.class delete mode 100644 leetcode/out/production/solution/ThirdMaximumNumber.class delete mode 100644 leetcode/out/production/solution/ThreeSum.class delete mode 100644 leetcode/out/production/solution/ThreeSumClosest.class delete mode 100644 leetcode/out/production/solution/ThreeSumSmaller.class delete mode 100644 leetcode/out/production/solution/TopKFrequentElements$1.class delete mode 100644 leetcode/out/production/solution/TopKFrequentElements.class delete mode 100644 leetcode/out/production/solution/TotalHammingDistance.class delete mode 100644 leetcode/out/production/solution/TrappingRainWater.class delete mode 100644 leetcode/out/production/solution/TrappingRainWaterII$1.class delete mode 100644 leetcode/out/production/solution/TrappingRainWaterII.class delete mode 100644 leetcode/out/production/solution/Trie$TriNode.class delete mode 100644 leetcode/out/production/solution/Trie.class delete mode 100644 leetcode/out/production/solution/TrimABinarySearchTree.class delete mode 100644 leetcode/out/production/solution/TwoSum.class delete mode 100644 leetcode/out/production/solution/TwoSumII.class delete mode 100644 leetcode/out/production/solution/TwoSumIII.class delete mode 100644 leetcode/out/production/solution/TwoSumIV.class delete mode 100644 leetcode/out/production/solution/UTFValidation.class delete mode 100644 leetcode/out/production/solution/UglyNumber.class delete mode 100644 leetcode/out/production/solution/UglyNumberII.class delete mode 100644 leetcode/out/production/solution/UniqueBinarySearchTrees.class delete mode 100644 leetcode/out/production/solution/UniqueBinarySearchTreesII.class delete mode 100644 leetcode/out/production/solution/ValidAnagram.class delete mode 100644 leetcode/out/production/solution/ValidPalindrome.class delete mode 100644 leetcode/out/production/solution/ValidParentheses.class delete mode 100644 leetcode/out/production/solution/ValidPerfectSquare.class delete mode 100644 leetcode/out/production/solution/ValidSudoku.class delete mode 100644 leetcode/out/production/solution/ValidWordAbbr.class delete mode 100644 leetcode/out/production/solution/ValidWordAbbreviation.class delete mode 100644 leetcode/out/production/solution/ValidWordSquare.class delete mode 100644 leetcode/out/production/solution/ValidateBinarySearchTree.class delete mode 100644 leetcode/out/production/solution/Vector2D.class delete mode 100644 leetcode/out/production/solution/VerifyPreorderSequenceInBinarySearchTree.class delete mode 100644 leetcode/out/production/solution/WallsAndGates.class delete mode 100644 leetcode/out/production/solution/WiggleSort.class delete mode 100644 leetcode/out/production/solution/WiggleSortII.class delete mode 100644 leetcode/out/production/solution/WildcardMatching.class delete mode 100644 leetcode/out/production/solution/WordBreak.class delete mode 100644 leetcode/out/production/solution/WordBreakII.class delete mode 100644 leetcode/out/production/solution/WordDictionary$1.class delete mode 100644 leetcode/out/production/solution/WordDictionary$Trie.class delete mode 100644 leetcode/out/production/solution/WordDictionary.class delete mode 100644 leetcode/out/production/solution/WordLadder.class delete mode 100644 leetcode/out/production/solution/WordLadderII$WordNode.class delete mode 100644 leetcode/out/production/solution/WordLadderII.class delete mode 100644 leetcode/out/production/solution/WordSearch.class delete mode 100644 leetcode/out/production/solution/WordSearchII$1.class delete mode 100644 leetcode/out/production/solution/WordSearchII$Trie.class delete mode 100644 leetcode/out/production/solution/WordSearchII.class delete mode 100644 leetcode/out/production/solution/WordSquares.class delete mode 100644 leetcode/out/production/solution/ZigZagConversion.class delete mode 100644 leetcode/out/production/solution/ZigzagIterator.class delete mode 100644 leetcode/out/production/solution/system/DesignTinyURL.class delete mode 100644 leetcode/out/production/solution/system/Info.class diff --git a/leetcode/out/production/common/CommonUtils.class b/leetcode/out/production/common/CommonUtils.class deleted file mode 100644 index dc54eabf1ae1c3a99e679eeeb52996bf48e120a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 592 zcmZutO-mb56g_t)$!JU(8^7DsYL$|VU_iRFEtG*mVcIUzy29*Ze=ps8e{uqBip|g5QNU6WPw>>koW+`lXC9UX zh1WXK=B>c3H+BTMAl;1wl~5$1XFiJZ22GUb7wE= zntRkuTCOOLlAh_0SH!$iCbd8JF3Z$0)7KmA0ISGz!}f6?)|Tfat0qy1dH)>pV|-oY zSs0TX#qZLMfLLZViASiAvCXH*!6m-*N4~rD6V3%(Cv@M`{LvYz8#TX1GS@nBx~))CAv=x7jLO-lVuo185@yK@yKN@t4=Ns9`At@^ IK+eJ9KWrRu#sB~S diff --git a/leetcode/out/production/common/Interval.class b/leetcode/out/production/common/Interval.class deleted file mode 100644 index 31a0c7ad2ccb7d0443213525d43052cee5cc265c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmZvXyH3ME5Jm6AcAOaJL3lq3=t2t8(1BDUTdgCw)}^S9XMPbN-T=?tbLlMYRuXuc}C#cMJX1cN9mY`!q*C7LW(tsHCPELAjZ7KQ_+z_O{>AsFPd01`M+AQCR3%o%0!|ltnP8jW}PLD__7<5&y zts-su5$MFn`hw!uB%Y~Ljuop1&D#G4q8UL&k-$1I8ID7B$Pz2fRE6DGbx&LBJkeuz zrrRA{M%{2r8`Hvj()x+IQh9tpC65fUg6#W=0rPp};0ngfRHLW*M~$7%N!aCO?P{%! zMLtHFFJ(atn>#Ut5kfxu0=q3vSgfvp2k~cyuzn{qMgEJ_0970+4S375Z1XuhY>a@#*1V9v|s%a;|e~Dq*eQ6LXpSRq&ZR3txzPuwLM0 PFwG^;v=Gb?wlMn!`p;Yl diff --git a/leetcode/out/production/common/NestedInteger.class b/leetcode/out/production/common/NestedInteger.class deleted file mode 100644 index 5f85ea9b16f2e460655ed4ec1752cfd732bf3ced..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmZWkI|{-;6r2~MYvPxHC$Q1RG zX;^VAd$G}(v}LXc<3GbP+N#2;WBqQ$2|qrUd7{=PCzaS1 ef#C2wpyBcwxB%ZKTCXe6X5C}efzPP(Lft3QES6ot=il8#MNQ|tfFqRZNa-MCZSh(e&KpcGtAV$dlyftZRumJ1PF_y9hX zcqS>XT--CcXYToO=lkdL3&0_Ee0W%I!NrD^O@%FmZGpV7BG#**d2BLMo(P=5{zTxO z=69(e9Gfh?m_Np8aiilIo!&T4^lYLFWBY~amJjAhpvG6Z$;u;vH;5vO5zUGP{&hYt zlJwkIgkMb^O!c!4(1IVJ2^C-oioxnm(6zUtna=J@BO7yw8$LBOyoTtJ@sMa9{ zf;PX-*bC2a_yHL@?`T+Y-m1ZX+9L==xx};xSSF@JC#YlWLv|L~T_A6Xbm-K`U5niN i2k8^pW-K70Qz83x><<}Yg+Hve;~J{kbd}%+)_wtLV>gxn diff --git a/leetcode/out/production/common/RandomListNode.class b/leetcode/out/production/common/RandomListNode.class deleted file mode 100644 index 0c0d63ea06ad14f6c585147288cc9100384a3dd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363 zcmY*U!AiqW5S&fY#>AM`R;%F2Tib)ZcvHLxg+i#HlKV^g&{xs~(p36e9z^iq2l!Fq zB=%AsyxpCho!$BQ{rU!QjdLFk`W|eYxHxq&5VSIt=u99pfs^ZPCFn+vDqj?<$gHb* zvCubycG)0IZcT2gJ93A!QOs~pf}j(bT+cVFM3>Jh$%yo#B2`(eN>kT6(5YU{n!C0F z|EbuNsh*me+}~e#wN!5^fRD2PEwlyUexE1Sj7g^Qm&rr2)G4pFhocymwC2#N4LU=c znZU(C6TMyJZX6O1h)!Yg0si9g^z#nBC zum|#zot-yt-p9}H*EfJ`Tm(=!@!{gsL)*idz+LN1AR~dw%=1!EizbCJk^Yd~56pdK7#{fI3%>z`%9&yPg`?sElJ)9OytUa{QgN{CK??-*jD5M*<8J{ zCl6#Xkgc6!xz+Y|yl^$&Zy=gac`^*;dx7--s(Ia_N)jjQe>VyEE`GKHU?n}3|!QhShlf(qAD8}NcE*ZZtQtY z8mQ&eh$H=r-b@7XTkV<*I^<+g8Q1tU1AIXZv;-DU8~}E-leKq49_CYw))3R` zGgJy{(}|RzBSTzc)TLP5^ZrYgbdQCY(KJeNTDeGt32GYeF`ptHX_jvHJB*6k)wl0C zAMvE%xK8N@OmT?RHyFC>mOoghi69x zt@N1!w8*3d3IL`_JWKIeY{(H+EpA!%YpoDoqoF{{pqoo6`mMTUnNVIn)8Ii;6^Z?9f%?hp4spD+Lb diff --git a/leetcode/out/production/common/TrieNode.class b/leetcode/out/production/common/TrieNode.class deleted file mode 100644 index 30cfc3c47bced8b06043afb401ea8b86864719c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmYjMyH3ME5S+6e+i`3sm`6cJ2PsHH2SP|lR8}YwrJ*`Ir*M(6rNe>mqCiMU@Bw@j zV$LFhW_M?HXJ_~8`~4HZ84eTmg-SpaF@@GR#T#L0q?mnOMxt3 z%O^RhWWAcqTBGX~d;W#4b$cn`9-k~YdQFMIFxR!3ZXOC{=CY{BWO-A{Y9Wob_?PtB zdri0KzgaYEHl|cJ+NzT66{prZMjw$txFuus;0uiY&blqus%&w@hdlo1fG@#kB@iI& yvam~t2Siuh1dxv3AjYG^4>+%IUpi&Xn8IZYxGO|LT|yL7Yda~1%yegTu=4|CSU`3F diff --git a/leetcode/out/production/common/UndirectedGraphNode.class b/leetcode/out/production/common/UndirectedGraphNode.class deleted file mode 100644 index a95310e9ecc91a96336695c9a480c09ec65e3928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 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 diff --git a/leetcode/out/production/solution/AddTwoNumbersII.class b/leetcode/out/production/solution/AddTwoNumbersII.class deleted file mode 100644 index 2ee9dfa8abc435513edc8dee877d1504edacb147..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1261 zcmZuvOHUI~7(KV0M;V4k!2$(EQN)&q^@-Xd3W!OQ0tpZdE{p?=GCH&ko%&d~cH`Ov z)+8)ksEL9~Vq6$a48KHw1LC)Nx5-F6-#kaYaDubFz-tFA$8yrv#Lt+?*{?lX0^4XmMf2 zUYxXMTt@0LxmnAdvKAfbmx78n?-T^WnSr^v$)~xUfFdHls7X(C_U0jY4 zX!w8M=lR{8I}Wz!+X=W<_F*EO_3VfCVya(W;13wF^8T@8nPhUiiCl4U*1qjXQjQ$B z`>fo~L@mOk@W7@fuA&}ZU0ngv3;q{ym%6E|?v!~h0)s$XBem5CwTV&elt z1#0)9V>6HJS)Lz!Vz~l3WzimcKssXS_#tb3>2(B0OFF4^{Xk<+*9Rz{psqo?LsQSJ zZvW~2fu^X^y`P||kF0M04)&@W2u%mqQIXVo)?h55GOAE7?rlEy(Ihlv|w_8$51$j&SB^BPgCpc!w_g10z|H5|id z9QQkpv*QZ+i!!fE_Dal3tA#Q7IW}3-%uf}PoW`G7q#s~@^{tvcu0<8c5 diff --git a/leetcode/out/production/solution/AlienDictionary.class b/leetcode/out/production/solution/AlienDictionary.class deleted file mode 100644 index 8ef89730fa3b0e663966998f0f78bf158ca8c425..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2925 zcmaJ@TW}Or8vf2qUuJq52q6tLDyt%K0%4G-qfRi2;TBB@7$iWrq%+e=8YVNtT#&eT zjkv4qstBy&T9kP(Zx+6A5lK;M?Up|HVC~aBP_GNp-kKrQ&51`+`ZtO9z7Xv!>8BnBTFZLTafP->2XkaNExiO?8ts`T= zlsXFB7-ATXU_{5LfraRg!NahQLk60vi^Ecq)iEX|IjNqHp@1WDC`!L2xxrXXDC?-` zI4Yp6_i|pjLm(V)*(IQK<}FJ1QXIj1<@E?_uP)LYEBMS+Lo1Ko$5qt4o_lN(vvS1x+Fk@l9mMFJwt zr;|8d&KEN>>Ro0;T5`)0qQ6xsd)c*pZkZv)AwFFK>abTVQ9~=a>3oh}!dW-REl(g+ z&I?!pr=6ot(MgxxBJGvoVt$O~GBmSVGzVsZh?mQ_BSn`b2@S|#>3k)}VBs;RK$`%l ztxjpQ$0^XUdZgl3Xs|G_yF-e&7b*=2*a1Y<>O5ERvMe1H7T;d@@xra*HwV120P6!j z>RENr!}fq;4bAbnmjK%*0zbVd5|Ns{jb5ZovLH>}I;X5*uk;V2QsI zV0Z2OOuUVEOuUPeXH{j ztelsq{cY~XTcmr9jWtpp^)C*7td2Bp2P8ZzP($WFZD)FusTI)xhY{l&z z7FZhZ4BiH_?LHc zv}vqR=85yVax|h^w`HlkrejU4;0| z-(Ja4^My;$%(+=rz{7}hCD4LZ9BHf^;kU}9=w`#RFN~hn&?SVz9jjA{txPA?a8k20 zOP$14Td}mZly2)65Kcwx$aFFqP8ybBMJKV+j#$QH$ylouYj84&4=}$v3-?Zh#e^ZI zX8t{)alCj1%ASi*Q%X3gTI%X)B{PYut1Y!HrEydSWdQ90G#N#^1U(rEC!icI1i zTeG4U5V3Xtbq)t?r6#%rZWz}POBuHDPb|LzlTqez70|Ga3z*+;8#Q~{T*iVB8~2IU znuyT%C6vM5DLiCFl|diF$7uBD64WHL#)k6~Q6`d~P&qz(1q&IdF;y*7>+~cZXtlJ& zSv1*dgJWrfC;c#sLg@GNzkUTxG_X>dtzO1rfwMRwXG;XGVX4er2DST%n{PiOR{9_4 zstYb-nLsLP6a77c=o4~wZ`Iytl}X-L%_B3=dlvI-)iy3e0+^clZffQ&S>5ILokOIt zVT!fn>R0E<2L+NZpJFw~Wl(Vs3{uS`*;bNf&yi@|OHLmSTHQGCsRPv78ie2*kpgD6>nldoWVZvA@++eaX|bF2gP+b;y*}>8_4*)zJ^7_XAyZT|39t7 zlf;#PP7GU!>=EYiK28x^8>0N`d`ff)_Qi30LX1-HG%xYTxf?+qUlDH`RM9~{a;7or zy?BB?4dOY7r#RDz=mp<%MD|RrpX4mXOnG^V|6x6zW`mmIzv!TsFtXwVp24$FnDJF? zAYPSuoRBrmE$ZS<9_Fn=a~K#o`$(fv)3u9WUtU7JLa_ z0W$;~yF;p@N5?j~```@i?>4##_5aeUSIqEsFoNd2bWH0WY5k*&wEYJ(FOzPx+tq*{ oYF>7T<(&SAh>jP3!ZSMhXr*K4x|;}v=53@imgyxX5yGyY0Wy-M^#A|> diff --git a/leetcode/out/production/solution/AndroidUnlockPatterns.class b/leetcode/out/production/solution/AndroidUnlockPatterns.class deleted file mode 100644 index 0cd7d760dced70dc3d3526e355b0d6ca24f0e5ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1094 zcmZuvO-~b16g{u==DoJ^@kB-hDW94kbtD;-L^MXl5F0DifQHzOL#Z-+Oid|lT$vDE z`2!#>OkB8OV@xzL#<;)@34g~0iQ<`QF(lea-@Es|^Ul5Z+_(Gt%QpZQaW)Mb{b@)H zXtZk#YMc>JSA#I9T@$c|&OH>66P5Y0Kx;k-%TsGBbLHxcKexIK!ue_?n12v1S4vCw{93JC4Og#_^w#9GKzgY7s94P9a_4daBH*99wH{qf z6dy6^>QeBG5n{NO)~YP4T3+#kkZyIgCeS=x^Gi#2{b!BDCX8zcS>kvUO{86YY*YoIUR-N6Pt6NIV|1H5IIbkhmSpx6+UPs1sF&4@GjfOaeH_Pw_yo93EAJ6xx%ozj(#ie=Rc6t*6+{|zM@p+oV%9~C|l7nCAJ zAsn_n$i_XKraawvjtpL)2OH?aYre3z7{Es&cIfZoY&^1P5U+?n9K_z=LF|#m#Dmx) tmx&+VPCOEetoe9MlH9o?gXl!!fOJ|TBZP*f(IfbJ_i>X%y(~0=zCRvdtB(Kx diff --git a/leetcode/out/production/solution/AverageOfLevelsInBinaryTree.class b/leetcode/out/production/solution/AverageOfLevelsInBinaryTree.class deleted file mode 100644 index be57273d3d2d5d6dc34e07400d3fd6448bee5f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1515 zcmaJ>OK%fb6#lL~+dH3mjGAm=ebgoJhgImr9H(F_uOi;|=%<6UyPF5~mDI8kiDDjN7hV znGlF)2d)Tc(_TpmG#6}F&IfDD(qFQc9a>roUeR){SiY_9HKSI!ZkGkR3zHktw^rrC zN3sEf)JhRIuWN%*oHI8<69KDEs8aKW|*kx1umV$tU&vR&26r4 zH`pD?5LOwlLz-a41Ce)CVZ3^GEO&Ke#tX<)Ub!_cR;=R9Icq)S&A_yQ8IDOHwP>%p zRweM+(cv99`AFXMq8Io@dB#=~>fK=ohZMyocA-^ZPn2%=rYtGo#AM<$&X_ohb0%i- zwLo%vL?+Io&qM*8Cg#v-VBW+6F0cs`7gfw9ESgwS$vbxd!GVOOLv|LHZ^$C)Z?2;W z2^MIoTNE-*%3E2HzCc?x!frJ_KX6UJu*;{{)+?Lg4)d<9dyd0Cv$f5N)Z;AT8x|im zN3N*UzP);#X9QSvY|Ki(fE%sq&O|fS=E_V~sl;ugoK*EPHF)77PZI+BvpqM2s23e+ z`PhqQ{&3YN2Cgt#DR=WW!c*|n2OmKE8$R!$OjM0%qi)vpc6`E{KnF5R!eH?XI#RUV zdyLrC2Z+zr&iUForsZBBkX_QjJw=dfS$++Nzm;M>eB%=xxSr?;#qtVAd-QZ=sPl9!&yw|Nn_t zh*yK^ahaU}N&clsO`2Vq=td)YdCQWZ9D6)O22P+IQ}msq#|3oaTXdm>&*0GW7WU%@ z9Kg@$!>>4q-_Vc07<~tW_yeOHmTTRKEp@2M(yJQT|30$+ePouA1N7=a;w^d&42Iv_8#Knn YYaBB$wEGo?V;H7SjF|;jL1~BI0gWC@>i_@% diff --git a/leetcode/out/production/solution/BSTIterator.class b/leetcode/out/production/solution/BSTIterator.class deleted file mode 100644 index 6256e654d7ce0304bcb6f9f727a5e8739a26c45a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1023 zcmZuvZBNr+6g^K{C@aMQ@}eRN0%I%6d_hH-gg`VB$0XUr=(jQ}D|YMBwM2gkzkn}( zF@ce2V*KO>|AK$TsORZMM$k09yXW3>&wW{c{QmqEzyg*HBr&TaZ9u_n0_TvC#*%Q( zpm$w*HxlT@y!5g!@KA88*wzp*muEg!27FOH_Me?h~(t79wcIXG}ss+9u3g{KPQE=YVQ`4E(q{SO- z*!7d@+DUSq69rBq^2ikgM$wOgvh&21o%>IT&&zX|7{OhEHCLYMxL&$@ioX12C(KN(~G;8h%U7zC8i?oB#XnSZAls71q#3e>XTE!T{ zWg^O8oG-r8|JAkHsWSI)tq?<%3A%)G@A8iXy#94Jf zU6In0xJE0dZ?e6depAU=P3Zf0+EN~ut)$yT&r3@>he&XtgFind;uOX=^fJ&&nYlKn zPjaA+b!M`-EV!J)g%Vt;9}`5AurP&1Ok)Kzc!m@TjC2mN*`8Zre2Of=DtSKj7Zfo& KMLa{SAoUl>0ldEe diff --git a/leetcode/out/production/solution/BalancedBinaryTree.class b/leetcode/out/production/solution/BalancedBinaryTree.class deleted file mode 100644 index 6f3bb0a43f47f329386c9136b3791308e5442e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 840 zcmZWm%Wl(95Ixtvu~XwTB~QYmJPUbe0b)T=RRswtQqoGa>VkH`O=23CG(k>+;8VJ0 z!KND|q*e&A1c_ha7XWc?9;6bMJ$Gh2=iDbJd4&F`z=-A>?nRRPBz&hrA1Y(u9vNng!9=S9I_Fk;Oj%UjRY?A3LZ z)%E;?F6)fFIx#)(CH+t^%~^pr9QT+Itc+}rRQpv^y`D(3ks|l@U>vl)r@q#oo=aIs zEFY>j%Eb~K7b{5E$hk-(?&1>SHu5eCD7q-2%pAvfsum|FvkbTxo4eAF38D4SUSL$=DR_qRrw||M7;tH=X%Z3o z?#y3Clo2)IBCQ5jNoMf0^96AV#4CaQ!gqw^ ziTvVh@_Qung-+kn7^zvNa|TPk z$Fy3jGbhchQiEr*}dRPWDJQzNT%PY#}Ol__#Y(IhHG kz6w{F!DV)Hg&av()^DuYxXO1!{6a#cH}tr#@uz{+zjfA(0{{R3 diff --git a/leetcode/out/production/solution/BasicCalculator.class b/leetcode/out/production/solution/BasicCalculator.class deleted file mode 100644 index e315d73a92dc5c957f55aa35deb5720a8b86585f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1333 zcmZuwQE%H+6#i~v`=+kTvbJ8KBZWd&k|tXQj4+mxv1V+l=r(Puih!58o|kwSCvu!h zNW35+Bwly}sSlH?z2t>G@RCiNv`t6|2?_B-_y-fB`>va*X_=*aeb0B#`OZ1tvH$$< z!6N{taM8pV79@%$Qdlri!f~~oFj2-y6DHnP7w@R;U5Qf)c~7Du@xFku=!bq>6G-O^ zYXVxmb;A=lwBm=}apZ@MYGGMGxLkEEpG(=~8vnnmfZmB6_e+&1;pxVH zKpsL&WJF%48^k<>Nxkf$<2OQqBl|1+nAcm~$n`GxN}0(6&7V*;T6hVEsN;cpB~DxT0B0;zu_*DOg&NLU_z34LETL}U zJU(Wdduk2Jv2X!rNOvHWKz7gd%Em3vr4B>TuGW+$@WMviOomLI4Y%n;=jf{CmkZQ? zVvnTG8^?{kNI?3X^M1om-0FqT32Zt+*Sm6)(lYJ^nvt;G?J&*!@W6NLstyMXAlB1v zwW(nKg_jvWjMr33%);UquAUTxQkHv`R+(?Xx4v)>;@9N*Fn1#X(-`O3+I7GLCTa0o z#1ZZc7XKiP46(l-BK6rlq%Wmw>58UR^mN6rjbb0#9rTK}(T84)|$4= zp1iSM(R%on$Kp07bGA-=eL&EIPyG0PJXO(qxJo>~jhRyJK4c%6PfNBwIH|<79?JA6 zY$HF!m@D-$@&sldqs`iov0nSm5WSr>Tie3ubN}2gY)ONXVG}v-2Ah=p<1%r}RhF~wL(zPpT{W-XL^FbZ`#N;W~yKgc-4*_!yBoYNf4 z7=9!3G&{-SG5M#V;|)fuaqjxRN&h(_bI9zFQc4_?n3s4<@B#isUQA8RK1J~uXjrr^IxPUq<~xM1<_efPe5&pqe9Z@<5M1@Igz4kSDWCW~~!i7mL5cH&s1g*`eMla~C@(si_F9zml^)uKoPn(<;z`;F6 zf^mvgH@697(&yx@vs3n@C%d<@as#7cRzEX8#Y)FDHqqvgC8EZBJnfrd5&>ysh$>l; z#R5AGEpRsHM@$%~7rl>27Nq&MD!Y5va>H^h?*rD?TxojAXWikNuSe&0CgEXf;;M@usJ%fu)0Hk&q&#fRw76t{m62Zk;%C9Rw>j zdfwghe+w75WG6RH(HHia{(+SdZRPKnV zF$%_l`9b1(=lkv?Bg^zw1cgB~jXnQapheZLUD@ zCH^ILG*LyFkx_ajQ`)veZ3o9|0Sd3sPf@MN@M-Q}DA(***lOXn; zjv^#$dZ3Pm{kC!&vTZXnS92_BH>In6JRya5p|1!lwLNv^HFRI?4R7npw(Fi_^{Ulv zLbNY$PF&|qdxTJ~Rn1okqK3x65lw z0#jVa#{xtVV?>w^82|D;w-KE4=B}t@ilYat7c-?|Ms!M#NT&bl>%*Nl!l?>1P(3 z@C{Z2_Xtlj#ciWlNhq7|jH8=O^}Th9puvhQZodJ~c4M{ib1lK@g=s LgQv|iWnkeK&|hEZ diff --git a/leetcode/out/production/solution/BestTimeBuySellStockIII.class b/leetcode/out/production/solution/BestTimeBuySellStockIII.class deleted file mode 100644 index d66e65dc315e3bd9277ac336fc077441889d2bfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 882 zcmZ`%O-~b16g{sqZ{D;NDAf@wQx&Zds2N{?nCVBUrci%nto_ptgKl*wI;0|u2Adyeu zGOlQIRiR(unt=5nY=+T@fH5#QCtyBq)dGR;iLe<=Z8jEz_N>2Hrzbnns`~Xgza8rH zsnd*B!VQ7k#AvV)&4!I&bn|5;sMjk|tGZS$m+uQC8~%%#c55k&1mwVcd9W-XLN4ys zdONHJOpuu8$*2cS+D1rg)`KMy43bG}hs!HGG5jP?XC?BhYm@$ZEJGnHkgBvc+tpw! z)LPv$ctVuspt%vgZ>gQPe@hfugAeq--fAe$!j)HY#3c!>t7LjIXq+Zm{Wgd~KgOWw_(- z3rwyodHdmp-|&{YuS#AJl)_eZueiA&Fw}5gKIydTe#lbUV!1e96c9c?-o}2nLA1-V zHNRdb+#{>q@v9!QM#`EJcufH_(8Xz$wa?lPS`}@MmO{6>x9Yaf+KH7~-A>h8_I1PQ zi+gf*-52f%EZ8hvM95( ztYFJRR7KMt@iZlsbyr1Grj8IWY$#jj)scbAQT7%c>zbpfrwZp>;^^Q(ls$Ytuz0>p znHdVx&LM{|2BR$F60xLZaYUO#M=`-jmbXLe4u@aB7#@+ghH;c}88tHALgA43EB!sB z28(NxAICJ=3GRLvbBraJ`#CnKOfX{^&!|bT&SSI(JWH>WT)k?ICK%QK=ZN`}{C5WW zxI&-7F5Y00l_Yz4jjKc^(qzuUK0#avag3>BL{5;jVel1ypoI91(lLnw*GP>Z^ACEE Bo+1DM diff --git a/leetcode/out/production/solution/BestTimeBuySellStockWithCoolDown.class b/leetcode/out/production/solution/BestTimeBuySellStockWithCoolDown.class deleted file mode 100644 index c0fa615e2a176343c9bcdd1b76083fe9ed55a421..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmah`O-~b16g_XgrxtS!$=3Fon|^k*}3qS zxN+mgmBs}>z_mZcwe`G#q)TRT@3~*+oqOl^zhCD7p5Q?S1_~zbsGk^Ta2IPPiY7_| zMk5#oNmD?rtnUkGThXB}Fy9G={_bSZ^W#0Y7c!IUM4lV&yKx}n%cPd{gRwxV)AGm3 zUNG=mle4ZLhTSCcPTmAbe=CZ@?dZesnSecTKfaEm_dz0{R}R|iZTe9hcqA9Z)+qK* z-}WYF)Rd-4tQ@eQjmgOQw0?orv~8}NxZcT*J4)503oQv`y3r)|{1<^#UA{_K_1Hai zvoK)^EJ|Dp-QiKKJxu%~KQ?hMi~A@GtX)MUurM2c)jRe*?s3wB1X`O>jb6~}4}U;>Ps>{=1c|3l+Ct@yoqHYYflqt7(H)0Ffa_z3RXqy9W0bm5${x1Mbt_u8jPFuiy7!xM#gC~oszI0H~fdq z{s7}wcjIMOlZ~Im_%r-qV&Y%$a^9KNjtVyE`^@{?=A839?VC@}{|9g!H#BU+Q5EAF zBGMkypx~%HCggFv6BIITceHdS&S^D$WbE=PbwarUas? z;adXAbfshp^cF0~EY|NYn(j?w(WYlxp|WJyw+z>k_l8sPmaUq=p29`TG2FGAu4(3- zid$lpYpj}X&9Em0V%B#)R-_6txyYAI4j1kjt46l&S$4Ky)jU=xZl&T0XssmrY{uB^ z$LzM6XDqD<#6zJ4>0+nEx3Jf$P3VK6Wck)yaJLPooXtC)SvK9tDKJN^eu*#q{Ng=xiGX@qU4jOxRhzkA_163~z0GB) z)@#cGL#fczg5u^nh5E^bvdz2f8?9EVR3X(^xo>l#tA;Hg@?4}AqQ)u+sEpRl`MX@H zR6bnaTo!gWN+p5qn_(j4HrFaIdpLkNf5Gw-1?56N&+WWrX$5WD$TNt)`4B;ZXS?sz zu!GNfkbs@o#hbtYb~8&Bzo%7b=UyQ4+cQLI72399<|*3$f|`DX34Y_5^i!z6rXQoD z@bL3H20LH!M>a}F*T2yJLw5u++QaDU(MN2k_#j63#{qPs13ifG&to^wedIAnCK)m~ zK@ii-oFy;`bR+=N07_WcgCqfWU6Gbv#k(@WMYg4LkWw4kb?^o!P zCj9_i(iR_n{vhoJVwv<4`UBzq$p~IHZS`kJwQK&IlSH)Ax``V zPLWBDOlFbB0=2x2G2CIKjB(gFhTk!PKX5vv>iSnz*Bh$#qsnTjY61>MsdS*KT$dmw bRh3%Cq3R#e>5G}!uO#{gLUNAz!e+k!JI!jw diff --git a/leetcode/out/production/solution/BinaryTreeLevelOrderTraversal.class b/leetcode/out/production/solution/BinaryTreeLevelOrderTraversal.class deleted file mode 100644 index f25d42f680758b4bc63ac2eb7ab9564908fdfeb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1533 zcma)6O>Yxd6g|(G@g(+;7)YQ)2v8D;oy0Me0Ii*xLJDnQNCcr&?QUW}%)rDpvGF;JmTp3=)cPto!ag@1FbloPS^a@fUy@ z*eUd5+CU+N1g6tCf}=`&q{J};Gie;h(LNYBk-|xQth7&*C>kgkm=#FQx^*`w3-n}j zR|T}WMpX(7*lt}ege%L^zv3)=M0VJXisM~%d{@~WPz$cRErI>^8Mp5EYgc?JZMiDF zMZZd-@2pC{<#;85l-Gp?_GWG6xxh@NoPEPtbqZnNdIj5U1@zSdxzZHa9=o{|%22AS zdQ@F%lTXZVGy?YF%U0-7$;5b_i25zXS9E!s9zB)N7ufZ7Lu<{Arbc1`qQtYC>B=nP zWb9rgn0>eHIrUm$z8=V$^h;&_2^@MaPl0Vqfm6A8(P>6wHt?x|GIuG^x8&C9P7wNR zW^RiqzJE!nrAFvi%!o3g3~!75Fh!e=H<+DK1Sc@J$ZLQhxJT{i?yvVpeeO4V_ig`ZE&00FkWh~x?a`74; zRdznk-&jAxd-58q)P1*hJ-~<9#-FYFB*4;Kkry~KY16Nzu0q37b{3+PjiJJv$yENc15b!Z8EEsA=69lF4M+@_Kg z_!~wsY3VO8wBf8zS^7G9>22v&@+tbBBh|5KrT;<3(iEOKe9^G9 z1@0)*>};HUPq5o#M9TD=g9RIV@D)ZN z>9K+X_zt7^0b}@?-glA31LW`vS-)ZuzafuD9Icw(WoCGQ6r))DCs;;}afUfxP7Upe zDs3+@K3%d$u#Z#Sg*(h+p@;G(X0urJ1it4Q_d&-&vS)a<p5Hj&_-&UFIP& p4wHER#!K`Y7=MLf1KH?1{t^=ga$|%4V<^E)>X}TkqNzyBzX7WoS7ZPH diff --git a/leetcode/out/production/solution/BinaryTreeLevelOrderTraversalII.class b/leetcode/out/production/solution/BinaryTreeLevelOrderTraversalII.class deleted file mode 100644 index 3ab4b8c5bc5f2eb0bd4fce1f78d1ee0972adf1e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1664 zcma)6-*4Mg6#i~v$8G9n>DCUyexzMHmNd-@9WY2rpbZ<#NLxlr$0mg2Cbyk8H|`v# zA}{d9BZxQH3y(uWLPJ6tVG`m2F^NA3O=I76)5L5OBaY6!_nh;c`<);5Uk`u%4Zth7 z8pk2b88{P11am{wysE@&N}M(Dx`8+17{J^h3>4xhVtxp3qNI**De<;)Tu@?B8OjFU zF>p>GHg7jvRjt|2dZ{MF1NNfq_<{mIMf`hx;4vLw>(>&yGqT!W;X>U zs*85R^4e>jlvTMaofWT6pl9t$uW31zN>L!`^bCux@4MRqM>AE0SmuqzZ1uXeYt6QN z+nKG}O`iy@5m1Tuov8C%*C%ODHd_ui$tPj@&6aGD@JPsXNvVR6@>8NThc^fu{&!04 zo&B`VhM-wy<&-vz_E~LaOr%Xy|SMS*+Y>ZizG0->RYuNOV&hjbx8hKiE$;2qe1V+OhYuu1^ zl@NKFxPXd@i+ImO6-xpG`&|||)WnMxSHKTZr_)$3|h zLY6M z8Abw0W;TK}i*t59O@WoBN*aeRz%)LGD*m_!>>_yVW!6*Bk+S$s#t_sHP~ zbRMaWVOg&KsHg5ArH E0C~E8EdT%j diff --git a/leetcode/out/production/solution/BinaryTreeLongestConsecutiveSequence.class b/leetcode/out/production/solution/BinaryTreeLongestConsecutiveSequence.class deleted file mode 100644 index 077928be286af817d508b86a02dafe5060ea3012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 894 zcma)(O>fgc5Qg84?YK#tCQVByGzAJJBn~tjxRsBHN=T8?_K>Pa#3n3>i)(}9L~!Sa zaO2WTMfng1u1NeS#Jf%)Jyw>+GrKeIJTv?I&ySw~9-x^;2J0DI!}Tl{a3e#rk;P5i z(r266+_q7*aYw-R!(gCBv4Cg`q#t^L7e5v-YV|__b0>VM1PUE5P0*YRA(x_69yyIAIIKAb=BLk3i@iBBD2=#ZUyqS zjxO9|Amz|$7ryI-u>s|R~*0^x4rrp-yXY1nU z>lY#1I+7FVz(L+d%|RVG2g_J>kVVdh>!5+V4(_4sU<+k|&5MW%6t!&Am%*U9-#b!$ zvMv0Zn0uc{Utn>bvn%x&#<6@SVAVLC-ifbXvCN9R!7#=KUpK>d7f5L|dIo)B(=IY< z@-O(e+;0%4bW$kLrjtVxMf%P(0ZS+`5*%}dRu?~q$$a2a;}rO*sq>8#ghScy!Fz06bHXZ<5GA5!8I zEc218J668K`U2DCWxAp>%om!4o;?rsj8m*?vX~{RmZ-f&DlZKX^|+jI7F?Y;Is{q^_zF@QPT37{Xz00NkiNNI0r z>_Zx}>c}W_R!O-4uH%NpO^I6q<~_IWw(bjP$(c0)eX;S>5g1%@>rSy<+jN?%_GXoq z@KU2Z*9A;1csL$xOKbvdbQ~|%l4jIYuBFGt?iX|ZC)Tyv-i51z(8_I z1r=Fjex|^3%|@fen4Xoj&%~@3RFp;t0pGexs5;M>U^LyWZQfF;EGZ!9^m|rM9aw4E zmFLU$3$Ig;?3{$f%w!jH*RB$dCkX^r8trDqdFU#pqvw&y?%2C_5J3zCaS@jVhLj;! zwd-5CLcQf|IZcVVAcheQBCd`YCWE+&QHk41$qU5J0~ZMO&`O&-PKEUR|A!@Tq32!Z zY!#6Lhl2^OwV#UybO_ZO&kNLYyajI~bqMi=f)9f{P0y$!L^;?Az!1XJ1UX&esgmcR zF&>bqv^a$Cfa2M7>7_?IA>DKaBZ4Rad}=ryAd!Qgc3?mK6J}UH(2oK|{_g6j^j8=e zV&@GdnwG9)bM^-&XSI}h6ew#MEn6zRr*V>>ZgXijC$CBf;)K!a6lc9w81Q&hDomGBL(_arop379l0ZB_<>iov%>qdavG0cMBg0 ztcI5i>kH{(<~Xlwc_U&(^iPOpB1SfEjzr9F=v(+;h|ed#M|#AfEDDy?SkS^aKVz6e z!XuMnYZh_&EZGpzPiZA_jUN8pc*p4VdF{sFJK<9?y>1hNy{bn4c#%`g_hI@U{Q|q( diff --git a/leetcode/out/production/solution/BinaryTreePaths.class b/leetcode/out/production/solution/BinaryTreePaths.class deleted file mode 100644 index 390a2bb2d1e45bca4f14cbb5d09aace20f3d8377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1525 zcmaJ=>rN9<5dKctcFVF9C|55iC}Jrs1@Br!1wqkr(Go!ZEp&y2rEQk22`}I~_yqoy z#6Xn9za+kqiBZ3^TcosNHalm|oH;Y!d^6|!udm+#+`@u}C`MG=&=9~#7&kSv;FgNp z8bTP6;*N&9xEIF#dOSc{T1KUKD7Rx$JZivWJW(;OVnQG^YUM3=OrS0{uqdER6mq6O zQ^v}hv!(4-(^)W9ZCaw4!kS?(8jdCRWuxM5SUUnOnQ<#`IJ*muY0ew&#!i|MR!^G* zF2*v_VU`Kf1DQ?ZoslZJmYvF2J1#FMPNComXeUmz**p_yuJ!IX4QID_45_cmchuk8 zMt(h&bsa0eo*rYi#;j|sZOs@(uM!nc1?scbdfsqL4yzsh57sjxhBi#QXgUI^in~={ z(zReb(u*WbQtXjZ36+iY8a1h6N?_vb$o~XY8&77_vW1efW=>hMt!-7E8D>@fB<^7K|T>f~bBEgUCri`6>HLATAf1Riv(^$o6dMvnN} zEAjcorUzEg%hw&{!w2dhWLGHLxl3_nClHJuKEM|<1T<}{5emQ659`ER=6$`ld^Y+5CN*m zeT4bfe?T~@d_*v+(J=TK4g1jd(Kt&ra)eecO-IlZ$uDRQU}-Nd?TI8yl3J6eNv{0b z`dJf5uR?-@BsRhP4_MtetD7KaGh}RuoJlU@KBm95E|+U1&T_3%i(!DA^w8huUY;FS k-3ukSs3QKGd?+dgRU}A(iX;NGa_uYAF+_(HLj*AV2P`B@VE_OC diff --git a/leetcode/out/production/solution/BinaryTreePostorderTraversal.class b/leetcode/out/production/solution/BinaryTreePostorderTraversal.class deleted file mode 100644 index 18997e006f0bc4011c0533737df3b1e8921d7515..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1262 zcmaKrTTc^F5Xb+gw{6Qp3j$uaNL947Kt&NRt(Ci0mqG#|(YFIVl!c{R_d?Q-;wSJ` z6B0xc;wgja~&p9)5X6AQhX21RV_zA!yv?$_8DM&}*lly2C0i@b6 zhH<%MB523$C?;^H4ROI;1NS8r&n|*&)`pvtTP1W%#vV;X?jHz z-MtNAt?>9#{Y0n0QUhG_E=gJKEWH5^JAKkE>*9lp8C(Ai>| z7q4AG!Fo^A*QzHk7;d>N6X)u(!7JrVq2h?Lu(EjyFwk<(3z}>9}MM*yFlzPUp zc+GnTVXAnHyox87RxyKF1#>Fqu|RK7v52QCo}o`g0nZu2Ck<2a0)5oN^N^@X9*9@V z<&7P&Ne~^aY?3P0RCqwtWZhoat2#ArBwx`WR9$A;j@EPp~=pgya z=sSuTfaJJ|2(2-M2|iBP0|cI++)1)d5nY~`in!u&rs^yWPNE`xAMu81O8UvuM-iqm sh^s_BL{WQ5Q@17l+OCo9I@vl9_=&iJ8w!Tip%`(Sx*yD6#i~IWx5P4yGucfik23rDB{vu*|j~T>utTaP+^|X;; zFs{q+Jf%yI>O01sk#cO)O6g|JrYnl5RBVP|D~PBHUUMw6cKsXgtJy~36{Tu(E%4V4 zC#->!)a%t_`Xg<@GH<4#TSmE*%9U+i;v$_TfT6ZH7c|qNCHJi?5ISP#GWd_DrQsQ(4ACfJLe29~3#x6(D|MquQ1 z_{tW|Kb~uD*ony!fKe>|2VQ2k_!jZ@Rx4HNV7wioNrJ&A%+j`vVMOS4ls^xM4SMM8 zB`rmgk@O`Fz}~y=J~}&GV+Z=_S!)Df0Ov?!IFAbiA}{|SsgPVfg6G8nyvs*WNc!^Q zhv;B<12y>-Q}mCGCl8@|FqYhh{{sSt2zv0Gl#u@R_jiic7(SzOA7RqJjJ+dF1(L^g z1n3OF5BW6-VTjla)5jr>Fs7-bER~X{NXawN;L_wttZ)%g;_Ig!8Kj#YLYToNT!t4h niXR|L!#DibcZGac$rpz56J085#k{mcZ1O4?$hWWCB7ud diff --git a/leetcode/out/production/solution/BinaryTreeRightSideView.class b/leetcode/out/production/solution/BinaryTreeRightSideView.class deleted file mode 100644 index edc57569369351e1454427083bd1aed79bbb07d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1450 zcmaJ=U2hXd6g}hYdJ|{!K?tG7;VUJ?CQe)mEv=opkN_pElR%7u=u5S+CuU(;r|Vs4 z`p}n(AAnR*(LcZ|NJunPs(1p4pHv~rnX!{BLcy``+0W$>lS+K9#3>7>dtl)UCB9UiGfI4=%&$`@qST8Sd}E<(;ah>^jO)8$S)ePM zTM;nknsq5KP;q^^7~Ni#!BuC~qi3kntU2C_6S&ImIF0az+Y(4uW?kP2Hm(LzF1w8z zVb!h66<6LZ3G@YVhrnpIqF{?mQ_59tI(M8x6uMra;h*j>1U0qQw9a8?nSBB@bc#OQ?$Hw|rFXOSNs+gI!?KyspRRt?It78alOG3(mUc$ii6*=Qt99o~qmMoiGYm=gE(-uv_9(wHXC9dC^tl z7~O^OX~n3GJs1)gjR`a&BdQ;X&dVjnUHHCp4hvrbgY_6@zKww`s#(VpH zDfgp*<+d)|UJp0)qS7|jo1VuWvz;Z17=s(tb@0aTw3EMW#{9$w|0a9m<>lU!2eP8Nq~_sM7ft% zfv4bUo_GfFL|+e6CfiQzqi%Qf5$vZW@Cnik!pGtPPm8{X{~&Sw8M+oGU%|{j?pTYR zvuKE-IW@TnBY|sEn=l3bLW4?D;03H=GMy}%>Eu&%zr&27P&6rRls;}V z?&BaMC3y2Yqa8sP<*%H`5!N<_yZmKfGCuTO8-HvYKfaA0C;m85hmm}PehU+Ck+G1~ Z-`pGIE#!v(!$gA3s4-76d0uN%?*MYZJ#GL1 diff --git a/leetcode/out/production/solution/BinaryTreeUpsideDown.class b/leetcode/out/production/solution/BinaryTreeUpsideDown.class deleted file mode 100644 index da10b3df1010c789691c619799977b2e31db0c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 605 zcmZut%Q6E|5IuJ?$uOB99`Sy}N{o^PR+I(GDyZ_>-^3-Cm{DUw`4oRal}D9@B~?C3 zId_CuSlsT@XS(~G>5tEsR{)Eca*;uy6N4CXk;bq=BMwF#j0t2`bfDu^fz(XtP{3Xf zkCZ@nMF(oTd0th~zN|LL^j5-}Y#ho+o4Q5Xaa~^u6e?>vkkQS4q}0L1r9M&{;dQVq z(BJ&6+8yklshHMnN-dY#km^ww#scnN&I#1@ZbIkwVp%)ek{2y?cQ0&4HMOaYzu~q( z+rs>*ypkRqbT}CIFoC>>E_8dCM4s;c8xiO+L*<4HPRcvgQ&pp(jvu?U*igr0(vd!? z$0+ii86Fw1AdC)UC#y2EU{23IL)<5yUB*m83S^1B?*`@^D`9*wn&De6OEE9`Z*ctw zSno*tce4gPA+=>PpZ%C5%YTIJ3sW%Ib9Wp}!H7-M4fwKLnqw?bsz_9#)I7x&(32RM f`W9;$p)C14trU2rULp&9++)Mant$piwlMGoWY=^9 diff --git a/leetcode/out/production/solution/BinaryTreeVerticalOrderTraversal.class b/leetcode/out/production/solution/BinaryTreeVerticalOrderTraversal.class deleted file mode 100644 index a286345bcdbbdda6e3917cfd6b52209d3d16aade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2256 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 NPSe=W`7(!#{{h$NA4>oL diff --git a/leetcode/out/production/solution/BombEnemy.class b/leetcode/out/production/solution/BombEnemy.class deleted file mode 100644 index 5c4bb348ac333c80b0b6d580fc534e5af0e177d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1043 zcmaJ;O-~b16g{u=W?D)M1sPG95n50SHK4U&p}<0d2?}b0!5EBj+D>4gAEp)~i7P|m zPcX)X#F(&=1XmarEL@uS3)J{O42b7V#}XEr%)EErefOPv&$(ZIf7%6*!$1@|tSBVx zC{Cj{jJ`0E0>+qE@#+%-T6%C^Ku%VRu0Z>YS8;Eymh*1yj*~Aj(m7KtIHh@~=BaZK zl=UU=u|Vt0)oM9ERdLH}R|FDe=jjcvRC0?d;<-#P(hCcdgVO?HnZMdSmRhWNMb_mN zS3VMm&()p6%B=G!;E%5y<%uYs>1m&7ML;i9S1Waa=v;NRR&cL*s?oM)FT=~u6DI}( z;TVpiJB(BeUFa8RX{NASl{8XvDvKkx^2=_4bZv*BS*O0lI%!oCNt&nAOh5xQAtAYlz3Oq^rv zGV7~;6prH@+L53riBWVAX{wK)M}<0Zj9rHKs*ATFn7r?Vz7HwH9wMUe7j%BSp}h?~ z;w4!O=514jEsLYNslP@lV`WV}m$>@|-2t51fI$)K`oZSGPg_1zi4D#FOQzg!)*-8@ zXYGKs0gtd+0V{n>W&WK?&L5^c^zb@0!gr$sCy4v$!dd!ro+_uP^ERV%#P`sH3M{O_ z#xvsQ=))_z{SGN?5^v#*@AZ97CV~OJO3U&YjPLdsQt mVj4Z(!b!%YKa+mM_Bjq=a~OLZPBPg4o_p1h1Wu74gq}Z{sIKGy diff --git a/leetcode/out/production/solution/BulbSwitcher.class b/leetcode/out/production/solution/BulbSwitcher.class deleted file mode 100644 index e961883cab0c790381a23ca69edc801ed2120531..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 787 zcmZWn&rcI!5Ph@zZ5Or+1!MtPi@z?dAvCDz1=IM05HYQi7CGpJZCUBo+G^SAKVag` zyBzh<3l~osV?22D>|a9+_3gGo6PtcB-@Nb5%$sR{oqYQN;3lqGP;f0=K-$ETiHm~7 zt)LZz1%aN)?g-Sq_MR_D6@!-lu=}FwcecH1lgLc5UGthdUMGm+A*jN7a3Gj0-t9K4 zl{Z0HtNWcbfmJkk7nm7^97z!81;44+yZ3j4>M% zM55$1vNd|sefJgG`y*aQ)2%ptZa^8PlZ;8ESb#(PDm2*|7SYVq{kzz z#PU<@G{s)$sK?=G^Rx@x&Uvh25x04NKx_+3vGxL)E_XCd#RktE%+N-AET7I(9?oOo zKC8}hS{oaznquEMG9P0+ae^@u^CEwcls;MfVHYGu_(zF+pTtp6j~|Qw;hM-XlE)My JlpL*l@h?F-b?yKF diff --git a/leetcode/out/production/solution/BurstBalloons.class b/leetcode/out/production/solution/BurstBalloons.class deleted file mode 100644 index 221114e7e50ab88d8e7c2367bd1948d844a1d103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmZ`%OHUI~7(I99&P*u|g{Y(f0Co)eYlT zQU+zW7Ix3ntF>Up_Pk2PuiX%cZP<@zE3VI?mR^|~o#R<-#)7_Z$>;bbW@~|64H$Wj zPj)j6O}o`@*ET&Y)!&K)-z z`_yFFb^DQ>fPq*7=W)S6I)PD)5&cw~Kr(Ec@N9o=Vrg~VDRRQjKdA*fD043E7_Jwx zVwl3})EZDBLIT=0MiV>*Pi^c7;vF3Yaauh}#?Veb(QM$^!H7iYqUB}rg`gqG`%L3C zH1#mkxM^9RpeTznCrxSX;f0#hOwE)9S+aKVwB_b>Q_C5qVd{G*XG|kImN7M1I)YlJ zr^`a<c0w6qu#VxGxh;;Y0D4?Coi`& z+9z9*c70r(vWRua!PRKl86@eqbD2>3F6NR*@##l5(l~=j^k5n$^5{hceRzhm*k*2r z^#k_3g%t^PpJL>3JGvdib$G0&h&YK&qNFJ5AfEGHicCFtMZ^?jC|^t3(Ca0>-~?~T zk>blpVISu>iHZSsK0v#1jD#?ti0_DrALtX}gj8(?ECYj4LGXt#jepaM5cmFD`HF#W z(D)}WzrN;6MuCw^tfaM#HY?NEfhG?#)?fN{M)e_1JD#(?Kd{Q%0!F5bKEy!*~Q_uT2XbNhUO}m~O%m_p?Ln{KxTxHV{XfL>)vsl~NaQtO!qf8`G zsMuC{#qwQw{tYTY$*l@>7UnE(*7q%M%UP}Xo7E{Y*k>VuRA#-fZS7h4GV}7qz<0f^ zsiEfr>Pz`XpzDHr>Z&>c?;1~Qfm_bcTh&t030Nd`R@AHAKf(r^)2Ew@&yYeZIptl) z7nsU4CtM(?nKtEQI z^fg|r)O_1{;>!7TpBvGL9EE{4T;lw~v7GkSz!mfxcz|&O4>3Wp1|DJ3z?4L$F=5~_ zCOGADtO6bXM!dAK?bw{%DX1}Zx>9vtQxw0s1%a4d@dC^BXkqfS361xmy_#LJ{8@4- znT4S_POa>CTS18o)+XK6d}pV!=U{-}y}|zj5CuKQC9dr}<+%&)s(A?UkwF9Pc8F*}nAuNI4hTg<8u@<$E5}G8sZxz}?maxk zpraRQl3nIWmT4e;j9R44%$8+NpfD4#b9JcMqkX8#L3VNYXk3Yot4TGfyvM?DQXQSt za%rs&?H$I}85xCvH)uY|Z4m0Zig5uF*Y;#dSvVXNT=dlkKqG$lrDw oNFUoA;B7Co)?>tU+z{d?ayo7%en9&U6}NaB!EM@dCyWMv0b73vivR!s diff --git a/leetcode/out/production/solution/CloneGraph.class b/leetcode/out/production/solution/CloneGraph.class deleted file mode 100644 index dc5b0da0d260a30b884bb6ced2ba4506619d3157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2312 zcmb7ETW=dx5dMyD>)4x%b1`**mQrXO+ev6?A&E=U;x-rRxU^}Lrd-$dVsGoLjbj6S z<_U>6c%d&mp(3G3L4rh~65p+~G+f5l!E+^H$Z&)y%wOkzs`7Xh$vM z+fMwUBd(L3(b9K~PmGCr%_>bS8I>c!{kCZpirI2i!SCcqW2yCVZ*t;X<`u$^7k$5S zPw+?Wmj~LEXzWBX^I%9U9qM4Yw4!maT$q)aq5TUHCtBK2_AC2oJWJbyh*y z9E5dYWuUFX1!JQqyeeq6`Kk0z!TWLDtaA^y*>Py@nfbJ}QKRW>+eH)LsS;KgYeQ&3 zcLteB^5JmkIo2G&<#N56Gv_QB+}_mTG>%K7bqwQKg;1;M&FplX#LF61bgbgGjy2pN z3ms-x$2)jeP~Ow=K0eU#Aq)*!9XaILNF63V(osNBhlSe;gRMxdDsunQB{vUmAv`1D!;i#4-q)MS9WTS{k&gSoO@Gc0@Ks(D{wDB9qz4JSFudfWw* zfTug%KIy1ov^ z8opHPu;y^IiRd^Sa3Nz^G&VBkXSC*DjAeRk=P-C+-%bN$qM{un=zxS9hG>A$1*h;5VO%nmTnVSVg!9q65dR%swUvnP!t25}=n={1 z!f(*F9zk1+{{;UIx-yCQ*e(KYtWpu&g|0B|iFkI=t>|=0q#h+s)7~)}#3J4V)7wR_ z3#$+J{~VJ0iY3D|amJKfDF3!6IHGS~-2LHhc4PzR{|Dx>#wJye0ICH?X+F_h7 z>NgwIG}&JI4;$O)TYZEO8__RJ#J4f98u4sn@B!+w4>@EcBHnF;Mf63yhs@#!|(ySKR?|6qK)7=k_D3BBV|3LWte52 zBn2^2a0cU;V$ms=-iyx45$iD$UZO%L7`{`xUN7|6V z9fxR{pv}XEY&ILxgKvp@j>Hb*D|$B?@;P2(1dr1inb3ySB&8VSZi;u(q)GUEdx&Y6 jcG{HOL(~zZWq)Ie@;*n#tKov9Zdyqj72cq~3p4)$5;6>H diff --git a/leetcode/out/production/solution/ClosestBinarySearchTreeValue.class b/leetcode/out/production/solution/ClosestBinarySearchTreeValue.class deleted file mode 100644 index 2d4db899e0bf33a50ee9729ffe35d54647281256..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 849 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 diff --git a/leetcode/out/production/solution/Codec.class b/leetcode/out/production/solution/Codec.class deleted file mode 100644 index 4cecd97e5ab01ca03cf88890cdb047632d2d8141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4081 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 Q|KN6H-#qOraw&$=e+X=&3;+NC diff --git a/leetcode/out/production/solution/CombinationSumII.class b/leetcode/out/production/solution/CombinationSumII.class deleted file mode 100644 index 47d0e5ddc54742169c619de3853e07b3fa0a8531..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1556 zcma)6+fvg|6kVrH8YmGJO;r%@mtJTq-nEFAsxzHIoe@VzeK9lTzryiB zeeqSE5S{S@{1N{`T{|fP)dz+lIeTaA%UXM%{`mFvJAjk8mW7FefnpXZ6tXB`B#SeTLPTVc~=WH+DPuxC4iY5rSqqit`fV$y7Ovegco?sZQV#OmIGiVWJsCiE+8 zUpw^Rnd`{t4V*D?7UxXt!+rstH&8P%h6@J9O*T-{qFp9#aUx9ZcROP zo3bOTg)WDo{el~%&9y?2l#+MIIe9?zV)w0OM|==w&Td+CLwDo)d~+3 zwyxIi?2v*nZ~JZc)?vpJaR{)8lHk|GX?zcVL+bt#(l<+ApcPBy zj=4L%1ik#3fOMR6AO`oM2l6Y^haoYz6I_& zN!-QKNZHcFvAVVd(1IbyU&6+ym7?;Blx`u#Hr?!<|hTFm=2 z^#)Hm*=ESHk3tSo#v!sgK&}VLag?4qJ-5j|Ae&cYBif87JpO94@K>9KSdo;lWERmz sPNJ8LWFgL~$9ms6> zxEDhnOVTRH&wUjSR6G=ju30V1DGG!$*)0KOz1=Vc#>-aA+;E#Uv-8HN+4M}6+jYa< zGCG#r2TsM=vAP0R%IocB&1xBr)oxYXW~o%tiBa!yE(=U&N~LUh*Elc=u4CDSvek7M zDE9c4__j!=V|HEJ5ttZ^OY~Csynjk#wJ&z<;=OIOwhN_}V{V%ry~sykxMFRSw%cKa z`UUJRj}+Z8?R~Q&ut1o;{CfYstA8;G*4fpBlnBy%R;q3&% z5K<$4$G9tS63m=-$58U$`7`VRj&TJ!43WiELQ3GAe>eap4B|+5$&!poFv$@A&CnmlHO5OKz9&Ub znw}7@^JQ0kLLvf{lz?jb5HqPmOnYpS zx#-h7E4g}Bay2NKHA@_+aFvJ&L_8U!Fn*Mj!H>GdsN1v^gpz6?%^k`$PhSWN F{{UD7Gn4=T diff --git a/leetcode/out/production/solution/CombinationSumIV.class b/leetcode/out/production/solution/CombinationSumIV.class deleted file mode 100644 index 2503bce134d36589fc0cc381edf37d2d8da5dbe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 691 zcmZ8d!D&Q3wij?si|Jd|e;dJN+I`+e$ zH=DNmk2zxWAGblP>TbJTYtt&2O$7wMgilK%4oU42+p&)Jy_jfxB(Ttn_2}@WK1%Eq ziVQ7~?S->w$qk&aj#`cx8??cPT&?^F)Gp zft8mS#8bM%{Mjy!IlfD#t5jv^jm37c^6 zg1AF|2jwKy7S-#xO>G_-_FC-alO+tU{)NfO7nA=Ra7v!bvGEEw$)!0FScUZ$iwd{I cISS?we^3$^)LIH9Lzox%&6Nszne~?c0m}||U;qFB diff --git a/leetcode/out/production/solution/Combinations.class b/leetcode/out/production/solution/Combinations.class deleted file mode 100644 index 294c2f3e99acb0c876043be937efa95a57768d09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1424 zcma)5T~E_s6n@^WU15}u!HUie6&2j3Fh5X`A&DU|Su)`Q!=hJqTZKZ|NY|0zA2IRT zA0StVCjJ2blg8(5>llLz(zHG2yyxS2&N=VzzdwEfSis8!hA^w+egX<+6G$K@rTh>I zc#yzD%t>ipeu_FC>3A#d%d$?v%R-g&820$(yCkT zmgPB8kBq9nF%n$xs=r`2qi1oV2KGc1)Wm-Cff>(DB8e8(+ToVHH~(d1j^ zyGI0`-R`))z}Q7U^}zCX1SZcHKRWmiV6iV`<#OG%n%l*4)3>*6ue8cXVCG7m0)v~* zHi>mSk||w6=IRw^8QoX3)UTK2479dydF;pVrf=2v-dG1ww`&&@T(x>%ohYoYEkW_b zW~<}X?bnVRda`$}^Kyy?3=9iQoK5tV=UGQ`tOh1^C^-jtkqkSGAMQQNiaq@B+7pj~UZF0I_Fl5EY$SzTF@TWd8M0%jD_lc$t_PyA=u zqv>-u4=uN2Z+zrd<^Hecxkm63w4G06&l|xN<$CV74yl^w-9xw~O!Jxz@%jNVkRFEl z9idj_U+}LLP9TmcC>Z589vD@OQ8q#cBr#5nT}6ssGWaw7H2$Z4LV0(B*n0F|RtuTz zTv}C6pw4}xLo7%-4wbTw0X|6#B125Fz(SZLD!_CwF&Pw{!Zk_?{Y_j)nt76hbAyt~ zX!M+AyJu58yU8;JxA=0{5!gSh9H+gS{esk-M4Bc(?G$kZ)nil3e1&?PR!!|Y^w3BW zYJ)UPP5nS7X+EbIVB;I77-UdLGCGyLQv;d>(gOPFED?U0mMvN& z{nZdwmwvTNzZ%ge=!m|QLi$pgW&^ZtBSJ6Ph|o(m;!c1{G2>B7?y{}-Xj3rr4~_0A A$p8QV diff --git a/leetcode/out/production/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.class b/leetcode/out/production/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.class deleted file mode 100644 index 07cacf2cc2ead84b6543aedf3358b76bf9efa89c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1065 zcmbVKT~8B16g|`KcDHNGmn>K)75pr1r4I@kBqmBEX{=xZAu+tL?JlrbcFA^2^v$IH z3?I}NUh%<@Xu=QhXZSNr{5UfdgRf+hyLZk#_srZg^ZobN69D&c$AXD#77ScBaKl0p zH`5HaWVmghXkc0(wcrPS{74{KoL(2u7DLw)=&$>Mx7^ulc+r~EXb~BzhfSxo?nJ&^ z_dqS)@!JBk^~Eq~$5E#lKk)-6db1XJ-cl6q)q*f`z36e^z6jf~%GV<2z>C^W>!Cop z(eYcZBnu1_H)AGAk^9(E-{%N~FVxva({+WirFxfToYyWo$UqFz`&ehn7VgcO` zo(68OxrZ52NTIB{-fK=Bg(1n-`Q5W*H(xz>_ItBht6?Woqx%R;;O8ZFyVLjL6^Ki7~|& zVe*B5?|{z0V!Xsvm4Cs%UOI;O%p`#fV@iPnS>~Bj0{YO;6}QA7qilXg(Io%bQaM>Z zsU#~W$4DFzI4`0pk;zkHPlPQP!eu3##W1r3KN@r@ELM2JG-A;XkE{+m& zMt;t;O@f88ZO-I0JEgfZA4oChj6TZ2shqbBLOMTV zGw<@WU!Y6eHnhzNRgt(Fa?F2bba92%gu-&nq`O^ZkfyRRV!F!4nWeaE jMD(U?x>^VjC{^Y-S;#7b z4;xEybePC)J9!yIp8T*beScZT`){Nl%Z@MWky7i@JM!hB7d{oRTiqb+q=f<_#m)L= zz0^p(74By`doXAf$ZXaHte`(aV4THume>DpSW7&a2ng1j?0*$?RO29Q1d)nRcl`Gx z9QqLn%Q$9_b8-0)JKB4%y@LTwXD#l^w!a*thgi5I*Xpi!w6!)u`zZP!*?yMCKY^kQB8$k5-SXUJfCC&3IKL6(mK{Pny&9Lg*7 zYSe<-DEA<~(#Rl3X{w;W5ba#Q09P?gk1H`snKrL-q((hju4t7ry)&oHQTC8IVesN0 zT@9M<7Y_!p4P&^bhL2*LR)!xB)E_QN3MCK~CcnTCC$6z*xt42w#zbCst!kxE{RHzE z_D4$`|M|(3(OJxXhxU${9`q-6-Y!=Pdb8kWo9r-LOJO^Op%RSh&B=6>-gHfZK82aL zQ{7_n-C{L<_V zTIty$#adTZo-spNH))yN-Nr3i7WceBfmW8=9udJ5@!V#m4c+<$O^h2n*fawf%=`sn Cr@r$5 diff --git a/leetcode/out/production/solution/ContainerWithMostWater.class b/leetcode/out/production/solution/ContainerWithMostWater.class deleted file mode 100644 index 62616bdb073fbea7718a451b92e38b0d8beafb6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmZutK~EDw7=5!l?aI19sT5IKgv0}-vGve!&_ZHJOq#TMz`%jiv>n;OvTK&X_yhPQ zT)24gWaEJ!;MJ2q#S8UK*~ANT_~y;~=6&zY{JQ;l1E7t~5CyD;c!H;{tOckBs0kE1 zCNXwTz~8DL3dsF*qy-jxCeiOM&IUUBpax?y8i zjE(#0xjj-=XRif$qF*(qXJWS^+^=$jnJhT#WS{@Q%s)lnBfpST+3A zSD$mM@F2a&hWf2>Vb<>VYo4kvDnb!Kfb|H^un}Py8v-l$-xnx3MQf~*lh*sesU9-S z!hfo-Z0z!w#KrG2J~kowk8XKja0ILmcxrJM+zZ=3AimGqbF9S~86YH%?k?aV5s2rp z!0N=4d}znt_4gV#aO_M;}uqBS=xMr#11Fp_>acrxq-zAGcIE->l-+Y~T!n~nS{0TJ?VkS-kV5+K!S zrOV6-9#wOT*U10JoIrAX#R5+5)WnFUu5MbFoemaY@hPZJgHVnb z)2yn@g4rw_Kzxd~ZN^00w2$}qjMXF7D=icw$bI$iWcjnWtcgFz6vFO1$45=9Qz=0tT z+z80oEfphjF)9~hD#ksim)rH2ki(>k+bX66+%smzv_b+-pMOxfs~%v2t+cLv0>yHE=>L-^pq*2S;eu=x!7h*TF+Ht z3YM7)+|ze9@9R0nw4b)Qmn&Nh7E4qgpQ%x`h7@Aj#uZCXY_o(7&StZ_0-gWh8>Pn` z!#eA6#ju#n_m>r_wXB4Kyfp#OO16+s7)z$Sh0Yp{9+th+(1d1z7Q2ttkQ(k_T0;;s z<=yHoYnVky!(GgkcPp`UrC}an4GRbprAB3e=97C{j&B(WGON3Ks$eWX;a&J5{u=#c zb2emiu9x~?`zb~TtIwAtfjTo|t;(c~^!fP`ICBNYPt}O8D)+yP?!1xC?lPaZMh^S6 z)RRf{qLH7L{5io-0?iy-xC-zo_;d{%LcHO`fmV)gTU61;xmG-Y^YC)TR-l8U4F1Yw zZa!m2a6CMOGv=IByvpG5OUw=pdX?d~P!8aF5BIdI%k>d0UZu-*05#eD3NB^8e8j8R z=jzs;DdP3-56*pNRBRW0sN>wjv4Lw1eS{bz#suvzQHxTQ4nuU&hkkUT3oh#OxPXhy zL1!h`a@LJYHc1RU+;uSP5-#Hk8G3nAQWljyDp#qr!ub;oD*D9__*Go{MsnVCh5idG zxOgsngnH6@PUuIxO1JX(1==KHcT!0fJJGOKMm~V{T(-a_{(OeGolZJfzmptY7@*rJ zx}T;tN5_(Q+~%C9aE2?K;R!iT4+Tyy AQUCw| diff --git a/leetcode/out/production/solution/ContainsDuplicateIII.class b/leetcode/out/production/solution/ContainsDuplicateIII.class deleted file mode 100644 index e3a3e9f48c41e993e84e7be40ac8efd20277a6ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2073 zcma)7-A`L(9Dd&RoPHi;Kq(es8zR`k27+@SAUK$eb_H}GxPc$1?HQcW4{T3~GhQrF zc4cg>QdNbUXOs|YFUg#g-mEnId%jSIE(^ASH#y0P-zxQ{3-_LW>U;nxH z0Kh4vd}zX$8?XD|z?cs%oRQkN8x!(!R$ktaVp588QcSrKRiE&4jTzjC`A{n(gE;R; z9Me+FNHHtLn{K@2#svY_h?zC5Q2}Q-vLK*L1MWYwz!@)le%R@qtRi3)@0c}W9a$B)idc#u3%Ms1l-{z zIz}!Dh%8Txhv|;Qujm_kZ(7f;^u}}96($lZJSI<+EoO@udO4P;i!~mL%@+*HhEibB zGSj{DdBd19EXD@+cYbw!xBHHR?jui^9%X`>IZIEjP3!CS)Wn1!2>4eFYrL3TGpuMz zKn=%Y5%%xg(9;6Gg#BR7{Fs|N`kzbaXRMh`86Pn=qp!==+tb@auqNyG?YA80@nFwx z%(02NTrr8_L`VY zTrrYFyk@U!W+kDx{-QB^nOq3RB2O=d&y$9kHnU_?XSnKVDcx{&K-nbVO_PEPGOhiN z5M%XnI+x>EPCZ5B8xKoFMk@syeZE%YsVi?}avRLx-zCF&<0>wMDNHi&%dF$n`;IG=X4e>n{2cDyJ*+vgqsB0w$wBjgl0>^NilEGq?em>f6 z+=t`hHk?C>^R(Kic0agk>p2!cjnS6*mU=a6C+r!HvnG8iy?O8or;)vR zaGIKv`alKAd;Bx-@Yzm_a+6#C3aWGKK57Z-kt$Gs>9SF6-Sp|(sH=c`7xfN&xr?OF zARJ{=hwU%%En6ELAjSmNXx-cc-=|lF*xn^W#oJD^FN6WM(GCnau}CJ|M4N0-GU8y1 zjSiFuGEha3Ns$kdkG%OpqpcyyS-8 XjS=w(ol1ZILkvo82)xE292or<@6fSJ diff --git a/leetcode/out/production/solution/ConvertSortedArrayToBinarySearchTree.class b/leetcode/out/production/solution/ConvertSortedArrayToBinarySearchTree.class deleted file mode 100644 index 719776109579f2279fbd422bf5745d4b6fb5151f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 810 zcma)3U2hUW6g|VvvaoJjT15q+wYFA1OnEUTDmKw3CL~xNAWckPI>1=A!mb&XCjB}7 zgZf~In)C z2ag5PO+WCXJprpyJrt1p;Xn(lwEaLIOvgQKx~ex~Wvw0d)#y+eKgNrqjE4S1V5hww z24~ttozO&j@WvQ*-VNXSfimYEtxSK|HCn$C$W5*dbh-k|m7`X*9rq8Y%o!O>$K*^M zwK&ga>w4RsM9M@0f^AC&1IDq>C`}l$>|Ui>>O`vl`MvtGu}=kj4!{2mGe5{Ms4^Y%rYDIyC;@1;3eQ2Xe6U3M$Bt8x>EnAT_%NF$qsjoFr zn`q*zi9f?9|AZfBwovL@vzvSG+_`h^Id|sApD*74+{Zl&7M3lfaXpO{+(@FR{Y?u7 zZl!5T+LV*1B;g1o9(W@!To;I!${hh?)9)*RGfi)#T6-_LDrn2@kePE$zbA(s8F+d< zO&a0A8w(VhoBn8`g3$GYQ1zSMIBfeH-be;-TqT3vpdBc+M%3}~eYY);D>Zd>i%r+c zOUgq^<7CiL`MFwvCIpL=YP_WCc<)U>mEb>x$bp?qJczT`UT$ zoB&&3L8I4)aRT-3 zjgN>k$VLIyJFX5OqgH8T2yBtuM3=5b z@Ly!BU@0iL%));l`b$b_JntnSicMzj$GKmz@ky6sw5A3n;*4V>0;Vy;j4#GTT0Sh^ z^SHyrKIF>z0aE$T2vxqqc*Z~;BfKsxSvW!{Z%Nuhxj+1+iD^aTZ4MAuj#(d49Klot zUS$4MItE3``ASX+4PX~6$)b{?t5^g_bRs%jm;K=nCGn9x8SER_Vz1!fCP$v)f01aC zQ>}5D6z9pXUgTNa#~iAd#~v2&oGc#}0wnMjOL&K6y@y?`kx(Z`^+hUNVkEiHG%hm= zAqRULImqfrs_l$7r=ofC1a|oeE$AoqaEnSx&m!|KCQcEG;K~V7rw|OD@*c8cM37*} WOV{a75I;kFgy}Rx;U!W-xcVD9UbQCx diff --git a/leetcode/out/production/solution/CountAndSay.class b/leetcode/out/production/solution/CountAndSay.class deleted file mode 100644 index be4752b6557ee1b0a631f6fd4789a839fa54f95e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1398 zcmaJ=OHUI~7(KW1Ds`YxC?bg911xP7pD2P=sG`-Pi8Uy3VW!g&M$43xsnM;$n7CoB zE29e*Zgf+KMt^`m$EAtlnJLmL#KnDm_k53YzI(s@`t%jRDP%)vLL!J{2w@!2a5MxN zi4cZy%$tq}aYDn%5Rs=t7{M9Oc-F&=deb=#V*={9?bvQgK#C2`2*~MD!4e2(ZO6J% zS;$-E+eW@fOC(z|jpB?^w!QPFQFiC;C4uH_x>Rx838#=Vo-*bxvwjqa#xg_MhsI-L zxM(W52-e ze<^MzV9h$tBcG4D z{N-O0l$|VE&YU~%capNI=Dbm!pinaPC%3kG#*E`ya~3&kkBwr*y7@q$^Y12YA}CIK z-7U?4hUt2aU9ohd)>}7pP#=`a3kLI!?$Drn4Q;6L9&3!V^)^&vanW)L0!MZTvfZQJ z%b;8Oqen+f@Mu86Q^%?+Cbn?WG zql>fW{ETRsYgZ&Nt)zN;-XR=Mu0fh!mc;7D_v8oONq)ReDBR0DDF`uoE7wj0{rGX( z6&ADy-MnYC%}m~|hcv3L!bD;I05e&*6I-%MplVf`3!k>4a&5X zl15}{M2RYiD%7{Q6_sD3H4#;+&{FbyfOYr7puH3-$;E(Lx!*X!dDGNUI$K6eB^Rrzy-B zso$j__enob%sl$AK%y^k(3dRbOXwlGePLI&BwO)?63p-d2Z#bH90mTz^h?NEq{|z8y8K3|F diff --git a/leetcode/out/production/solution/CountCompleteTreeNodes.class b/leetcode/out/production/solution/CountCompleteTreeNodes.class deleted file mode 100644 index 2dd0420535596e4892537dd613ba86ccab73b696..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 661 zcmZutyG|QX5IwVd?Zq2A*bXm)iFqgz4+$5c2?RHmkWdUMK-5_;7g)0FqGcWN0ench zG&GSAky4~gkx$?+Xd^^8cY#1bGjrz5>&*PQ`S}aLBBosAFc)(_$lkW=MUKY5%$z+kBG}C#=EzhoTS(GhvA6arq9H(@l-lY>(<&t1;pSZM{ zdj98i?msGv2? zm#{e&ShrW~*8GyHsoyBq)H$prb!y4Ce^*aQo1|^X`uJBARQ*KloT<5aR$oAUGQc+A zj00^L5u=&n1{5Yx;{^+t!dpz^9o}TZTFg7BqKpb_>i-c1-HSD-%B=9}4}9bRy}}y5 eIlvu5+%b&Y4IB{%!+%k^hII#Awu~@sp>_)fcYBin diff --git a/leetcode/out/production/solution/CountNumberWithUniqueDigits.class b/leetcode/out/production/solution/CountNumberWithUniqueDigits.class deleted file mode 100644 index aa01024fb14b55d79b275f8b990981fe7dabf961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 583 zcmaJ-%}x_h7(HL-PR9xH1+-I=9va?}4oC*z}7 ze@&xz`dBB6Ey1(!e|d4YPR_<|b5|gm$M}RNrm}goNT*D4ABmO@k|6xF7ktU69aIGF z!7QDJ(R*$5t=}V|Jqb>NA{1;v?Vdh?XFC095Fh)!;Uo$ZyhM)QWmXQ93Y#|1%%>N6 z`}J?gudM9Q<}*<6fN}Ar0R_0s1WOrWhJW%Jn|`CF2IuZx%ThhH?G-jvz4i_D7PlI; zt7_1zD$lKt#+&NYlJD1lTebENj#)5N&oiq?X_Fw2D)V&`HyQgxjD!wrMZ7`@4>{%G o1g$Dv#_z9hl3rH?HZ{V*>iBQT0qp9Mah8L zNnQo)xaUXJOM%K1J384ne&ENqJo;qX&-ME0Gr?;q_(H=E)CBKIwlrH=Y7E;_Kg-ZJ z_1~mrP)Io9V9Ym%N!V8RzS(f_f3N3#Ig&0GvE-tJLl;F9T+AC;K*7P$REPAo1d7J! zLd)Rg;<43NZF6rYrj?!l0Z`$)Ieb=|V+M0n!2OHlNNb{`k#InV#0cYQce#O cTq*M_(7|LI%(BckS!J+=JY$|9HumX?Unkyl$O?#fl7`dMQj+%Gnr%vWc=`+e(QNwJO_6{VDwkT_id085$M{x|lofx9-~WC9U>-j^=*66k zl7sWO>ELsGVdIvA4CWmexSiwbjxt{=^OZ7REAx$w1sjV3)>?C03b>UxmdSDyv|6$y zkX;PpFf9w1h3WeQEo)F;HH_t2dv{AF_kyj6ZvE9}J&5iHNvQURhgSM9WQ^<8l2F-lQl>8r`7mULtF1@6?*@ zq%K!N)ui#$Bh4wnU0g)Jz(pyfNe(e9BRjin?Bo^k@RK}$^un_W1rW7lKhgkhR2oFVK2 zwdcs&PlBi|*Bb(t3r9nFTo-oQB!qUmy+_;9ZHQ!pTrx?x^DxCIpJXpzDPV%qqM!B> zcenT#{AY@9A%5e+zyPg!ub_*CKIFM_yC7V~748JC;u;Yuz&^5k!hk<>@F$E_u{LvH zZQrr-)(c!I&g8ARSwC-?Z(*)Iw?6ED_{V<->sR7UooA5VfU+LWVTchwBh?}Hc|_-( zXY5|)8sxpDvK%r{t07`3I;Jp8v_by~T&K5*F(Uh5yhpE%aT^ojUlN|=p+T^rhKPi#8D8(FRHU1jb!a_(6f(`?xB0+p4-$h^tJ1M(qs-jq%_5PZ?K92E1$+VW-!Z| z%d{&f;TPP5Wb>Zkw$`cKE#p6RI`r{$&pIel6V=U**2&bXBRxBe>rrE+SQeHyHsulP Rb7wHq1^yjI$#4?-fRApgOVR}%bIy0pxxel%uK{eMoPmXB4wfCP2<*3E6vi!q zRjD2bRD1L#5X^VOD0n|P=>_9`uQw!8?2deIc;Jmg6F-0|?uTcBxo&$jiQn%ZVmrxjXV`w97xq#bHI0d36C z&;Bn!8W~0$l^~}14=Igpmao*V)zS^+s`5G3*Ic#r4KJsb=!SN+tNKI>L|xri`%^6! z_kX8~`uB_PY`0)W))M**cbg??7W0@x2{|m&TSXr0v|GgAU@=*%#j596VpWdUq_N3- vj@?}6VO8VhiJ5zMP(YEl+jxxyVis9IQFll?a7AwU)i)^JBtKJPE`_CkigQ~3 diff --git a/leetcode/out/production/solution/CountUnivalueSubtrees.class b/leetcode/out/production/solution/CountUnivalueSubtrees.class deleted file mode 100644 index 3b0c4c64a50cfd35f2a9988e4cadcc7bc4e868e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 833 zcmZuuU279j5Ir}0cayA}HYTR6jn!7G=8FU*2pXwiK?o$Rn6{#^;3lrk)-_wUoBo$R z`3LeM6a^6<75ppy2E}tXsqI5wX6BxmGjnF{ufJcv1E`~5B90{!2CgS@1Ix;+D04H8 zTXC!k7?0ec8?Fgxh2oBYT=(BP0<$f5=xmHW^qgSJ?s-HqEx&JjJ9glz_Y{=jz&#Y0 zZ>{^IVYoeXk8E$`bVj`}aGb-2K(>FDIE4jLh1M1eHaMzLY;tJe`=Nk&h6?BrQy|u5 zfiZBr11F%abIfkD_=;T5c}K2bs0Z%efN`o5+Wq%!`(Ucl?D(Ug?>u$Y9*Y-Bt?t`L zwuJnN~j0_t}R%CI7OsE@7NBoYsz;5{`bU7}SPoSwe zYbuf|x-XZG@i-@s@lYjyAgkO7bUOVbbZx9EC$KyZSG3nv`DRm&H6>V!_P!TMG$Szv z_f1n?o&r}X@d4#EDD4@=J;wrG@^`w-svFh0AVvOPYInMn!X`_l(dL&fa84di$Xwuz UMRGXH_=CC-a|y1TClbT8e_e)<+W-In diff --git a/leetcode/out/production/solution/CourseSchedule.class b/leetcode/out/production/solution/CourseSchedule.class deleted file mode 100644 index 9b255ef7837a63c6d2424c660ca33604dec1c14e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1848 zcmZ`)T~k{{7=AW6CmX^E-$75YwY3!kl%Q?J8W3w~vC%+msnC{Mdq@^IB_wHb(pvAF z;le-QIO1Jr9B%Z&nGO|km|lD5UvQ@XzzaXd;h=HzE*>_e=>Gqs5#OXimEYHBnufRpqPBY@V97bTRAXr<}5@ z&)Z7FTW~7^E$Pu>wOmn?*#(uW=GBluL)Iybk-4%UAmgc-nN-gW`lu*RlizXfIRjPC z%@0f}kLX~jNSeS*N6h!mnWat^u`F>LQc(>m9JTHO1pHv-%CzqVcaQ^&b(VyRVLV47u990;$7$dq#u-a5Eo6~n^cIwc&S_}V{?Iv#z7yXzGkZs6 z^}Ox*^{d8V-qWN!Rd&2$nPYm-$yZfoj%|;pdJgEQfHkkYO!8U0mNR}JbJ#6-Q#unL z&W8}@tJqGlbH~Jg13Rg6VB~^RnNXiFB%{C$#}MN$kNyil=tfe2NtT|Y%8HW0Y}7{R1*GHKf8=3po|C}T1f zdWb8w8Iz}yVcW37M&bt;8!!nCtwBCPIN7kPw;R^bFl{&3;h=`CBND(@i1zFA&4h6~ zvn<8x)^{6dq`8$egM*=1sDJYz4)@1Gi50ZaQOGxp1~9!GBKTL^Tt}0@3Y3I+a$vbgNBSFH1}- zBYKScI<{-Om0Iedj{T?9i$2bVA)+`*mLQ_SKtB?U{64EUfLHmEdX2dpO4V#cfCnS;lUXrjR7!eo57);D6VU0v$f(M4(0VXWFWOkNH z%7Yh5B(BvS}@U@zySKy@|IdIO1!NwmlS3&fp>6OEmtJomAEQk z_WKn-91w_QIz|Qb!D`79Xddz_-f(?(!V7M=6J>h#4ONS7dDIPjb>4L9;j~{ zQ1eEL(_X1w_VW2Yfu>2nQYr)`FA#`l@?&H9jNPKaJL=S3-&rc(r<&M(cmOy+60r@rhl;{V%9{fQ%=1XZb&1 zawK$%GuPa?NK%Qz5~n1NOXN8?iT5bL2*oXWS9~>w^lqiIN;ez((8AUt4Wpi~y0vNc zZR33mNnEorjDo=aZ2$*6AR&8 zCCTgnHs+$N!4yF5D=-jAL(&-z@oT&4z@o#dPN=naLVs)7g}J*wxWwQhw((r%T^ zDa&cMHtgMFDSCw)jv&QvQ~haRn`q&>pQkSFg1d40A;fplb(*UgIZd?Ewi^JvgqL{| zaBzStgS8Mkzh8({+hc3E?FqD;9_umEhNG`7A?@gC;}Nu54-p$#FvRl4A7^uhW32U< zu^yS0X>$qZ93w5eb8$y^;(E5*iN~@(KwpKS;Y%bt)%laGK3-Um4FBa3Op?i*5$iG2 zX4?`Db*9biB2r{Aqqw++n+qnfzZ1fua?&wY(Il{lab;NoKOw<<%ubvW{~mThCFkC~ ziljiU$!S`}9>M%)l-1mbusR)!7#33+D=Z@E7>>0Hm2P?C*X50`SkBiV?J~^RV{3&v z=}k^`wy(|bgGM%6#3{RLwmQ0qms;aeQU z3J&234&yhxf_|+Yu z6<5>SoUF2r5+@?xF|umVg^d$riBUQeCt0`7I=?{%9nA3npW<}Hyoh<6Ax`2f`)y@p z1K;@^pC!JFckFr{Nr`h3=fzVv>#!uch3NbX#xo=&UKP$$WlBNNGn|*WAn{uEZ)loz Ni7wXHLmmyU{|hXtUhV(@ diff --git a/leetcode/out/production/solution/DecodeString.class b/leetcode/out/production/solution/DecodeString.class deleted file mode 100644 index 7c7d5c09450afbc1c27cfb384ab9202901a234fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2241 zcmaJ?-)|IE6#nkc?9A+RO1G2|7j~%?!QJk*?k;XxBqP!lvE@xjDLH9Yxb)cB%rM1l3Yv)doA4QcL=bLQN0zwbNe zZhv_C^?d;SxMrdqhjch5LO5jN4IGxcBXSy$(@{AM%ITPiEQaLnxQQrE$mygsb8;Hi zaZ1N&0d3GLdDX0dl1z;YsJZgAE6|qrO76LZ52jrIVqt2Io~`+Eu`oAY@I7faoN9H} zs|ak#54%O48>{+WY38VaHNC+W*qhAXDBLXc%@s;BeT|@0vr9nS;27cX1VWW5fml=2 z$pvq2+Vy#fC~;IdiX1r(BH7v$&%kh{S}49R&^jj9(ZYOyUdI{gsN*a@Y=nD&$_PZ} z%ky=l0zJ*}S5a)rB2*y~g9&owg%SbAUvQpem7)wX$I1(S(LL=+vD-K5*(g(+xQs~)J?OQt5Bp{O6$@AK zE{nGDQi16DRp+N}xJ6>z;9Autbd}1tRLi;9f`7vI3m>wDk}2ub3iI=BXp(YX1w5vTl0;j-B+*|bkY{$#AB8XuJJv=P_W3m?d{{9A`$-7YU z-78Q>GxxKKquOd>2|s0QwciQb;pny7XieMU6@(|2ajy|Sprz9*(A4P_=+UdU(G}B_ zbE+5P#j%#40-kz2G`vBJ(wROW9zoD?u+i5p1tnS6*XshWc5Dgd!RTG zJ7VigNGgtLn=y^~mSCr2nr#x1#JXsT<=XFy5zfCXs+?tlme0vq33M6{W&;Lw>4b^B z)MFo7aRgg%7HycM?C(+Tc?y1$ntjChC93)v)m)*H-%-mSu@euu{!05d=J^Y+1iD{f z)(435Yn++CLIw%$BFudUyLg+13Vg=Kp)+@xC64n%C%(t4*v-nYE_e-lxElC_$U0fI z*J+(XOO0^CI+8k4I=TfL;4$LjF$_8~PtYdB&|`$?h=_l&v&Ll4Mn4L=D81GQEo_?z zQ(tQoc9bfq=X<sv@gzt4lcEV~6`4&DMfe$k-HHw!-f2%w1Rmx?EZv!!~Xqnu$^S zEfb4IZMpW(VwkFbn|Vg{Zt4LtGsve4N&cm90BI_dA-f*rxnAJ6%k;_)&Qh!6tb)|f zU{s8!_E5Dh><_fkB=kmq%biq>ZxxpUokM|YNrY=Gpr#}9oNx*81g-RmM`)MAgyc_N z{e|FD_KC{u&IV!F@7Z*s(efRcU>o$BLcV`WGeWv;&oJIaw9Gho3W+;RQGX;mC_iwLKO{Le^Dsf@ zNaZw+;YgW^j%&%|N3g&EC zvGBJBO{$@MXoFiv)Q1@2K6D}A!v!RKNFv43R<=N(MIxJDH4F8Bpaw6>Suv|C^^zqg z$8;4+M(r9?Wh5P)5pZvA2 z{W=vr!HB>~t4gTBD45;hC&yK21a*PH*H$M@*^%a(6Jp1G_3Jm492CE z`3^k|Yw`p9;aJ>x0RFYyG;LZn8!(Rjk~QZto$+gqN&Bf4PZSIQav%o9ZcJIxKVFJaY+6W)reWR@e3* zWmZngpbWpq?RZeiqM}F2eNBg~d+8`#kxeiur;cJWYr~^E2w3oPl2 z*%DxqbkuHj+~Md;-1=Q^Kv!@w(Iujwg4Cdeqkx^9w}id$2f zZCjcSyr8&Bnl98RaUUgAB3(wC`-pN&9bp}(g-+YSLmV-99Mlvj4xx#dH}s4B1Q(>f G+x|bE6~ABr diff --git a/leetcode/out/production/solution/DeleteNodeInALinkedList.class b/leetcode/out/production/solution/DeleteNodeInALinkedList.class deleted file mode 100644 index 1ff9cb86ab95758f7483e000048c99a0da1d1ab4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 491 zcmZ`#O;5r=6r9%<3bjB*1yMYBLrLt#8^*+FOh_6$V7M=^(Z$*(r4av?3B<&MKfoVl zd|OaX?BRXP&dl3=-#?#U04{OjAcwso_Hm#?%|_kEAt8UIB9&ef%+}d}VBN-JNvH%W zlD*mMP$rLJ7&1}~;*kgkB2l_ugI4;iri4atCqtRa9&5YN4QpTII8f8HLvY6bSARSW^PfPqzL{I+1 za3V)3q44(@{&ytb7%}G}Bv2Qpuy|kk7~mzr=2+m)=S-Y)=O3W=?7GM?pMe$}uH6*@ zJ6wV563QI4xX)$==X$%nfU$tNgt;z_C5(+-879+gwkV*6VrE-gN!PY)f(kq~ChRiT GK=l{RT3q7* diff --git a/leetcode/out/production/solution/DeleteNodeInBST.class b/leetcode/out/production/solution/DeleteNodeInBST.class deleted file mode 100644 index 10bd39c7f113dd660582fdad7f03d4915dc8fa14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 733 zcmZ8fOKTHR7(F+W$>cFj^JpC(vD#K^n?bV?H&qu=lt7G&30=66NqTK39cN^m7L@!N z5weY76pO5m-@ql zNB#@F*1{Ucd+}j1ln(;MZRynd8zcY7w~%R2O~KogZv-TBy;44WE;w7#LXnw+fT8|V_G~jkO7NPpe-_M(F=OB`4QrselF4G zG$>#*wr2%cK$#iophC-L;ULQo7`rDh#kAqRN9GOcZj*u0_<-y&j0v7<{Oue!XSg}R zLsfNxJe@gJW)>Sd?p^2O7nGFiO@4iI8Dx%;(X&mJ=<%jI<$eQ-bDO-N8JSvanKD-> zbc0-PQNsuNS^8nbVi br#!>BihRy-N~IsjT5!tWIZkk#y7ald;FL@n#4&BZ5sNZj*XK-lR%R+5YiS5PSVyPq2-maJ+`Mf<7hmN znk5qIZve4DY=T(9#!Wy%tXLo+@e7bxAR)10Ndyh&j_qbbMTO-1&As3A-0yt8KRo#Q zTL2RWLJ zdtHjGJT9tOQn4%$oHZ@enG^6QMpp%tg<8=N=*gOvvDDbe8}^ExuTs;Otrhg@s&1R| z+*T@1#jFdAWUrW|l3^QG!C2F`>npYSV)44pvr{qZMtw%$Sdktr+d^$)v*9r1*+lk^ zzNL>>b*ns{b8OQp&y2QI4acmGXU)39P+WwOW29Mr)d$V)%bN{M0>q*uDI7f(GIY%$N zzo>7z9aC}L?fVTCH%X2_IA@kE-D%it$EE+#j{hnX$<-Qm!MJ8hs?I!~jWKy`4TBg` zaYI86E9|e^3b*U?wykf=)@yhJoCtp^oz$>~H#OYCZ4D9(~cHKkm_24)q83b`FXkDq`p0bb1ec5@UBdwTu2%zVw$Yr9ifC3H_8R z0tllEQTAJ7)4GvB4<^yeSG&x;~qI3Vg5-p>2ZdXE#PyUlLjjMj19FNf#@^fK86aex_wRXnTWIrl7u`@0DI pjbRlNDlYyd<;2j?J_i1T?|@YUo)8d0pr2*sh)xmQ^X~42e*hs!pW6Tc diff --git a/leetcode/out/production/solution/DivideTwoIntegers.class b/leetcode/out/production/solution/DivideTwoIntegers.class deleted file mode 100644 index 1af395357427a11e20f1f3655e4753d44fd7bd44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 761 zcmZWmOKTHR6#i~km5vf%N9UZ9Ti^z6d!vwm@RDJM6W*+rAl0AK|{dL3Ag z$j~DpvXm?q8<1g>QDGnP!gvBZk4RzcSBvzEGru_YE0$eRj<)vpQPx()j$TbV+NM{c z@~T?N`Q)pyTT$Cp-5xa6vvIOj{$?f0?yJ}cud`un( diff --git a/leetcode/out/production/solution/EditDistance.class b/leetcode/out/production/solution/EditDistance.class deleted file mode 100644 index 14338d3ddd1ea565863b7c21922478fc4c8bcc5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1014 zcmZuuO;1xn6g|_es|AzhmLc}w#MKIXB-j8$7y>sTy_uo4o0o=lH7z%x1T*eiJ zUgNKZaShiM`W4~=_8qtCdgB7Ycw$CCPSlDefzvs+T6(ayJYT9ma^@>UqPbeZsmwTa z*W^u5dJFEVz^UB*qU+srS3Rd%D2)lUF1yvkRG>eeTXdc|sftrAr>4ESTP=^BL=ss6 z;qp%(WIv-t0c*WhFWxlApBT|BrYX8os*+LxV{QP36;Qa$NZpsZ) zR@qzdH%w7>VZo{2B~`|=i3u+6XvmafXjVL%O=Qsrn=fa60SKdsHq0zVFX*j-_Ym*= zax1Of01;svX~u0h#f-0sc3L)zAFwzG*d5$PV0?%sBV%$-OF8!i!N8~`Gq$#4ZxHRa zw4DxWJHKIzt%F}auBBfHrZq{8!q3Bob(v9G8Af?f+p@R~Ii!{EU!%vLrj>EBm^OGa zzlGaPnAzV-@&l|)=s$cNVnxp7Hx%`}@>RX;wqj{5lW%#WAj}pf(Lozx+=6qwaUY`r z`eC$Tl-rn~&vF|N$$Nq*YJArh(AdNo>=66J+E?`WTU=ppFKZp-*%%?C5p5FfBo@MB zETM~$LJrTHRqmE&n7x}wv&%fzF3vIvaQok=E9$HLjBZAf`8H4NW$iqfX@n1$D2159 i1%5&(1UX|5UHb@#J!s?h5fZ~Ad$9QNgp2G9;L;yd1GX9f diff --git a/leetcode/out/production/solution/EncodeAndDecodeStrings.class b/leetcode/out/production/solution/EncodeAndDecodeStrings.class deleted file mode 100644 index 8c0300feb86bbbbb0d7c0ee5371475a107482ef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1810 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 diff --git a/leetcode/out/production/solution/ExcelSheetColumnTitle.class b/leetcode/out/production/solution/ExcelSheetColumnTitle.class deleted file mode 100644 index 4eb7f572cf9da716177bcb643b4f74d021708313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmZuuT~8B16g_vhbeFn7MG*U?h%qUI&==nzB+_8gr07E%jBjq22@Ec~WIHAP0N#A_ z2l(o%zCa?0KfoX2uQ0%wwh4)4HgoUXd(Yf+?#`db@Y?Ob?V`uB{XGc5u>DSvTy(%*?mbD2(^ROxt*z%$XzI7c8}R zKSwI=94Td*X*@Vdy4u8QQ!pE)$(hPbHyvgKi}luO`#3xc8*!K%HaaHL$svJ~aJK|b zzb7b7Aa({iK2RBfGaVB~pZ3Djp#;t)D0I?67O6Md>MY+YWy4Yi@G(ub|I?3~2Y80% z0MD^PnfG=P6z}f7>m94e@CWLo&j|&!daF4(+nsXXq@!^K3-w9hCYkemE4v(s)k<4n z)SwsoskKYU&tdriZGM;(1Uv^L0A?`Di0_9Yt-bsOIk@y|S8zUD!riNUL-ky4*4;|6 zd|G_{@#_V0?|F{5zTf;^zrfTFqFq>qGC4p=KEHr+=Gd{u%1iQC*5y&>F)KOn5cA~q av4Tff;24WUO~d&I-^1f7OG`{RcybF+K95=e diff --git a/leetcode/out/production/solution/ExpressionAddOperators.class b/leetcode/out/production/solution/ExpressionAddOperators.class deleted file mode 100644 index 2c072bdec27d809bc65341bf63398d78766ef575..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1957 zcma)7-*XdH7(F-HB%96lM@n}~e_;IqnzV$XVzH!DO9f30tynCAI^#B3(}l3fY<3af z^~DFDoN=ZvGQ98#FF|0&Kfnk637>rPndzwK?j{nNGQ-2({qEiG`|i2toSXdd&%@sV zoWNHaMlqklNewZ~Yj_t6Do$xQfMN!VI4xI}P#t)98SkzDzzb;FvgTW)P`!}lDwRxIVC zwZM1kb7iOHvn=ig*X5pl$pq|MUd{FeM2Qpb8q_%%?(bnfi}<@{7xm#ixr_bVED^)N zhHq7_owu6dVN>{6Aid$#T+0tU60-0jM|n=`1^H>vrjv367W*zJJM8^eus$&BeQ}|5BCN2q#?RCSMz^PYl zPsiuDEQc#PzQC7cW0p^W&y0Y%KQKDxX}9&Qt9FGP4fZ0Gr1j)PW~Jlmwp)`t^S;o4 zar#@p=p{GmR?J^va%J1{mf1+jmGUd}Pb=7Jg{~*CT&e5)-rLYc5w4XRZjDt<%WK(D z{LD_B3zV1F*lIRymrx45P`U|y8g`hY%cpXyo%`2=;^}AAZ*)&Sn(I$2;uZb?jq(Qy zh=WAHMSYa+o|hl&9VVGvmivspIWW+rOY*@jK=5+8|e z8ZQ%nj8$WJ6|eCGhr=$SvvPzhuX9C(*hMylH<05jhCHk3)d;NkoBIwBf7(b$n73d| z{a_}4-ho~iR~{f0!=-yhVqP;e`S~{fG&CdeE3&gjq78NU_$?&w;4x>0rhMH-`Zs7N zGe%+ud3o4J$dCbjTxny#%(OAs#*j=jGjhhtpY~>r4DU@%ni(t1?n}+?lWLopfSvnt zNBVPB+f>brV}&DYzSqQ^e9f)k-1-uVx7M5{Ca diff --git a/leetcode/out/production/solution/FactorCombinations.class b/leetcode/out/production/solution/FactorCombinations.class deleted file mode 100644 index 28cf74492037e825da6b050e2b41ee033063e76f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1431 zcma)5O-~b16g_V`L!k`c6evY03er|+#Sc)5-H?zp7Fl308aLDFPzQ!i(@sfr?XPf) ziCbA!G;!y~pJa@B-n2q#U69GVdH4I=bMO54{pA~g`^bjSkHsM3At+c3A%sLflDI9! zC3#y8A%(QO-3ekPh`Rzk8+O_DvI2p4VoyNbbc>e2P~I+EPwPhotNP3+IMj^hUDI&( zjH)f=mQwXz+ckml{FY&QZgtZ=D%fSiv)ytnBM>TCUeiFIv3M?#KQNAsbltO^bl$Fc zbP;8~IijdqwYuX840roXT(114@~`?@hwsM!WydI&(z&u{m8@ze%SWJZ*Deufy~@Vc zyMbLjQJ}cb-WKAyTu1Fpr!2`8Hfc8NRnqLRe+G7VwF-A278uy|4D)c?sI+)Dx(i+v z^OY(}u%TVIUNx;PTTXwnd%!6c?mPx7x+e=99)SCU4$hfxLpGdr|uT9r+7{e{h$VLK2 zu_zF3d9)?XBwh-PT$F0Y||<11AR^R71?FoID^{Btl)FBx2+Ux44KuTWkz5ZF#e zwWZd*0d?sUZ2>>upzjw%FP{nY`FUf_*j8R2@$C#)^Y05!s=nWuP$KE}S&#K%A1B|)m+P|9a>fTafscL*`IF-KyOY+{9NWZA+K zHt~wO0%1!cvxGU%bCz~Z0zPluY_%?RFK=1JcIZ3=Gv1xjEx2><{9 diff --git a/leetcode/out/production/solution/FactorialTrailingZeroes.class b/leetcode/out/production/solution/FactorialTrailingZeroes.class deleted file mode 100644 index 938f589840c925413351fb7ee952d6abdcda6566..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460 zcmZ{gJx{|h5Qg7#+NOklhYz84fURYq3mYv9Ql&}-hE^SzaDr7_(gdX`KZlitg$ap) zAHeTnM8G*@VW=hF`QCf|_~ei8w|4-?*l}RNwXtPmn^5TKP$#DZtKFFra%a(vB2-5@ zR2Qp-r{an90#+KM$d|!X#@f`Gm`iT;lCU=#NI!|V6-;8O10Bw;R2-@0389kwQ}~7U zurnl3$eXjZTrCLYaU%V@b9tYEopH2^eKpYL>DC(h(Of>r5^~5BcGq|aHRI|AGMsfU zy}9xe96<07m?gmTAkVSDRhKhy&L6&lUedPBv5<;{BA-it25i9Lim;g~=CYSTU8~=G zM5S2_dadSl|LNzm^~`Mx2Ia7c`KUA0;P%rw+zbb}D5Jty!Hz1Q1ZwQEA-*8UH0oRm GG=2f430Q&v diff --git a/leetcode/out/production/solution/FindAllAnagramsInString.class b/leetcode/out/production/solution/FindAllAnagramsInString.class deleted file mode 100644 index d396b2c1b07cf82a9e313cb0388e14f392f5596e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2084 zcmbVM-EUK69Dd&ReD$nsYyf8+G7Yt3fGczVb1&LS7H1Wz9V`5^$h5id%5bE=uc3WlOg-v_j-}`%iU+?og zr$0UT?hb$*IBp_}q={X4UdIb2!j(<0^z@n7jXibPi+wuwn}{H(qhH4X0d05Q&HH-= z!X5Eb0!nHk>j*TY^R6>gx-{x|C+*P!Jx%F}j9oZodwIF9Iu(CBUlfR?59i%%f1%Lt z+Bwg@R2*nek>M{T zpcZ}G^Jx!oWXH|Y;si}AYw%!_;hBk&%ka=^j8}Z;5`CKI6iWpaTs682g72uuHu|dZ{9ft%WBl(;Tw~OO)=ZtZudimTqS94^de${leTr4<}E=Mw@-oodiBGJ;i=j)6Fj z8<+c4X%x^e+l7)dJVrS%=n+J-n4P5vty%^v7SHV@? zdK2O+8X>IaQ>!@9NIP1!o3MsE;th*YOb%^>!m_~KMuFSrQ1I+ky5ZopVr=8WYu|9!?tJWW76#EAly-V@juGOc{bltde2iyk>DbIVlJQDZJEOMHa|A}2#SI-DI^w~1s}6oU1=Vv8>&qO+ zTyfeZ_yO*tN2qPv?y*>c#X`Kc;I*qV62EaMd69)%h)@saQ0F`>DTz-}-!%_Y>S7vd zV)j1-7OM)36xS&1uW(WgFAB@jWXahs0ly7_y_zcCVrhah13r^$;`X&+;e%lflsoJjfDA;RS-ecKxh>TbFThiH(o~`a@ zpziP32LjX8b=z&19p_=taqO1#t%HhNcFUe8k4gf=Tg>)S0+X4|O18Qy4`m_nZKqJR z4}8`|S!TTy5EZ^QwYb3^*(000Yo5h$^#7)*zjYmT&b7_|Q@hf=JJQ`QR9xTMw!G3R zrw%oI*?Livop2`uIe~b?-gc!Qc-%XCf!2OhW@A6_TGqO)44dumNnWja0ZUKfd!W$RF7)ey~SLlfHT>FH`(_?5gZFMGh`Ub_^O#TGA z-oCHrl6w9%CYO@B{+!SWq8~62!4u*t<=0QriD92G~3TGJf2 zOfe;5Wy(;piX5F{W*igjH1PnFj5HtXPia6$F%YWpX$!61(uGuI$tIn$H%EM)W_!dzY_PS_+k@RLUQ`(gW zGT-(rJ72O|9`VY7v;{C9i)l}>I;XFFeX zJagN0mkaC}t$MQlsw|tqgc`B}JymPlkzU)S3zd`C1a7`Tm`hP;7A+@UxFcX3Z(@@jIr6;K8PS8BUvod))uckvsX6#`6I zdOI{)*66vKE@tTZ;5kFrG69Wu)HW+yyj_AWG1cd2Gz4Pl3!5DQ%b6EQLE}&AKOxX+ z==}CF%X1Z6!}G@w?}KfF-$+nY5oK(20O&(MGY*JBlJKxlp(4y$^%FwRkD-*6LNa^$ z22hs_$p(0gSSJ3PYG@zKA#;;5rIOV4d+3j0KVl9AK2#Aq=B0r#O7#9=Y5dID!5?qnwRtPr8k($ diff --git a/leetcode/out/production/solution/FindBottomLeftTreeValue.class b/leetcode/out/production/solution/FindBottomLeftTreeValue.class deleted file mode 100644 index 3bbed665dcd709a8f5e0305d897100f046c9b323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1195 zcmZ`%O-~b16g{t<4=95a0dW*iQKZ#k6%n*xRS+Uc!4C*VHfCt2I52eTFhyCI__6XQ z;KHpNHzp(oO^hoS{v>0>^QJ{a110ypciw&Ho_p?m|Mlq$fB}rhZ~#diXJUvT*?_Z1 z$_a8VuybX?LgD4>lvB`3%VL=(w50cFf9*aA&Cr({o8Ru*i3 z)>?3h9L#xn%bl})N1kh-5|!wM+xDF0R_tMcmg1hP5Ef`m z%Am#-Q?G?RV-VxsUFWJa$;j0{xcc%`s{ns;rB3ZiS49ML3B zpphT2{EL8+5oc`XDa}=IRnL5c_z+$nWYj`XK@0arH36+?c{b3R>f1t$+*}&y&!GBl`>m;L!gxIo0$6p*VHe%o?9q8hz zm*V@03^6Cerm{GU37CA-fq8VIh~x0+*b{W)8BXFkdhm*`q#3u!*^gs*k~NX1`J0u;zmzDU^`h3kw~QNbFjSjPf9 zF1|&yORR@RI_M_%GO>htVg?*+WD&5N4WC3+R)yR>vQ+46)Ow1!YnURHf3W^T#9k0a Oyce&_valh!%+ejqAZ0WF diff --git a/leetcode/out/production/solution/FindDuplicateSubtrees.class b/leetcode/out/production/solution/FindDuplicateSubtrees.class deleted file mode 100644 index 2e0c2507e5078e2b2e928b1d227ad99694aadf3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1892 zcma)7?Q+{h6g_Lnk>e<7YR7I;0+bf06FUtpr8IFcv<;yF=K~y^wm_+DD~?)K_Q+Ca z;Awb-GQ&7PW*Gi4!#lxnR+eL>_GI|s)$ZB*aqii>>%af~{SN>)(MVzzD;idlh{vH&1E;o`$<1^`cU&E$cd_I9MP?pG+ zhHVWy0%L2IV|gV3CAUx&Q17)Grog$f<(S+4^P1`I88w?os@$p@cGYk#xeh_qJG43i z7s?x!(^&W0wpBMgv*Oo0*EBmtfy}|E4T1Swd50$fqX>vcb`vm7-v0WQPEHTe`#cDc+=esO0cLt?b-8v>^u&p2I zb|>N%Np|1p9BvuyVgw3m3yZZ4r@375T+3;ahVtBK3#22qeRoP>QxX9|nNvN3)4uU~ z%Xg%~roifOgtcLx2(syTX47UBc!ARr?ea?N3zoL z-MYD9$-cWdvbC4VgvY`~VKs)Uk*>m3qLA4K^c6-t{fJVY(W= z)bSN==%`?irUg0qT1OREbnMIF0Uqjjgl}|wi|_hbf|MC;SrRr#r!c;&fpFNRYyK{ud;>m`LeeOfGUURahb^E>4hheWZ)&RkbjuD!<}<7pXsy z?qcRvJQG)c!o*VkH)LYi=RScafk}3MPL;)}L2;K!8Ax%JhK3AEEOD25S6R|yDs7Xd z6tdK#c~WpIESS_$z!J-mvui9}q3v~^&3lZwOWCjE28)z(WJ9Y0-aoOwO8cAK+A1g^X;5pm1!}7(H6;id3Z=QYBnzx0*|6C-!`)N= z0_$`-9WNZ(Lp#%vsXDY{Z=Ig|$2hk1`8G=vM)c5R@_p~`AJ6;l=8u1#Yy-G}yn#-f z)p711*-Hi@_&~>p2BJ7CnNfL+$zxncZwEfYWgQ>u_(VV(cPfs5SwI;|%nPU!ZqXL# z$~qPMX1%;*dvn%OiIRg^w_ug#EzgmBC{+DbrzX&sopdV2saebMY736Pnk!qSl3nw2 z^>S@Y;K16hAg~bV8Omq!nM@*k*Scqo)P1Kkl67i6O@+f>hQ$=>oNTp@>nthW;y>#-uIKn0x9WD?W+270Sy-&aBFu1PZyy`g-Cp`zZ1+SP&u1<(;^7v( zj1`JIbG}tro3^R}B%FYbD+28~XQg8Kb&q8p+rQh;zo%rCmx|WFUW^7V3Fv`ef)EIc zza;@9=hnS~J?Y4SoOnIvX^E?e1Lz{wO^o++MR2aVu3z&#t2%A_t8TH@rQvD}6TGg) zkTh`}lQPJs0*9JGu6UlcA^SIR0~r&aVah}n(`?(sO|aVD*B8d5L8OvZSs9sGx@#AF zu17PtjB8*9vjS&^8hE#uj=d^LWDJT$<6+=wahSHV~jVf zN|6uWK*O;Wvz+fam6cY>9>+O83;$2qNcm>pa3}#xVcH44C322$kLe(wgRkJTUq1rJ z-)x6>xDcIu3jzwbTfV zU*P#uL>8YgGPaTb;GsQ#ie+Vre{ZYB7b!*A(M@V#Q{f}@eu4>PW zMJ3s-rDqn^l)^Kr%shs^a9Q7B6OSfNxVz@qeN~UQ;4IN6p=v#HAx+#OhWw}eWW4* z)lUzFQGdp9oL~h#_#SU_SW%p$UgF%)o%&BVK;0m9ebD~KppMfz&O}}!B3>Z%QvQ1x zFL0Vw%Sk3;hJ4DHRgU@^GsVI@7Rrtc(`bTO%>i$4Um&8fEqJ;~g(MT)h`PmKM^ h`W2+fMYuTgybVg`h|lNj_&j;JEAP?f0^Y~Pe*u>#(q8}o diff --git a/leetcode/out/production/solution/FindLargestValueInEachTreeRow.class b/leetcode/out/production/solution/FindLargestValueInEachTreeRow.class deleted file mode 100644 index 27bf43bdbaacc837ce32b6284d0196f25be1ecc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1519 zcmaJ>-*XdH6#j0q$u{YR{(zuST1xrR4Na+lRBdW4)>Z=BR%i|4@W3{?O%}Ghb-StX z;Eb>OxKJ>z&zI4h7ei&X(_-mgo6KFjgsa%*#425a`ZOUt0;*KD_H2aeizj9S=qwgrw_ zi;h>f?4TjH!>aAJWW`&sYt6Ml%4`0YWr3UDz~TRnb8l;J zq@h?;ly|1v#4Kx^jQLg8nfBhby~bq43uQwFWrfSFhIZ}FlD!pCrDIXY$2=Z^%&ODy z?64JZh_n09@PCQ3t9~n}$wfz<%ILntpHajbIE1{wp*YFj9a&e+vn>OcKt2W{cYF#1 zmvO~_g(ZQWy~8rFj8i&R44lL#2Cib*z%{k3VvPeD_!JcbRa`glnW{RpZ+|?aZrPRf z+p@-E>+3ce@h@Kc8y0g8oxfR}vE;aYsmhZZx!0cSL zXv_|tm>rwWc9F=lWQR=_F)NiKnbBOip=t(Bqe-a~-I6OCyh3Iro^S8)nb5A+`C@Us zsLB>PT}Bsto}F+^$M>R6Q#DuG0ghpiZ@2m-z&?@ZdYHRON<~5$;TqR3bSSh?yhWqIZo` z-y))kVT7ddD~#e>9LIf}!1uhP4={$GP>h(mL^kGdljvbGNM0DPI8)kD+IY=5_z1Hk zSnWPD9Yd0sZwk0`r3H&72bS>FA{&6s3D|ZVnoMy^e??YuXus; VIwlT2$5;Yq2uVbz{8pr${TF5LPc{Gm diff --git a/leetcode/out/production/solution/FindLeavesOfBinaryTree.class b/leetcode/out/production/solution/FindLeavesOfBinaryTree.class deleted file mode 100644 index 90fdd00ccb4fa920fbc9cd09d5375c23f6cb9a8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1384 zcma)5T~8B16g{)uc4=7(ML`9NsHknJR{TOOq5`5dg+4$a`s6}~vaqydyKU6J<0}uE zm;jm>-%Nb)7a8N3c7cLu?4);Q?&mpk?|%RF=?j2ccpgC~k_J){Xh=p7#c&vDTvg&) z1Q}d!M>|H8xS_;N1Gkjzb_91YYT&Mcdjg>`yKH;o0)a$wK|r6Z6s16C-Y(18+QyP} z=dC4&n(lmM*>V;v*H(95se7w-Rp4}f+AbIK(yGg9VP(QDTke~ASIVqFWM$tXa5j-w z>RFb^Ci81n-OAKF+sWkZsz+bltyDaQ95@l4E2}k!+O9wSdk;f;v$+Rr^oZ}+@ps26 zmomAsCri@Jj&liw=j>A1@@g&_PyPe#|7Q%XN@r8L0`Zn~NAP5mIf0-f>(UVrJa^1_ z*7Ev{wdud})Zb(O7l|qnnXA;?WjSrDhV~!dvumm?Cb|$4IN92w^13XlMwvK|3kL3+ z$fD2082Su6FfopYCLZCji3v=an8Fi*XluNRoW_uWrzW0(XnKzaz*aZH8r>-@t;uC} zzin@BI3y;`aP9_ zMxtoL!9W{VC&G<{gUuj6A;WP7eN5a&dq2)Hd7Sa8Y*RBp%{gi`4D!#`Q>yYmpmPC* z;cp0PTdCoX2&($(5K@O782YR6^e);s`|l7-`#5(I*07k4?;@h%E86LA?x3Toj&Cug z-T*%UgXa$3qI{7q3=nF9rSFi&4B@NSNi`wtlPUOQ2+JokfDv585J~URYT6X7OUz(E S3;je!_#7{j_Z6x&Bz^-zc`RE1 diff --git a/leetcode/out/production/solution/FindMedianFromDataStream.class b/leetcode/out/production/solution/FindMedianFromDataStream.class deleted file mode 100644 index 93737c7dc43b8e12a1a20198a0459f35c6c749da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1207 zcmZ`%TTc@~7(LV5(z1Y*S_%l>v8_nG;I$RO)+QuHFf|x`a%iV8u-$EzEkXYP@n0BU zd^9FATzJfO}xVe#AG99rY?EE}EtTm%xA?*9}^USF9R0*0?Pd_7_9Wrrco|uau=(Ulw)A&9ZGZOWfgA z#}>RvQW0LS6BALVmy|-#RDdlp3{)Ln+g|1^pDot-$Ku*4F~q7?+pdYSR2C+Csm!XB zbfhrGFxn$A9V19+c%b7U9;v-~9ivF-DB!V>aUU*9E~;I@5KBosAUWSo-vd3RBzV zMq8{j7?PCkDVNO&Jof*225g#5W{&~@Yz3*ALXc!{f5xQG5QV>eMP;d z@F8M8q_$tJ(%&b<)yzZgTxkcPw37%^jg#I8;S^@*6nW~Dhoq^{x% z)Ly|=-`1Xg=%Q!iMEfJAy#@Uj1`aXknef5e{RD=r&lvu1%l;RaU%87AIq2-2M2fx} R8{sQ4N|9Joa diff --git a/leetcode/out/production/solution/FindMinimumInRotatedSortedArray.class b/leetcode/out/production/solution/FindMinimumInRotatedSortedArray.class deleted file mode 100644 index b217a04022496a5f80517ab4d37cdb60139777b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 603 zcmah{O-mb56g_w5&5Vs-(RSJj303Gq6G))gQd$j^f)I!;G{ub@UoxXUJ0E476#8@O z#!WX}2`*e0m;Rj6uk*(2eT#d~J@4FmE^p@g@8uPMO{~=5;$eVC0UitdEt8qDCvev{ z_5|u}9>s#ifyv@`lXMgpAN439vpmShI@!~OvGtTx<*_*xtPOTd7VUCSI!XK4hrHBf z91Zh=@l8?audfBc;jKjAt?&0Y`ZP>UBoHE%O;V0=_AO50!;+%H933;y4@*7%w5vZ) z9c#mUQjFsrV|RLbhi&IXf6;SL@B~lp&wwX(NWl#8+^qojP-7*Str*+2oIB5=3kEG~Nj zdu{zdpq}SpB&Y{*7QGs!gQ$3`2MIe1K|a*Ufi7ZGPn)VdjXww;1bcB7?sHH&O8x9j zUg|Om`+33mv?%n2?{5jb<7<(?Sv&OCeXdO7P#{Dq8>Jj%9U7cO$0bEYd~(WM>z8`? zZePEj?yU6lQ8A46V&m%Jjf*>H`dn9`;0RW4R14;ezMJUmr2Bes77a_R!s3OQ&jQ`S zVRTt_nT6Te_zL+lp*==-(iGexu3if;g9d{S= zagh$1^l%?FY~VKeI<_%~XIQ~5?%@Sl<9Cyu7RlDAQLKZhbA#&C^M&vd^JFbf-Ngct a%@bhH{R2m`Y%}Ku9iqxX#59YSa?GK diff --git a/leetcode/out/production/solution/FindModeInBinarySearchTree.class b/leetcode/out/production/solution/FindModeInBinarySearchTree.class deleted file mode 100644 index 23133d69551095d446e664bbf4f2c6138c41f7be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1997 zcmZ`(T~ixX7=CsWSdwh`C?TZ?K@ltoSd?OE3k|ijC^aFip|n6-yGfR?G;BIcg4Jui za_mjHmvK77t;`S+?R31dGyV>Lg)@FU?|NQX^wpe141=3IF_V>cVfn}b4hy6+E*;wa6U_$hLc^LcTAJbG_BOM3YrHKayduSiKwJkEar5I zMfT}GRvFY)A0bkIwGMEw{Tj=n<5RM zS3%dS%jWzYr%z?p%q($juCHHa)Vom~hQTNa@Z?Qibqvl%>qe>SD%4qasWxg&hr}^J z!Caw}XH!N@<61UTD+PZ)fOs$dL` z7f&jB_z^KzCSLANEV)C#ad*Py?!?L6i5&L^#vqeiV?2#;SL8Of4`r8viXpCz?qxHE zDeF}Oyp1zFDRg;M48WlYECq40=;TPYcd$>n# zdk&zf_!&*#!LOk9r;IABbo;r~FPoRfe=$zM|1zrNxt>m+TMYC1oI0CRW#ygp&VtuF|sy{AffLg_%Zf5#@?pb%XM~>#sxl{ zizr|MpJEbUQu8$~yJ&^09Ufuyq=u0oqoJXp-#6Y#I4&GC0FG+*GLe5$+uNcLVFGU@HSeH zA>ZLacyOVwAS{Kv#5ry?L|xmE&=cChrNjGY7!|kBF$sN#s%@N z2lx$siTFD6bi*VwbMCqKo^xkjzn)(JEMp>$2=XzE#V{_2uDQM&R0WZR;-NrobXtxe zS$BPBr`K*c-2>h5$c)xIP3;}(u502xse&{2N|3JCT)(yF=!;FyX*+(fN`;fZl)zp% z+A40*sO`1{LZtj&o9)&Sv3T5F!N`7~n-|;qvTqUJ@ASG&r{Kz75w0`&fR=8(x1jc7J zbVv{-?K~FmNr!gqWK7J)@)681bDpDaqhYTx| UP@jm2d|*o6q0H;Eq%Gur0Ee?%P5=M^ diff --git a/leetcode/out/production/solution/FindRightInterval.class b/leetcode/out/production/solution/FindRightInterval.class deleted file mode 100644 index 75be576c58701665b4325269f00b7f681e94b9bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1468 zcmb7E+fEZv6kTUJ?J3hiQ7i&p5WKa37EzI#R|KsVnkc~-o`y2k!EwOpl*D(x#1~#Q zG2$)6Cm;L@e?w!`b*2N1!i!CME_<(iS$pp@Uw?hr0B`{_2AWZj7%-rr(1ddsG+^L- zhPsRDI;2jQGU&vx#E8<3N{mU23#7&!&k3#wBy#yV0exb5(H7WSay)yc{&d0iXRQU7 zlKrLSisjB(zN7AuP!AqEHG$UBl;bVlbE=Pnq8Hfys^yLe?0fXDkbZOXr7cK)z9=9Z z{<$Y@FYupBFq7n@ItrLY&$Imr*Q(WQM#+|ztW~Q}4;;5JZLORLQH;~%L@|lU#N3mc zZ`bN>AfTy8nN1vx1=?fYW~^1Gs%TL|hi!jTeZI0u_j1f;D}(Wd(6zj3K~byP{@5;} zD|CD2R zHD`TWQJ1)8;yT(*+`t6=nz)Hc6H`iZ3%5-aac9#mPS?a;l&IJdPM{?W5`xPMOLirY znC84}hu$h9)7_TFizATUoEVNqEwFqxRC2`XcKH#la>e{E<>oxE)CnBU#gvT{;@ycP zaSxG*4s36cLs+pL*YT>+Oy+m-7g_HZ%yiWb=2V^n2XecHNOL431fL&gw0XM*tPHwg z@@1=^2BF%RPW=O3WYlM^K3Q%XvG2E_5tGJt|Kv%7}B$P-^NRHo$1T!gKwa}Lo%zD_edr1;Ds*Met+9SU5rpN1f(^LCi}B` zNAe3=J801)@EOKiWY(Z-<Wf8=m&vlsL>-=& znZ6=(o7ff{C$60y%KVOX;0UdUFcQf~C!(rON6|&HNw_%18fuKOh#uM}aDv|2C~5dO zNlZg`in`O(O(XRSEfP72y!e5hpU}i_3?L=ZE72DzB>JK8OckrXLzPe}@tsxHNJ};E QEDm!wm{cbT9!fR+0pWj8kpKVy diff --git a/leetcode/out/production/solution/FindTheDuplicateNumber.class b/leetcode/out/production/solution/FindTheDuplicateNumber.class deleted file mode 100644 index 5d34df0908ff82bbe937098b76f042462bd16d99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 642 zcmZuuO-~b16g{`|W(G=Ipg0u-zhX?NHElGeiBU?T1Z`4f0b#?2*Xbw^r&CgAj6Z;1 zf+pR#ab@D78+ZN`|A7+0GehHwnasWCoqO-O_rCdg_I(WC5tj3?u;^mR#WjKR)I=t3 z39QxXu0TB>^a8yB#PNRO8V5x?OjBoG_F5VWjogXyI1;X z(l@_7NQQo}Y0}A-FK=Ey)E{&K3bvqfd5T~zO=^TXdfV9Q9tM7l+sN^H(kBNF1e@03 zsX;IF_PuYAuUXiobuv<6inwr*fNA7;63k>wT6{{eG`p?VYGc)Ftz16=&AuHrmDRMZ zrsFxa@d><|=hQv*3C^)C$BvB7e|fg2K4aQbtr4a?rS{iG=Ra1yP|V6Cn zZgtU(F}l&jg&)ArVEiD)e`f|VR&;akdw0&9^LuaR^Usf;0BoX`gTitSNvvd0&A<|* z?;6hpZ9%ebcLnPH&~XKYj`7@wXQw^af2?~0PD-6&Uk|$4H{pIVRKbxM3FbT7#vcXu zw9|F{kr{e-=y34&h}QKTdxtrv#t{ft;&C`|4+25TH-|^;bGw1=pFGe{CIQ7Mms^6o z8T|z1#~Qx;hNda@hT5vOt=dbh zSvAX1&-ZVujf#4Y#0z9As(p@`ics1tR1M{%4 z5XEmYqJ%OoaUPzaF#!ozMb3oCHuVK|g>`BROjw|j`X5jt-}z^JgGx|Zj@jQ%*qdYa zSGXRrKfAy_OKRr={g;2}mzcOr$`z(sq_1HOS5fB~8eD~!H>O{V>6cF;n0i?N diff --git a/leetcode/out/production/solution/FirstMissingPositive.class b/leetcode/out/production/solution/FirstMissingPositive.class deleted file mode 100644 index b82bee419b075fdee22ed820b7e6074a820249e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 761 zcmZvZ&uSA<6vn?he=_Zunl@>sjhzUBlqLfS)KbKM2tr{XF+!vW-E@+U^`>c3GLyO% ze2<_mx^d&G;35wo_yBzcA3=)syOYsX7WbU*oO{l_zjN=8Ki{VSc2KrqpkzbG9Sa*4 zT!G9JIgs%)0e!2oFJQbF9)$wAh8%=1$ETfe^g8JDnaMYX-Jri8jHHUwq!GW9k$}_K zlcOkZ$|#b9<5$B-#_~LTEU@}^PF}#=I`AvLfRJ4D#$bHPW3&V6rFI;2PnyBmzbm5m z!I^-?7T;HdBIfD|*zMtX)D8EfqASej}?hLb5=;i2JayP4$o*&v6?*a%fVwkx#0s98|+DcXITPP)Zd!*{NnwY8fk>B2Qg_ zbq!6JmESP0Aw-^@jeOs9%nv-!WTE4hCn#`;U4yffYb~!_G+OG>W{}RTigt|`t@DZ! oir7e?c9>O{7YU{Q!TFEkq$nykLsrURou1(FzlsD|W0QvUzpsjb3;+NC diff --git a/leetcode/out/production/solution/FirstUniqueCharacterInAString.class b/leetcode/out/production/solution/FirstUniqueCharacterInAString.class deleted file mode 100644 index 17cde3bfe812a4334a836bc7692f852e4fb02509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 790 zcmaKp-)a*<6vn^F{?nM)7+qtdNo~}aZT=yIfGC9$s07jmiS|Y>oNU)*YuxB|BY58j zk=}UI8*eIz^Z|SiuY3U!v3|3SCSD6=$+}dC$P}-18;Noa_EJRA| zmU`=cxEnnV{MR$DGnS!rBQNX*YlA5CgV8;K^z%Ogl@_ooy&d^RHYYL|HRmd)DAu*IuVSdUud;=lh1&wj!E_e7-ny?^D4j~#P(UeI zIAfulLIq9=E2ySWLtUV7>RExz-*)=L9nU4)KcSNj6)$@`7fsb8tc9U`%LlJGDrio; zU=)qxZ(vWRs}wAvSGrCI%P{zbY9t^OBJEl3np_1}W91{nhd7<2HRB*}qMteua7}Y3 za2^Y^>hL${ECoEw-o*DxWxDQ4I>D9A9L_^hI9g5Ut7BU1lE;uS>sABn8@{ zsz@(`3sl{qpT$MiA>bTdd6!@l-#`zSk>hJzVZH?8SRJykXd!Rms)cKU&+;9GpAaJV MgL?iTl?fDo105lm?f?J) diff --git a/leetcode/out/production/solution/FizzBuzz.class b/leetcode/out/production/solution/FizzBuzz.class deleted file mode 100644 index f8525b7bba05273e042dfa4bb787639245412dc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 901 zcmZ`%$!^n76g@9-W7ip*PCy!HXdwe30l@~P$^t~CB9|fsg<JaZST@ z4S5{}6jf}gC<#P%Y{z!%0^vfjDWE*)cPxRVVLR4i?{&)>J~dlCB59-FHhWETXv_Ny zRNPngNI*As?eX}&Hy+mnw8NP%uw2+H8b{`dS@m4IS2gUBOMe z1R;g+jPq8d6|@Vb3B*S~oZuPpK?Oh)5>Qogz)SX<#IX__?tmg4Uj}R`w80g_BJd||4hmsSX+Udr^1l| z6&htEDP)!R3@6JodWVzU<7^K(*AvE@Soh~HF;|Cy6|%!}%9#S`tr6olBYzzisNy2y jQs)%8L?lBbg~%`HDmKJMbV>io9b}1yaGA_2zPI@oDIL0W diff --git a/leetcode/out/production/solution/FlattenBinaryTreeToLinkedList.class b/leetcode/out/production/solution/FlattenBinaryTreeToLinkedList.class deleted file mode 100644 index 1d1237617a1fe70a1b3593c7526c010efdfe4623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1593 zcmaJ>OHUI~6#i~I?Z7aVBDRVOzNPK7Q~~k9OGQDnR1=6qR}OT9(Xnl&g9%1g`YT+z zVXKLcpowvXi7S_`{2|8Icc(3_N=({&&pqedbI$jjbLZ2~x98{SXmNi#m zgu7NDXIH#o0rhs(K_HUINqe4YhGjxw^FPhRZmHx6Xbr1CsN$K6cLh3fcg*`{cEz)u z?5tEVqT(>JK(xtJ%N75#($#Xk+U_P_Kg>uY*%(9aZL-T)f0-lxof)(2gD3wg&I`2E zkoA+wWy>jBu0XsQVr z#f(5_Lvzk`%~gp+#{@30TpbrNsbdP4bWEd1$7Nh0gnC1C^hsq7Gdl9Psv`wMp!>hY zumyfX$1E;ouP)rN7TJ|;jT&Tn_TR2tyjS*C{V}`A)hrYQVu>o_O?QWrv?}G5%Cf-G zt<3-4kh5UjW|CmJR2JBgNN(vU@=omHNuUe6x$?3YWv~!+Pu?ML;|+o{@1SrG<&BTf z(ytMI3d7hySH@U}8o+$oc#W2M<0V>iYrnqILHmHVm(Y3o92`<&N@g7qA}>6{KqjWF zV_N|95Ud5#`6|_OT8U&m=~v-OFf1hAL_)b)$#4Tkw$4_LHY5Jkoj)K^&rIoSLfb@TTnu zZAWQ~A^ZbT6}>7FT36&d0^%D+7%W+*663rSpsSi9NA2^CPRP$4m@mv+vKulF-8Sn| zYjp`Z*VVq@3w>l?rr3v&@jN9NXVe)f=oIpDKcl2K5I3ZaBpQHsv03a?t=M*);>{kG kxr_c8NIWfd(aEpRYaSDv+OCpGd& zK%Ffu6DpFmie|35x@cA&8jA&HIRGzGAj^mZYt2-h`d&=p$|6I?kDF&vx>b%uB>v^UZFZkMXGD`ML<~mWdzz> zU+)@aS0Hc7J@b-hx?&?9oq|!!Cu@!hXe)-DGi5~}Hu6;9P($6l#b@S{LlaVUhy7%o zx|&;4byc+%^3uW!rD|o#oVVmn4E)#ZF*zSP4&w$jHqDBTgE*vP7(E*1bj;(Xj$4qD z8@$kQ8>6!9j*cwu>d0YC$2}x;+?N}1Bm{c@%YYZ`_H|A2baHh5QK<=a-Qu{l|J(BB zL$$3})JQK$Es!@|=QH)z?^+tNY~Le+Q~ns#^-b-2NF$`zsk3%b?)M~fG&)c&m1#GN zcA+)Po?9(DYw93B%MMTue~NUI&n|xR3c3+wd>B29dzr~2zzFDyZ$iYsLV2=@z-OrO z#3q6txe>q-uANZ1hPZ|iK`Q}u^fA-z9Y#Nn@{KSUz%e#B&RFNu%M9+eA7VZ4)o=cT zPl=mOY@vnYyFA_h4(Aj7ThJ7I$AR4F7D57V5Q%?+I=X@I<8`#fnQavyzt_s2^*_HP zOVwpL0F7}3ZIs_b0|v=^lw2p6o2F>VIL_K0ay)^P)E463;3=GTRit-Sr1z+h8L1*h z1bVSUT00olFtUx%HZAqc9byHij;pkGl27SCRFdC-PC;8}6ZpWK;__{A_xoI4o?B6$ zgTNUw_i*MKaoXQPQ`eye-V?{W9S`UDJ~)zZ5K8-uh+ZSLF&{GNLk8m;h&1yF*5L$w OK8mj}iL);IbAJImXGm56 diff --git a/leetcode/out/production/solution/FlipGame.class b/leetcode/out/production/solution/FlipGame.class deleted file mode 100644 index 8f6dbbaaa2c427ec667b28f4f983aa61f74d39ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1218 zcma)5T~pIg5Ir|dNgBe3m4b*>LDZH~>IYV|SQP}UQ$VLo9epBguO$%DPLeYCbM(bm zeW`=Y_yhbU{sw3K*qgQkQk=1!?A^Qf?B26ylW)Jid<8Izry2$kS1_ePLR>=v(<+i; zol%g|ptOQFgm+WLEpc*NY-W3L2WbU&70fa8%$v69Wf=moc#%O~tW`L}K;E?ZT4T4w zoeiU8Q6!wNl?|(CIHuUQgR-|}x(r%=*)r=Z#xBn=j8?hL9mC_#Yp!b&c8%|QtF=8& zz{yyC+t@QwmSI;@1HcM!|g@8O$?CiG+>^prMVNlyjkBS{3f-c!)Ue@B>O;peRv6UI#iZU*mG#m#FO#7C#~HXn;Ui3IaHPJ)?W(uszdAH2 z#h=>x8;0Riw8_N@5^@_Q*B`q8<#O%WAAcRFtWmFXyTXt>rA&85yJMPIBzAg1)vI+V z55>9*P-eiW(0!5P_qBw`#9w0^1N5bdp9Ci6L-s7~QnWH!gHxZuKKaK(WPALej0pL9 z3xHva(2n68MyZHM{*EC1f#M;gSDz7B4P>KHWN_EDr8k69>N$jYN!`^ z;`V~t+MtF6(^+COhBVHTl?n3<7sw0HNwLjdcu`!WE>x`H5-w9G<8&^1Y(*w0a>b8G WKcOj@WIvF@RfD%4++|zw}`s=SxUjUS_p<)h~R9wcDD6aBzS-~|G z@-Ug@UM`9}zcF}lUBxU43RV;p86q2w=lEL;Vm7zOAnkNoHbcDXc=qGLQN!*%u^KLA z^lGPRxqDX6;qfRb`3Fv)L913=r~AMUa#vZ1vE3Wffh^YZvQ&&+*#j z+;axzbH0fy2HEji_G{nlE>)Zdg;n4F*`$F)~DrG_{X z1k-R6w-^M&&~O_ihSdKBw+D{fvU?it;I4*ySS56!z{52S>nLkjK#Ho33osd`R3Sx{KmG=Z))1(Pn`t9}@D3G27t;ZxtxWnY);>dic7li@W&$VyqI!&s zk&*WUsN@BhS(oyQQUL7@Wa&5~?Qg#S{ZTw7N)fz`WyHuz;M=ZKQzOR~7U_kKRh-2+;t}u&Y4QZZ)J7t>mmwU(dCDdr{(!)KVuvZX@I4fN Jk@5nT{s5>eyFLH_ diff --git a/leetcode/out/production/solution/FourSum.class b/leetcode/out/production/solution/FourSum.class deleted file mode 100644 index 0edf98786fa61ea2aa57f15a81d255011fda56ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1387 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 CPvw{Z diff --git a/leetcode/out/production/solution/GraphValidTree.class b/leetcode/out/production/solution/GraphValidTree.class deleted file mode 100644 index c5ee0e3a12329d8d2b7051a36c892d960354d507..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2976 zcmcgtT~iZR7=AX{WJ3r9lu%PZtsgXe1P~Q1P}EwLC=e0FDpp;{23A56lMRY(r|q;( zzpgsHveOwIZ@BTMH(F}z=v}8Xj@SJS?R3V@bjER@^f_nq0ZMOsvAgd%=RNP&^Stl= z`p=IK0PMn?7aK6(#VZ)pFyw_(Ec}R;<2Z&jobW=kk4MUJ5~sv#Se%WP<22q8uQM9X ziYsFp&UsOdfpWZy^Wt?uye-?r_O_^B*RRc#ddU|S9PnfZj8N=vNP&QjwD9}QYv9UaR{LFB#}1}c?wtZEL(dSyX-0B6XXNOy zdWETBvBlanzPPux0}XM~mWYm|a+wL^uqjBlel@S!1gt&;@v0ADwDG)z^MOo8pA%sF zFo`J*rVp3E(5g!+{d#tai2Lvcx`~7j3C#GAM2eO3A&tvEWI$-_D=R_v!NQD!nvyN{ z$Fva>{usCqIZXR7D=b_=)`zRYbLHyb*(UP3v>P42WK0mcijqY}#x5(ZBbJfTtrRQl zFKx=A3O4JBoDq$ayP-(an&hY~T@q1}c6yBD3xrl^+fnognyFdy8Vk-Lz^?MJQ}VuR zLwWPEnF=w9hMLl|L&jBMI3x`u<)WsbzamX)d(5Q8@gO+jO2y*_v(n7$p_#PBDWIlP zi3Dk!F=kS;243Un+rUu>xS&_LN|D_|owaiw50 zjmgVO160mU;C$Di`j6E8xB*tb~PRUwo|Ip$DgostXmAH^IXgyx59LgqT(nqYQBs7W73o zQ#yj(oW^@G%AIrQky)JJt!k{p7HX>0s>e1;F6#QRost`k=*pimqkOhPYUHUX(RsX1 zKMs05PM^(;sfD{ixV=koYiL!Tqk0hzWeH7+@(krX6am?FKF5nr?o_qZx7FW-m!CK1 zm;bIWCFi9Eu#e{V%YZlA`o%!1q*D<{l?>A%-K)G+K_Bf!P);!^7qza}{S0RjiyC5a zAI>xPppHmD{wM;nCyz&`fJJTl0j>qO9XKtw)i$~9EN#o%zubpLTb^#UIUH1-j(aHk zRsa`N7vN>ax1g!>P@N(@Rbtmk9sv=Cc9ba|W8IDt$w4MH#Dt^#!w&K{I*d3@aA1sZ zHk^`W=qJNGMA^n|3(>SCCRi-Z^&&>s^BB4C5jwDgC5+QcCw4N5UG!hea@l9Qi)URt z6G+xWTY^W!9s*e_fP9YbMbv88Te+XV3^CyN7ESXPZ3x~+TN`Ax${mo|w={Gvz^9VYpx#7Hb4#mSG!zOqzx+fJ-7eNfY5oF{y-0eF6Ws~) zBgT@&S*A%@m_Aaro#FJLmlA_1mLn=t7fgxD)CI4ic#||142+_WQmGtbr-Kbs(C=cB zq8t@a{fj8mu&?7exAt?(fdf=~t3Wk}s9YIGg5&?8+I>`$bL&KPowDxh$x^bffWc`| z>l%evOb96;tImpdxx)c>9vLmD<&o(XQXUykPz`z(P{1+h5-VXn9Q4pYXTU9e)N*Hj z`QiNXjsNEPS#k{g|GAJN&(jF0yJCN!*=xP{dz+{PUP zYX+(Uxh+5RN2`--yx+d>WNgtl-Gb?#_fOX_JwI`mF=-|dm{^kfsY zp4q=SBVq!^u?!M-=LHw^hrk8u{G+np7bx2kdl^DBYtMNPa=aMo(ZGRF;AzroPzuWI z`YFVxG(5#KmpTnt)U9CxikPOw%Yqp;QN?G_k)_=D3hmh`GTZvn>sIE0Ue=f2qf#$Z z(cirN4E+pQ4SVl&@!{8x`bSpiP$(7RfSvNREWTx8R4MDkP{^C?UcxeFF~n7@ie`ZBn}Of~Z`c9pSf^c10;qhz2W#7|tu5?valV0)$A_zkGVtsVdX diff --git a/leetcode/out/production/solution/GroupAnagrams.class b/leetcode/out/production/solution/GroupAnagrams.class deleted file mode 100644 index 238af99e9ea45fdb8300d52a7dfbdb30ec54a119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1542 zcma)6TT>HB6#hDw>0}s0#h{}u-ZeomE(@#%WW{(v33$PRQl6TS3L_ztnoO+n-CwdV z`?OX10=iULzFFmuTKu|+I+0jqs?u}%obR0TopZYT^Z);S05FCpHV$D-V%$ayV>T>I z*!UCIB(CdCL8~VvrX+6Iur(rv=^mu~Uf{PHGj&xB)Mj&1ptl-T2wcdn zlwPQpDqmCeYJM>cyn1yqx2I}_UM*kpnj!sSRfCxaI_rDY_*&!n2wbzA+D~el{&NvnJ8BnX1oYEbI$G~y zsLC5;W*Ti~b&m7qfF(|HvI6NvuUc1OE8uMAexzT24 zO!kVNhl9iD7dT{QW5TuTb#NPZBaOz0(aP>u{%xFEKUtCwgOc1D7JQUfSK2m#x3}a(3$Hfl_ zPi9w&`t--E749x(BO~66`1P!sFcs)A&H&B z37n)fj$!;p{}g@B;1o_X;vkBY2iXjk*e+j7XK{{gNMQr#86k#?v=8XF)OcPpT(m7q yUCv~R?~;rqF(h$WVwkI7(|5_u?o>*QNL(>%UIY3N{{~>BtNh3CJF|}(>5ngzv0w%O diff --git a/leetcode/out/production/solution/GroupShiftedStrings.class b/leetcode/out/production/solution/GroupShiftedStrings.class deleted file mode 100644 index 701116fa98ac92a24da3b2cd6e3d365dac16c588..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2336 zcma)7-%}e^6#i~DyEh~Yg+ic9Yg@Ig0h&@<8Y^j0iY>*aR7(Z>L+wJAuq7mMv#CXW z?2Ipca>g0;u`hkq7g}V7@y!_@{0n^W&v2Zv_}xuHg2W#a*uD4ccfNbhch0@{=jT6c z0vN&PQS{-W#HA=gxEMt*CS$maDT%iwu0$bmQOz?k7`UoN(=lAbJ2AYA>*_HR#SOd{ z#VqC|-jAY7k<8+z8r@Ql+Y)yqJ`ga@xdqoB6VMU^vjX9XV%8DZlW_~qbY*4U@ow1j zd0O^niVJpr*7jUAuNlMsl3NytXC}R3r8KkTF8WS(#`oMpuACMybAh=!7dV=@ow;Y< zw}~66j zQ7d*yr5NxB3tzQMYF*Evckj+bS4;I|k2E=`NYCvKaEvUIO)&DdKs5pWkw-D5S_8MG zYC%1gR*vm6zP+%_#e*^hl}<=}DDhFyKX(P%X53uC_A4H>yz+m_Qd{f4*EVvFf5XlR z982uhr&jFd`U{8!{!g&=vhLy{hf@Nf^1Ohx%l|^f&1W4i&6bw11)?*>inriga#e%w zYte%zREbUOgC)?_DEDQ%yhL?OypB=oVqzYQp`!s%WfACZ7{)!%UR72TSvV#Zku$Lb zSK^+DW#lF9npi=>L=h#4k4<-0iL--NKXvB*AguV?(`b9<~{A5Me(WYU}ide=v zq9M#Z)WwsnXEn_9@pZ%m)?o^ahOO{A+6BJBVKwRy0jF;1&#)(H=~ee9TfZj1V|3vl zqcQB^IKp3)dBkvxd7VZ(&Y}b3{FcF9-gQyjL7cm_7hh1WM-=KSO7%4vloHqJeGDfl z=1aUxPvd3&j?i|HEJtZG=+!~Q5$H;lnqq473KCQnr-#j@)27!%dE9E|C850 z)c&sD9-nD{Q;_KYpK*VAr?Nw_W3ML=W@a>IKH_kwzXfdhTtQ6j1#b7~vwJdEv-ieR zzpJ;s&`;?p$@PJI>Ly{rN+N@lApaCokO{ffp*!kVcRK^!4b&UnM)6i4(g`faIIAjA zi00}Ih1E=Oal*m2a TiX{KQFnB0lm?MG1Xdw3pg63>f diff --git a/leetcode/out/production/solution/GuessNumberHigherOrLowerII.class b/leetcode/out/production/solution/GuessNumberHigherOrLowerII.class deleted file mode 100644 index 0fcbf05431f4cf4771f8862277ee4bd9b4deb94d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 819 zcmZ`%-%rzE6g}Vewbi+SOzRIOPDEvxWiyMJ7zj!$# z){ec)L2}k$R!)X-82ldL6@v(M(4M1LI3cr?wNYtlqFM_jY6Kb zRvJVK2heI|!!%6o0D4*5*Tv`l?8!P25^1!raEVAV ze+!q1;yiEfcqbvcLN44&7gsULC1)7VKtDptKur9FA&xL2#33I1LHdv_`R_6%hOz&n C%bvmj diff --git a/leetcode/out/production/solution/HIndex.class b/leetcode/out/production/solution/HIndex.class deleted file mode 100644 index ef4e5d40673431e3059f614bf51bc540b59dd5b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 915 zcmYLH+fEZv6kVrtW~Q{|A~-^E3Ize%4onk6YJ!$TO^gk7SJ-;EdlwcS*-~SuKJDI`q4qT)_UfZ>x>MqHY;9z%WL`Jxfhhd zu74;HU42q&RBOlg2)C;|0X?%_%9aF#&qdo;@dGdLn+?`Swi)Q(47|$zn)jxMWp+F7 zuza6ukE_A;D#Y|dbj5f?Ahy{&YE^2F{g76?d$YUez4a0>5jAl;fef-HatSz?PhbJ_ z#OT%u426~Xy4QG}-ze|ZD#2ywDDdm~2d$R(jtu2tv&D=O!Kn;fHLZEUE{ApClboI@ zDUI5JcZ@0M9CP^7AVMbG`*_OJ3R*q)8R8S22x8m~6&ygEexh4I+s_lP!yxyt`8_26 zz?^fAh*oskvbvl)#hC51Q&lJBodl=pq;^} zx-rL097zn}8as&JyF2uT*~5YHa~WVZ!Y&Xq@)vO-{$Pwb>yn?CAx@O}vePcwa_4Jo z-C2@J*)Hf>!LSTV{{TBFEyFFC3zlh4Q^;W_=6m{-+L$#R++Z%~nm zCCn=2I*N>rG8R5u`Tq>cy%}iiA5$~vBU+Mk(RhP{amJ*Y3-x#Cm?mzTumx9W_}srR Rd4Z@9;y0NIq=+BE#6ML*i~|4w diff --git a/leetcode/out/production/solution/HIndexII.class b/leetcode/out/production/solution/HIndexII.class deleted file mode 100644 index 3ce9f71e8875e0afc8d52d422b959ff91ad7296a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmXv~K~EDw7=5!lv!x3y6Pj;cSkz7Y|XkD5B?Yv zO}KFJWa5FViND6H2hq3NGKcxz_vZWF`@Z>g_2Ux21KjoD;!XuC6*L9BCpNYDK)~JT z90g->lPAc*F4mfI*XY^g>z*SVdf#Li(+m6(+FiFuQ=HM7TK#@c?aqqi^gyP2QA zKRL@Hvtx^iYS*US6a7IiKtj>tniOahbT85AaqrdW#6&sP;BfWgIG`64Z;x4zQ821| z-yy!0&lTQYNjjJ#UYHi33ZI$4e908ezbRQ%?`>Xgxr3IB`?4L#FL=be9m`Kgebow7 z-1h=+Gf>^nAh?*~ub2;%JQ|#%%E-p^e?MF8_=0Lv%`Sb4IegC0pm&q`Dr)Fp5%nQW!Ad#lE~ja-qJ}ybT*W$T>*bnzv*|f2dv9Bb5PfsE$LR_3ttLoe2Nco}8V!xcNP=2m=$GRH%g3F8!)Rk+O#BW00vj7E z6AOQUf5zU#kJ*z(b~E#4-psz4egA%a15m@30~2{08#Xoxv3=#Mut6|OBHblZo>ChiVo|-}UxbVep?KSfysO z+$4}<(|E;p%{C$=+M#quC-Pz;?6iaV)b);(9-UiK-yO*sDtd9ZyAuRSW&Z>;WXjNW7&r#WCAB#xB3dixk2CTy2jIb6l`tdzWT8u@r zQP{q%i@bP1CeI*xH+6Am(&NuZ@rfHuXwmg(1Hl_uDDVg^UgOwC4hgObEwvbm!)fczwx5xcXdYxY4Tz! z8!XcGgBEjSw-@ZOYh%z8h^=)7y+-gbRHRbp<`%a7JwFZ$wu5{eS8!Eepb4r%!>74>CO#|%vBrG6#|!lrc?73l@Nb^RU0TW$fvEVYgm%RVCSf@kS9`T!DodF1oQI`` ziI4t^|3CdZxe8qRBOX4Hjgq%yE}512+cG1M%a&QTUE8$|FrAUET_`)*a>RAK%`8Q# zxRIrOn>u~Xo@q3tUvYx>&LE4+$ng$y@Nk3iBL5s}LWR$i<1rY-!Xr zwgs$5Q5aNtgUi=OM+?q${ABN1dGxMdQhkG~5b}tysr8K#n89NJyBa$Kt zjI$ukC>O?k%8b(Rlud7v3X~6$N!kmaMMbzP{@zJ&8dP9GS5U=ujk^`xLxY}IXadVQ zu{{XlH|>|*ldwmprOVM?kR8))7`)4Gl4nDm&!_mDfCQfonstF)o2%feT4xYn2@I52 ztzyWm#FZHVi$ox|B{DC~lwdtNec0NMMsbhYEcBMCMxzbVnGZ-z`bj%!lgPf8p z3;i{o1S3g?(!?d!C2FqFCHLH#>CQdrfEt$RD$&3-vJ9+}rD6O*Ni4ACYt2LbV3&vU zq;E=JIlg6E>z}b{D_^^|<=N(ITQQ8UZ0(!xE%D{=FI!zk+n_9HXVI`mvsK#FSsUzK z*hRd3I^=Vkzh?Mt+#t%Yu-CIPGpNrc>CeJjnMx=@hEyB3qg@pJ` LOMyE)V!-(asf2If diff --git a/leetcode/out/production/solution/HouseRobberIII.class b/leetcode/out/production/solution/HouseRobberIII.class deleted file mode 100644 index 377be24e0841a9dfa32c735eccdc31cc83455f9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 729 zcmY+BO-~b16o%hBpJf~iQUydr@N?QGHX*toHEu|VleCx!VZn+!^-2eajv1!Jzv6$W z3lb8H3%4fxD8hTE!$&vgYuNt>tIEPHr{6&I^6 zo(ni1;z68$6flGOu7I_XepLd~op_+OhDVXgc4U;WGTTXeGTD_`tn;#H<^A|rV5aja z9UiMMX+(V(hHXyE(n#Qb(Amk9+TzT1J>>K(O>+V7wklA)quJ9UvB$>kT=u?q<&Sca zx1A2Np4yBxN^Nr6+e3LGeN4ggF@uLLUif&4S3X{&=Hm@&E&?BQG`MTBljOR$mB_(C z>vMFddW5T76Z41@nUF_=C+Zu&*;#zhr?1|&b!FbC@<{&V=O7I0Ay)b375)RjgwR~H z_n5Wl1-;!khd5~R{)cUjmVRNac?PpVW0{=1uOs^=vh=p1q=WrGa7Kl6vaE5; y;+kbH1&J+Y4zKXII^Y%W>DLLPuUr`e++cP~OhQrhh`4i9SumV6LeDccuy6&Ti+4f* diff --git a/leetcode/out/production/solution/IncreasingTripletSubsequence.class b/leetcode/out/production/solution/IncreasingTripletSubsequence.class deleted file mode 100644 index 5ac60c50aa8765630964486e42ba4077408b1e90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcmaJ-J#SM%5S)D^ zSd;Yxers!A5ImnAYC&~itbUcBjC8W6MiVmi!8BHreU%tjFUTN!XHvnPLEpxSR;jV$ zy~LbObT-UKseYep8|$ZnHS>R85Vj8bTW7eg`3ZM<2gKo9lcX8Vr8=J4L&3^0 zQ}OXjb-EC)45xV#>lemZ+q_JD=SY1}%P1kD4Tn1uWyhVq&Gc9&g63tzg4(~4*P|mH zXV^r*e{{zK9U@}9!m7h8%;EMo$k(D>W-Jw?hYIoX-v?MC0`Uq~8Qt&?E^|wt)cxJM z-}4^^ji7!08SQo>*lB*jlFPd@G+e&DsCzSn!P%!kX7gYE8K-?X#d}2z3u`rMZBXql zwOUlWj~X7(@?%^p9CfK$ru8cM!09i%Ikbj4-T8QgtL%E**X2}=OoK015niAyBI{N8 M%`Jj;vL3Gg0b~z*q5uE@ diff --git a/leetcode/out/production/solution/InorderSuccessorInBST.class b/leetcode/out/production/solution/InorderSuccessorInBST.class deleted file mode 100644 index 85568325d911cc9f2de885d258cee67c9d4a6a9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3055 zcmc&#OK%%h6#lL~W5>?q;k;UxBn^+Gi5(|U0;P^gY5F4Ix+O^yl0w0;ht#cWyJNd* z5g@VPAtWRatq?1OKy=$mRU@c`V3P$ufgO((8^pG18@_wTnb>Y9umB|c&Yg45J?Hz* z`R<+X?|l6YfHA!6M>{6H*yo1}lXBQEhXXz|;Gmox^5SXvG9`y+{Ak0oUc~({q<0$* zHzI)}a&}Y>&v`NJ#f*R_mdRyG69VqRp*aCn#xVi%#I7RX6hCM`Uc~(mT4xKXMAHe zv@sSqlTynHr%4A1pq=}idoC2;DEc2W|S1sBLg>}R| z^;=^bNhTPkNyR&yEGUL7H>=8o^)z;}UY1GfEz4$UZ#L@?7wDn{d=J(`HfW zPoPuLt1?vxwp9RCtx#z*`LdNV4`!s&w{0rs5sAh?2RhmGI%EcpVa~ujo;R?7UIU9b zF3_+pa|16(Gxp-1wpiiFc@TrGZAg*%a!WNDm zW%OYy=Z5WoAhz*M;68M7pr>uow&lNnnJRZ`GIEMtSuZ{i6MaP zBr`xd50l1jBH2UFN#Z-m)uZT9s3&Y>71YE?d#_?L&HcSZ&bu0YEQ}kCID`ji)0kmD z9^_2NL(D3f+g|LtW5BfC_`e`XxnwAgynLg7gF3L0;~U=N$3S}3xD=7p%fieOMD z`0h{FehacwU!lc?c>-se zQ|B`hrtT=q9X(QT{?E}dT&K@p93}oBkA%&1o2uFpnWmUAO$;VQvrML^6w5INcT)^RmfcBQwl8!REx z8@J5kun8#+{4&!r&Q(_x2f5ZywMh;waQkk^cl^E5vd6yX9BGb27*>}k7 zUAF2yGJRjM{4d1FPvqYbqo-DkzD>pW0mb+s#rP4~T%;H;QAigl#*Y=7e^rc6QL8TO F{R0ZwFpU5J diff --git a/leetcode/out/production/solution/InsertDeleteGetRandom.class b/leetcode/out/production/solution/InsertDeleteGetRandom.class deleted file mode 100644 index c584613b7b01715184a7eb1df5bf921873c262bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1757 zcmZuyT~`}b6y0}b!oV_ zfWJXs`~!V)Euo@oxqS8y`J~HzW+o(+Jmlt{kGs#_=iJ=<_3v+g09e3R7RIn>;v)+h z7W;4tOC~NKJ!UZ`-YT=GLVh_1OcH*#;dQ5)Th z1H>(qX17^nV>lER6N$f{GM-;`pR=9fDW&_}7JAH> zK-Na18C2Zsp0GUKmB^e7$wnS;aboR(T?qo`g>=)#B+e-0+M#roHr~K#cE24+l-YO_ zQ#Q)DZQ~BsP29C{59>DWbqUlbx%4vn( zckHJAtjS_aUCwqvJML1L>2kD_ZpuWV*YjoOO)1I=3*pyv9VP0aM9&vW$IEpEHhuRw z?+(w%4J=`b55pKA44tn8XA6aKS{f$!;Uze-&(h|M88hhP&Ea~E*4I3#_&rm61y%eV z+M`#{_hE3G;kIWVCbzxZ_U*&^ImVvmI?9Iyd{hh!VGzTtd=k?b!3@22f{61d&{CL1 zF|GDJ^ELV|7Jq>`{ww+qVE=%O{*tyK_90Ga*lI<^dx!yQt;V^7TgFSC)>)~=UikPrfmZW}6Nu?ySe7DE$yhYRGcjVsT2AVTme`y~C8S42sIx;&5f&*-QB9s|&T*Y4#Ti_n zhBfx_A?ZG*hHt4s6fThR8uRDrGlcw+)-ctY=P&p@Mm6HB;eGD(Sbs0H>_7Z5^Vz}& z#82+QHuGdMdD63lV%+xwjIM|=-XT#Ypv4oAe9Yq@tok!$*yUYHQmiS;JzoNjDn`PX9qK zdsSz==}m9A>5RluXFA@t{*3+&rqkz~-H-)grWZLm@AvyY&zqCK|NY}n02lBqg7+}3 z;dTTeOt)efcQnjI(Bugz4R<4G5gzvm)9bOd73 z)X;KrpX%To3Ys0m&XtM^x&i_BrH)yeCoJ1?Cplw$WRc}=mU0{MUow6&Y$SwvG)2y@$+RZ&l`+UtVSZM3j72 z&G{#!kPG0E6)Z+>+vLe_ zPZF)*)B$-9%%WDTXM|j{D$~WX%YOO0;r6yzuIU((ub#LcC?ATHujiayjRxvkE}m_! zv;NU~P;hLK)^-;KfC862@a>Kju896m$5a0k22B*?OXU3`Q+#lT`2oUwa=C&~@FArT zPV&QD-Ie2%xp%aw)N#Rio~2Y`q{8p>iC0h(uMv9q3gIoNyf*RLyakQd7G7IDZG_jh zE$F|=GUs?6M>EfMCT`_R9Hks%`3`)9PK?o_dj%+;r=;LxeBu}XhcPO3j}tGU_5Y6c z8lu+*o};HOzebGZI%?=#qDmDm+vo~GNPfVPH;B!h71nJWB`P_YrhAELH1$`g;Y}7$ zAsRgajb}F->ScS!h*m#a8o+f7B7-5>Y{F~EZu|Sxgn;I?P z;Fau_3hOzAWrbd3E~vtTi~rg@P0rNF9_F5e2Tva zpxBcOgrIoAkXx62|e9%-JBpvn6R0B(x*kv4dVRu!A232UEDg pQ*8WQf8&S6Ed1!ZGu1E@08R`Rl6%w4NMJg!%)`6Od{cVe`VaNi11kUk diff --git a/leetcode/out/production/solution/InsertInterval.class b/leetcode/out/production/solution/InsertInterval.class deleted file mode 100644 index 8f33958214c868743ca176760bd3beca7447e3dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmZ8g+fEZv6kVt7Fue>=u2Mx2QEZ{5ig@GZ1q5pfCSdULHnbBuP^M%$MU3&u@DKWG zOnB7E%hA@QT5aLM4 zFrp$EfQlTo z)jW~*bRnbXS9IHy`wHlDa%NE=oK9Iq!*)`ZW7ykzeu8C97ZHd@)9d=So-8?LKAAR) z&IHL7TC6c8;5REtf#3;IAW+5Kb`2E;LYDEeT9(aiqgcv20^RjPzuKw}-rLZ5@}$=^ zr*B?%^vuSBzUAsvaZAN*n#nPi%{5DRN;VytZB$lQpzcafdEez0hzM_cYv>VFt4*9%z`uyoQIE z7ig*P#uw@K$m`Zx^6~1rk)eexwQY+8+E0KK-=ppnZ28*$FT10)f~ypos^;|KqOrpg zylO9a)hu_@S>@NXC0i*vx=pS~k#AU8Mm@{eRdKzREvuF1bkPOf$&tQkS}YSyrDC$g zroMxIH1lhbKM#1v5oT=TF3G3hQyDsh`0S?J8Jk?thYqf_G69|F;*K{9r&xrC#T2|` z0=wVfd434*;_wlC0^`1j?+A*(dt~LRN#F<6aV5SFe?-|w;3HZS5#cb;eul-~%e=vQ&!7ZNH4BFE@E=822UdT@y+2Hn-=e_mG-jQ{`u diff --git a/leetcode/out/production/solution/InsertionSortList.class b/leetcode/out/production/solution/InsertionSortList.class deleted file mode 100644 index 8454e96cc7d4d483b5501cb97bacea2b9e8305a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 703 zcmZXQUu)A~6vm&^q)pSMx^}MGsne+!ot+k?H?AteU{K7eQa6})Z`0s1+eFfI==TwN ztDqDVye#4u5{5dTH%=56l5^hkoImd`=j+dpp8+&+tpE#47S0!t!3CS3^Zru1j@~Qb)X#NVGHtqZrAaOg9VfwT)|b+p6C(0hN zh0hz0di%boX=-h~CgVU21k%O|a@?7RWKxqXKmfAnls#~nv7;xq?k?5^ly-xP)WlN zU|pSdf?_JHo0Fq2H{8k5bd8;FIo*IJx}CCE1kaPiMwtXl%-o{hB-uT3ZIEn}`eW8? zb7z{qNy0_6P-2J4?}6SWXOjB(kM!vbHR04JtSxgz73QnReTQw~><`S*@?9<+!an2} K!8sOWQ2hm11%vef diff --git a/leetcode/out/production/solution/IntegerToEnglishWords.class b/leetcode/out/production/solution/IntegerToEnglishWords.class deleted file mode 100644 index 8dd9878ce0fbae8a7fa8f0c7a1441a47908f47b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1829 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 E15kj#3IG5A diff --git a/leetcode/out/production/solution/IntersectionOfTwoArraysII.class b/leetcode/out/production/solution/IntersectionOfTwoArraysII.class deleted file mode 100644 index a82d13ba04efa799b47a80ef76e83cbe12cb1975..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmZ`(Sx*yD7(KVMK^YLiK`V-aTgz5KMFqqKTxzP-NHB^I4lv+gX~}eo(Ptn02|n?_ z3yCjkV$i5DK51f1@Gtl`FfQj#r&uDE^nTmU2&uEsIx>66-Vd7LnC(m=m}KIrCLe@H-yC&mQS;rx^%uqEy0 zoU6sT3CA0?C$jW3r1O(@cFgu%X@^eLzvmVNn$xMA?|21g(s%Q@%=GAk{8`Vl9~M%n z0fB0_92BUEkEg~{iSd+xaQUUwa>cnqk3d8^1EZJ2%-Qn-jpzK#8~^66&uroxhE0s%yon1EIf9DTQkhDsLr-O?(8Z_2XEY}J1y7Z4MVT*h z2F0G5;#1h9ZsInhY%g$dv*^Er@bwqmN33scyiGU)TCs&cI{Ar!oTGtfBdsK*pw!x5 zL%a;a+j#1MQ-wv{ECJAj?X(1TAjXr);uAC&^sT-_gGD=^f%fmL<$u_~5-e|v{&W=H!~rBAc8PNrY$>a;YOz9DT9y)iWmtf1y* z8B~@lFvI#&<@y@yKaa6|3&cF7y-36|X?exWPn2Itn56Fx^J;JeJJHOlmoXY> z8lIso&~#!}Lvp3I3%ditSJ6T(!j7M@2YaEg>l5y=ja8Nr$38|i>}PhL5{v i7~2QqCu$7D#Tt48Eg^p3${Mu5Xs5fC?K%jJpz{xe8%bpV diff --git a/leetcode/out/production/solution/IntersectionOfTwoLinkedLists.class b/leetcode/out/production/solution/IntersectionOfTwoLinkedLists.class deleted file mode 100644 index 3633d4be5a7847ce1711bea1b96518d7326cd6c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 899 zcmaJGq~%xb#+Kc5Wjr9&pzgK= zGFI6OoMy|Z2Cna|Z*RWxS-x&XNf-SRA7K5DJKWf#^Sk zOR_AW)g8O`WZ<7tcf;`*O2V7_?zVMS4N6J@^9gsdpTq)qA9lC~>TxfDs}Pk7A6L#lnZu zYtmMhl?Am>(oF3H2~+!wP)R#dM5p_E?h2_&ayqSkfKli`<#9ilV^ApR%7T$L$ke_< zd5^@AAqL$#-Cwf#tf`+MV``@U5xS`z4^B;8Ua5DwKgBUMDv&eGQ!zM!Mn6gIMJivS z_A=sdkbsYI93qJ~#P5*q&ALq+CKo5C@xQ)67EER*xi+9Z*n~tW=E?Q7ag8X%S9VHL zfrhuZPNeeA=YxJ_tl$RobWE`3A!6qU3t_-K#rPRQeGqv}e})lSiT*&P6{na;$*U$= H7{blJ!Gx~x diff --git a/leetcode/out/production/solution/InvertBinaryTree.class b/leetcode/out/production/solution/InvertBinaryTree.class deleted file mode 100644 index 97d175d4f49faa5ee3f934b29c23091a4898e867..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1117 zcmZWn+fEZv6kTUJ(}8wq0ihL?tDv1uOBGRwMIO9GlL9diyu1x%3InB6hbajU{)j)| zD<&dA6XTO6{*j5db*9BCCX;>6S$oggYwdHs{(S!tzzpVMFfiGP7%t0jC5AXMI?Na} zOvaIgB|}bzypAay1szufqVsOe4Hg6<8FNiQz3Xi_0?CqFbCw#r>yE!_uUCommb|iE zU9){xo?DZkID&KA$NWh@kRT;rUmZN+Q&W#@q_$IyS)>6GkepbH5D=aDvWQHDPB3-q<6aGX2N zM#U~##;0TOQ2`O~8jxU2@>Jj|xN6yBh&S9Q z=w^(DUe=a(dla2>b4Kof`7TPTZGmP_Ov)FUWXHWzLp)*-7R zA@d-)K`|SM zdv=WIV$M2&uHZ@T1RVme@Q|BMflr7n zUq_)GHMFx34kAT6Y1$d&TrW`Y5JoTzlV%E>{47n}#suzR63fV7jTsvjHjoc3&rrFE zIsTcZ`2wF39~>F!=Fb=^tuZ92J#X!;6>m-ruZTQkN`zO2D5?8`R3TYj) zCM=W)nLm<{lXR^u!qeJrv*o!lVdNj$7BQQvfw-1ea-52T1*rTHaw%XCX^uKqHO|C2 zRec6M_2~>pNrU$gNAtG<28R2Xi7X>>_?9K5sI9K5b<6JEqiB^LFkZ53Yw`F6O8rKm z?)N)WchI#iH1(0&RY;2h-vT_Yu-PcfO>>@S6KPrP3(sPN8I@~$U@lKNjIq6f3i8Y< X7-v2U?GqZ&2WE!WiOhC&Vl(S_4;qoW<29Mf<78?Qw%(cGfbeTl=JiGq7YIl869rHYr z3L645%})E+>3dRMKyTS^$B}>DCxSqDuQTY?ou{re8I#9jA6CPDV@D8#u465N+ek-n z2Wd7;-w}w*w+c*Xx=n;PZjb0 z;>8RI;SQzeBoyW*U|4Lq3CXnTSrqXgy& zrQrpxG73-yScLvZevE7446$$vIjORfbd7ZeNXSd?&lfVneXD|ns!2bli=yX}n% diff --git a/leetcode/out/production/solution/KthLargestElementInArray.class b/leetcode/out/production/solution/KthLargestElementInArray.class deleted file mode 100644 index 733a01f6b253165055bb26f50ce37765efb4e534..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1991 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 O=lPG&A;|GR2mA{MY0-`V diff --git a/leetcode/out/production/solution/LargestBSTSubtree$Result.class b/leetcode/out/production/solution/LargestBSTSubtree$Result.class deleted file mode 100644 index 09fee2901979328e817b148e61b3c5e538144d2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 589 zcmZut%TB^T6g^W4m0AT<5b%Y{0&5~J+-Y1$V$y_YBF25e36|8B^r0Jn$^|iT;RpCp z#xs>2F6N&5n0wBd`TqI*0&s@IA_{1jFwj)lmI~V{>=@WH&=Sax!Zb((gu~nqUu8s0 zr&EQ6IGsqY2y zCVd{t=-wUr?5y>}k?TLWk*Df;Q&);)zLRn4)0O1}fsA^-8^@CU=Ausf?<(z>gD{Oo z^4e4EwFSc`6ZgfnU}43=D)ucbp=iNWVHrgO2Lknlr8&DmS#5WHHyC$shZ8xXw_HcP zud=X%7XR1a_v<_qVT97jkWxUotZc9rJgX=X%go-OAx~`D$1@1~1Dd@(L(blrLAR^= z4Ec9XHB=aD*-gb>B!h`{KB7U^HO|idSlFwvB44Jaw3?Y8Ez6XnT$U+MI(au)X{e)0 LH0h~;U2Fiq&{l4~ diff --git a/leetcode/out/production/solution/LargestBSTSubtree.class b/leetcode/out/production/solution/LargestBSTSubtree.class deleted file mode 100644 index 23c969afd953b239fbca81d936b0af308a4bc56d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1169 zcmaJ<+fEZv6kVq?W#}+aC{V5nC}0_GUI0<>Mg?tBFp&o18`C8lT#U?7_KYT`dBt~0GdY+^dyXYYO1S$nU2&W~STz5$rQ104xW#L$LGon}hIw1&&d z>ywic6tAM&pMvHR@u$le$L9f%p|glz9ZvW zQVq5ovbATkmS42X!P0tey^;@n+g=c8bN@{WG^esT?yj-O!WgToeyPOn^wTUm+Opj} z+ZPx;3$8CQT-C-(s%t+dOYi?MQQs+U5u}!#SCrGd9$1B)RckL)!dbJ4^-{$z*ei~d zo2*kbwQcQN2D;E~pc6?07jRLayAD@ti~8k(Y1i_K(-|+Yi?%OM-_~%)z%Ygkj7oD? zQr(kgNt!g08t%&q%LZ1kOq#k10L`h!#o}kML+^ zFPyQmZ@G-z(hE89mQ&tUE7;;jiVVCbW!LdA#Alh{OBDQb0<;Q!4urOc(L5sIo^BpN zn965FJ~10XFRjj1o>UP>A3dXrL_f}j`STd4v80KV*d}xQ2+9-l5RnfI&(b8&fcB6k zS%ubUcnE`RQ!vZhsS=6~Xo!;GVEjAUzCwL!Dv5@Kc7(={=J+9EtgE3O=X_?n6M-2!#)0hc9b{ n+!m&AiT9);MgC?eiJzF&FvhQmK$FP`#?ir5=d4s-Z#(cC^rqv8 diff --git a/leetcode/out/production/solution/LargestNumber$1.class b/leetcode/out/production/solution/LargestNumber$1.class deleted file mode 100644 index fc4bc7c5cf4fbb153be23d0a64f54a8f0dbd0392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1161 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 diff --git a/leetcode/out/production/solution/LetterCombinationOfPhoneNumber.class b/leetcode/out/production/solution/LetterCombinationOfPhoneNumber.class deleted file mode 100644 index 989c561e5ff77422f640fd89e422bafdd21b1e7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2612 zcma)7U2_vv7=BK&$!^juZMSS85TNp*{iIkRBCTjCAk{#jL29TUY?3A2Hci5I!h(q%8?mn6o>J~3z*R`$jEr@rQ?rL2gT=X(wctAc(L!E^PcxS=Xsy^J-fgB{o^A5 z`>+tjGZZJ+j8_y6W+yn zIkKe5sK`cP$|w^#X>4gO$eoO8mOGn~Z^CqK>d4WIidhu}f#Ar*gh2aLa>lx34HT?m zejw$!PBA|u5FU1lj(3PbUEOB|l+jYo7HCO2Mf+rBE@QiAtW1F(BU#E?g|n9H$a&qV zc+<|jKxZ;(d!Fr%mgX`}(ej*9as0xm>Cz$uk1+}>Be-v8*J?)HHCM%R3Ij=J-jft_ zPTuhtZ>$a{;{u}uT37GuSWfwBd6D+c6|uvsaS!p_=9Fh;XHQsVKU)=Z0+E!HXMz=% ziX8YK?EeEfJZ%@sw!1dQ*a~(-tJ%p)i7cN{fzZ5XxfDQ*@u5hf=$HMJilRVr4UQ}E z*W|eNneD5qILH$nvbb2WD-@+;8TsO@ovRm7DcV=avaMnLwA@0Sdm4P~yZW9rX$kCV z2=)QijN_$JQ4)xzN)(&>xgyU}$`@VgAM`4hIJtb~>NOqPu|r_J4_5E!#q@NPaZ$$$IH1GDJiAMWhl-9% zxUAy}t_o~eN#bzDDdcQd$2Ghs&HFk&z=t|M!gXe=<70fH}X&iv82vPXjaWSrymEZD`oH|OcZ0pJ`N*y@WEXIx zaLneSeU>v9A&!6}J@+AcTBAQ9kPaHbR9cZHWGJb0*a)T4su515HA79MTf>G%s~Qnn z&4|)QjHc8N(C-l^fahrCzXC*7(1b3I^x7HdMh|BKz35|vJb!^vLB2OVM05H+)}83B zqU9#^p59=e5xkGqzPnsid{l#PpbZ*xX+b+S^4BBLJ8KAabYh_&yLpO?8^9i(^gN>^ zhni=Qp1t&F5Rb7@E03(3Od%f{0+FSSJ z5}}^&p_`$>D%Kwi$HI>iYA~UhnyKDKe=KZj`x23!-neqU{~=6f*AY{y*kDGg*jPo3 z$t`H&+b6$D-D(+bCnq3AyNP*jCjTvnV=E3}8>aZSSWB7laj5id!HYPEh~&7Gd#0Yd z^bKK{xyX@JL8_d=OH@W7<}vOcruK`<)S?C%C6%F~#uMU4RJ^R>6+w+^uMxp!`JHGr z#ST-`(ZyPd@3^~(yYDpAvh5~9eRu1QlPqZ!n`waacH6m?(GVe8EH9pY{b0^9o+a5w6HqzOz)eJ4-El3rAU; z02zG7UB@Y@EKvtN8c#clv8A=w>c!fR@ME;8c>OPFli~?^MQeqlQ+k%wZucKB|0Kv_ M&kLO30Rf!+2P)J*t^fc4 diff --git a/leetcode/out/production/solution/LicenseKeyFormatting.class b/leetcode/out/production/solution/LicenseKeyFormatting.class deleted file mode 100644 index 9d3ac22668a6d24d7a54a017426ea6b68870e0da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1073 zcmaJ9homwo zmbq-9x zDAx8pN3OU^U!s$Q3DwO+526D7|93vCt>b}-hnO<)2-75EnRtvD9ZyU=MOHbpCgw12 zVgZXBNvA#n(evuhOS{tX{|TMWh(D_$tK0rg>t}H)VQ0tomI&2S`E-uHU9Zb(S-|Qr z;P&~R52x?EdyXY-$CsW!mtT9yf?m#Ua6norr+N%>yI{<^Cl92j@B^ufa1p=uS5&M6 zFpD8{^JS|q0KP{=X|K@Ba2MP|qel>*Tj^ffa4V>zk7x4~fEeQR_&m{1t1kaSkVs(b z8v?J65L_E;Let9AT5viP*WO`nEUq;Xidr8q9uE!H-y&u;5q^(ut5ikPH~88XR|Tb}F+%&jBQVm(i0 zQ7jXifX2uIuJaU9Y|oUa(*Oor>b7u$*#N7r<0fvg=WQZ;pdF)6$B+=o=x<&YxWjM& G!+!w6(CVxJ diff --git a/leetcode/out/production/solution/LinkedListCycle.class b/leetcode/out/production/solution/LinkedListCycle.class deleted file mode 100644 index 07acbce180c1bf488e984ca7f6af4eb609dc8b62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmZ8exlY4C6r8mU&P5IgHv}Psl#?`cAQ~j9BorVDx{b3CCniC$!|@^f0#zC$BqRz- z3OvVd^@H7O$5UGZp{DeQ zSYRT{eLtvCc`J9!87I;Y1R}pIIp6DEGBuTK@WeqNopx2859ioeWcNY0-*eQStIeeU z&D&_n3mL;0#@QRg5)$86`0Gg^sk_Ra?3|YO>n-KbL+HmCM|ad!fK{0MMfx)!v>>C+ zs?02y$MO#lcf;)vquwToFk@_lBZ#sRtS1=t;Twu+(e*;LP%AzoQ@n@qjM)-XO=GTV zv2^?SY7NW*8%=2O1ACG_>^q;oxn$9qq!}n(pF{f5p3U zg@lBJgGUbjAs&rqLx496#t=5U^L_KaH}AcjpJ&HE04(A`1};j&xPxgAcRkz_q@M@9 zAYK(XbMspQcdg$sf?Ol$nbz+6wi#^dc1R@O==(a{(u2V6uRu5M29aR0LHdsAG=eBz z`{IYDUSAQ6bWCjgOF&SZBPoholwXfgs5S+E0I(D73O`AYT2@Ri)OB#^4(Q-jTL<&J_p%TZJ#A@9pPL(;>dyD!LQ&@nCGNILY1ZU?s(qJ?mquK|N0%kBRq8BqH5!&3jb_zfxsSYskk>B2nwxzb*viWBJsxzz(JR&I6DhQYUDe-Fqe$0N&`S2ABSDE8@j=+r z1{2?@jkT9rJGT{Lmlgs^w2=r!vo|6OPA?gsPt95+j!a854-F# zd$GNA1a8WX!?#IO4`BICJ(I~9SZEkk-j~bEH2Baz&DcWv=5{d;!2+w-Fv$Rl!5Jj@ z2II{c%u`sw+9@)hQ+k210E^LOoaJE;OPptsNNIAIb&(Zih~z0PxPq%wix1@J(}B5R zYz8ODwCg`mVPd@#DSyGtdt~b;us0d9?T>$ct$ZTeq$f~;&A32?MQRl3T0)uHtIU07 vx`%*Y9NfS%oz1kKbYqZljU29of9nb}1K0VTtaCUbHY%mx)EA!Bi(35)Bw~zW diff --git a/leetcode/out/production/solution/LoggerRateLimiter$1.class b/leetcode/out/production/solution/LoggerRateLimiter$1.class deleted file mode 100644 index beec01466d02c4886d2a82a1c4d30d9537029ad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmZuxTTc@~6#k~&c41kd+=@56R_FyO)e0!s#8izuqAC{pE+3u3slUrq&X*T^45bN(7r^-jbeFHHK{d8hc@n!KnKO zf?={LJ@KL2-WS0qzVDJ|y6HRI-Q$7Oa-=l0I|jSqc_OI0ywedR&JA~gPF-c^D0TARa~LW3dUSG4aTw6;*bDJ9#25R9PVnREl>JNw7NQE~D} zqsd2iWy|BLt3%p~`53s=Rnjfj!^pYvgE%gVyhgcMyM8xt#5<{Ll^v@6icWya`qpz? zzeDM63w7iln0RJm5>*@Hn6U92Yc|%gVd902mmu1y%fuU=64X!|TX@Bgxis{nurZGt zy6;!po}==_(EZ#PWN&oT2|sjnPLch7swhJsm@s zNdx!kof!jp0Lx@_;puft(wanuv{Q7dAwhq@DwckL6@Mb}jidyo>6s=BFpC*_X8S0T zvLq2cWTR=+y@G(K3*)HV`Q0D p52Ke(^vXUe-ckeyt+~+*!IcN9Je}4NNz&y4GFot&xjN__~ zf`Np3F6(&DKng1cl6YT5d@zV>_)slH9jhvAO~-WuC-IRo-cXj3I)1EnpQxp5@ZP$P zn>scG%u=Iac|}LI+g4jZbJt}{AYFba_hi1~+fM$5Z12)o5E!V~^@j92o+WU#J7PIB zIkHjDSA5TI)C)07so`67%PXu9DCOSnSRJCAilGE1Ixil#^}r24mhFb^uLvZvGn-^y zZ0-DlTW88v^`X1VEdxmhQxJJPqxwrl$&NKI;v zCB3!BE!(qph@35{1PQlYS7?DU@ggaVZ@X68moB9fC4mzaU)CN`v_lH*-DbzxxkXL< zb*tT$b@Cd^mb$TK?hEL|3PUu7%gmnT6PPYT)@pQ4&&|yVWV1ck&&1R_>RjJr#v7Gp z$E#V_ZKcXsSK+g&FcTAa)x;#G*qp8z5EwtQv6`l5`%j`)rn>;AuPC5fYPoIVEY9h; zW1@n)CO!oP9X_t4i7nha%o`{i4ULH^?wj}wn3A#u zmttf4p;e=dV?9+Por!Erx?krL~%l!}rFs+~yvw`kwM`JP4*J4srOF zafq36!&|i;$d1F@OFeSO#xG(ThdLtP>iC%AM`N5{rat~TA`r*~r!zdWwJ*=-p>fao z;rbdQs{C9DJ}=}B(3g9TMD+mLGYD>z)#pf6Y1a?X{|o~^1%Ma0ju0eV(-^`ifzDu> z7BhsxMO+GE+4m^TQ-0VIw5{cS#=x&I1inEb+z$%8fVrOGNnGB?i5EDzkD;Am<2y`* z5yJvok@wWr(|`X^L=sR$&OzsTo{1+}^%Q1FWr?0^9Jy5{SEMExJHh=7a@2wpB6@1~ z1}>A}o3y6r`wK;$W|5Cb|G=9``WA!a!{7dbk$t2?ek+LuEps+tnGW2Uz&pC7EoiyS z0ZyORzUS3A%~>jyXOreg_zDxh#nU|h?*ugG!&EQHEk@*+o;MWrQ5L4|C5SP}+i$ZA zin^%Hf{w{#hRbPicJaM9lMI5tu3E>=G^o6&UeoE&wqY<2;d?geJ+`J8_U}Kj`q1MaYf=? zf#jm=yJ1lvmd$Mn#Fy)PN?@?;`f9bczpEP8on4QXk#fD_c$-ec)z4jHJgm7*flRqv z_p7QIF6}n!UMo~rTu-e#VXYuA>?yw**18VbC}3yHx18I~tmpXE*^RK_`qe_NB#_us zfxZ{iQ-RY^eppsMp)m)cdBmiFJQ2%C*AH4D&t~XUK4;aAQ!8{m7NChpV*Ab=fwBMg zaW{C}%hdlv7JCYn{7_X@qflg?bd+$#2_h0A9k$yc;>+WMrTeXKuKD zxaoK;CP{XdjJs!T`20h#H2_z%ahTD88l7_oPSneT^~m-0Rbrq_&L7w{tU zlY=flT6>8$t^u=6;VcO^@eO?^$ySb@n$OPNIo_S8WeLV1OG=4pi3<`lLSj}3;1Q0~ bAcoA6c!V=T91{AIUVkIOlrJ+;A71$vqJ}@h diff --git a/leetcode/out/production/solution/LongestCommonPrefix.class b/leetcode/out/production/solution/LongestCommonPrefix.class deleted file mode 100644 index 7c9210211fca165fb801dd8cb6c3f554f91548a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 933 zcmZuwT~8BH5Iwj1)z(ESWd)R?Re>!wB6*+&YYP$_ng_g-+q1R0a(LY5=ms^xMkpW5(=_O z+`+sw3o=}k#x{^Muq2>A^n5QW3Mh7NM?ftF4Od{i?D_7~!~L2YZacL$k%@9pciKBn z=*jpTRHK&H5wObTz;C*ps1)q)2mbTWedE2~5JaRe8^O=M>tG-z-$4(DR!c zxnW2^cwAdtb*>WE9tn1$kVmFR^bm-3Y63GutsWnG?S>nY(O5Nd>TfH~L0(M{ZU@H7NZP#x`t^U{HAoP062_LakwYPE{NIVKIDktrcBh;OP1J`c|%-W^lf{Vc* ziv;hCd}5SHskCE^3Vc&Fw53ys&;9geT73XwoW3k&0aCcaH!lj(wA?Hbyk|PGM!xp} z`b6yHE0o<+s1>D{$t$Z}Xvf&3lj%ZVSJidR((=7yEM)SQHpr%=C)1Yt5%J|NjFTfx zeER);*;2cRzdTYHbo)5ZQ6Rakk`WLmqXex^Po53~eOko?>**}I1^HVV5XGj>B6KAl5m{Wg3 N`_UiK4W?tb`3Faa!x8`h diff --git a/leetcode/out/production/solution/LongestConsecutiveSequence.class b/leetcode/out/production/solution/LongestConsecutiveSequence.class deleted file mode 100644 index 279979f3959decc355da72505f32251ad313b5d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1234 zcmZ`(OHUI~7(KT$?X=?v0*;9C@NEl7eO3glCKzI4kwgqej0r=zl+j^|?F`X{u1ri! z`~kW!#)Z0Y;|7f;#I?W3#6&!IiV7(-nR~zQeDCw!^vCb7s{qd8vIz@m0~r%Bq)iy; zRZ^ci`VE{=$beF^CQjm%fzt-g2qZ>a-wpBtS~@c&ppRDOq(F1g_2u<&aaLAuI

; z)?%gPcvDW*Rr)%p2McaZptD%4_+?oOMk{_zmcqbYmXq>9DE*QgW~kR-6^N(r6fy-C z^yGXXASlMGZh3*S=1HFjKiv-(nLl=iR&CK)5@;*lbC#VfOL*C~@*KaME%<>f%j&w0Xx0Hsh(vxGc911WiU~_BIljZ zW8T3n+_ng8ganeVA55vPq6etfyc9BH)BonjonRr_{zLU>3Vbv;h#h?E>K6ldgC?HM z)Uvz8~VJ%zKD+-j2goKkEy? diff --git a/leetcode/out/production/solution/LongestIncreasingPathInAMatrix.class b/leetcode/out/production/solution/LongestIncreasingPathInAMatrix.class deleted file mode 100644 index 203565ae3a02f12b0a0267056a9c11d0d5d75436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1278 zcmaJ>OKTHR6#nkK?qpg`Q@v_5skOe+jHX&7V%4e@AAxEVA6V+5(=@hI(}|?0D%I1WUUvKc_bJQ=cYmpinTq{>1BG^W%9I^+P5V{v-g4Pgk!Q0Nif_P5F zfJf=XP8VI&yMG1nUPFs5kfda?=wne`03vDfcz3qO~N&v(?W_4&^6ht+1#W4>HWQ;21V<8MjWN z7d_aF6t+{_gLOEB^%$dmmcH}Y7!Q4&gB{}Oq0hxG4Ddb03R&!DMk>bQVrL~TzzT{> zc{qa&d^Nb@7%QbXMK6w#jub5RJcu;oY--Sm%2irYVvB?!gwPWB23LH=wyz8`G@l); zUb3Y|^L?fTmGRrlNM>8;%4)!#Xz*8L<)r>XGjm6#%W4>%wd%%eX2>ca9oN9plYv%Hh8$@!Ib0mIqr>T?J!4Dbyj#EN> O!8%Q$;3oP;5Dmz6bY zV$8%90ppGz_~ER8mPjrM$hocOoVhHGjROi*&H=m&0fyWqLi62najpfVVS&dXDe2BGM3ZKjvy zF1YKdPY@qzL=fd_G=dshXvh8@;ND7)&C$-4V9~>(CS%W>gBkk`bZyW65?x5keMIDx zlvBE;+q<}{O&OM9>AM(nEIs2`M&>=@X-nsuNz;=n`_LA54DsRjPfMyO{VBPlGw{`t zd+eY!Slwc8u(R?^a%(1|R&=6^KMUO$K%6&V;RY_?KJ7>7#Z$(YajBu?AyLCfqJtO% z7coa%CpA#Pi8^I<6UjdUQ5Lfic6iKsaYiiUc(a|5#DcYrBQ%R+w3+A?;s{M*Rlmh?^H?7osG~i~+L=GP9UyB3-Flv9zXi#(2#y z;l>+pyurj6e}Ml)e*%f((?X(=CVfAi_v?Az^ZoaiZvgI~o`J-r3@+nJBq}bNGL z?m38|71k0-lBJ9ugiT_T09Z<+4E44lY61+{SO>Y83fZ}~Cy?r_ zwl`n)+RvEzN+9u^CDQUIUMMit4^8WJ&wLYei`T2_C<OL?{ad zT}L&G>$s7{P1MN$OsYWcFZ=c3j%{)7KhViSyeY|!!f||4GE~;s4BAZ9YHRflD$w{8 z(U$;&&?!^&n$&_?E`Emi6o=E4Dh9a*?d(Yc&d~zxDV(Qdu_&{tPHeDrh{XN8z)JaR z=B}1(Nkc9ipjgtD40(v;i-xwfzAwdxwNyoepIxg~# TN0|EsDZ~*HIgpFsh|42BU5)65z(XJYflEGXm@-cfj0z^O&exGf--1>DVWrxJ1FUW?mt??VAQ zU$`wGZ+04yz^O{yj&5yl)}roOSZgsdR_WBk*6pwxn|&ITz4drYAX}+)+RbRIw-UDE zcB9+bjO(l0wXI$^Za1$AjJ94$v))X;vJrk8F0{gSb76IGvhaF{Xk&hSWbCNq$<h-;RXI4RFI{)2d{4(^lifX zJL@-Oqb#+7==_3_qLxpo2pK$uG@=ZkPEZyQ*agBUP>d3#xIzLS5sZPmIC$?6C;8o0pw-isoQyzW~@y>Val!|XuaDjUGB!FidZ)|~fN+yd}ko<_< zvt4GPOJR1U^--IvA4L_t0WEW7{T>XDZjRq z)(t(nkI-JIb%?N`OZ!mvLc$2WfnjJ&l?=_0H>CUrNNH(L6Njx&hAQRL@?q<>AsrD{ z5FYMDbW!RYuZ^#VG=eMWQ1ES|p|yVu+;1q_Id$2_}LG+wIaWEL+kJ#s}zA zc&R4F#2atW7~=!@3_gkx&u)zY=7PEdg1wJP*-iQ zCs3-@Izh|rsro^qr@CIydgQ70vRdi%)cw0&PkDi(Ds8)KJId|$76oQ}H)yH$>h{UT zU*!Vhx!R8X)GqmU&??oVv5VDwRX{jg6)uk}JnwJ?T!fPTyN8Kg0qGAQ3dEZGG#hLj zt}ENwU9tBgI*}r?5|aXndgq|)xc9t}`NBzz|0GuoF()ArmzYhWfa^)jp(s&GVjedH z=KgD(z{s%(tBoDkQGbL6y6_qYf=1U!W~M{6mszUks(DIv`gq8St=cTxv!4kVxhfUK z3=IAu;S&RuLY#JprxJI;-I#q3@h(ayXw4`naEg9%P{4hdCw>SiS~iO+hlWD}ZD~~C zQ{tAcl?|*)#sS&OJNz7`4U-6PQ5~ALN8bb z%QlO8bAttDUmo=h@%rd%#xgCVsc(INzSK7vd6Rj|FKP%;E)Ww)CPq3#d?y*r67xLc zcZl{Ov98g7j5M~H_i-j-v`IgU3Pv!>&Lp;&A0w9(p0Hw!?9=SA=*f^BD?;X>H;%KB z8UfBR8{_L^f}X~SF3uByjwx1_U>tD>e~^sC1tBCZ3PGK}VOmTxH45Xm6dMGlX=9lA E0k+!1=l}o! diff --git a/leetcode/out/production/solution/LongestSubstringWithAtMostTwoDistinctCharacters.class b/leetcode/out/production/solution/LongestSubstringWithAtMostTwoDistinctCharacters.class deleted file mode 100644 index 579c79692bf3a116695a79ee32e7eff5b7d23218..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmb7C+iDY06kR(rb0)_0?$p|g8m%_zB|#|xsT4{@3?vPhT7`=AWHL=oO=l!IQ9mGG z(Z?e6MFd}}i1-11girp2FUCESLQ8!R51f5nd(YbY%=h14z5!T9E&+jS30y}i6gLvM ziCG)BY}_V@`^r~(m0+YZTLg1GsCk5;qVm0s&VJQvZOUqsBcsK@mCY^LQlWnmG<8F@ z33rOcz^{94UFlTYx~2U3Q>7bgx)ika=9}PwYHQ`Ydc7fA($!w8y+W96dVXCu%Dd-F z&lKDxIO*b^d@XZL>DP0WsP{^yKp@38)O&oH!sy>Hg5?GsUlU^6jEvV#Xb|jXpDtmb zqNV$?Bws}XMLU_ZF-}NSf=F?IjkzS!$Rsh31sjV=EFnwC z{bxhM@aY!H)jiMUsm_G@i{Z!YFEx5h9$C1&@im5;=|X0mFnHReBz1#f`|>TXDP1UJ z3P{1?|0Fyy@Qx5?d4atgYhrE9e*%4s(g~I#3KA}|o$Lcx53t7{!VpU?rU`Cpb4-m8 zz9ve>s*yL1yk+EtBNmPkJ4AVL!4bzWo@ckso$>)h*C5Ao#352M);mmd+Ui;qAvKEuqLT|q~^503esKV~2#n2o4~GYPihm}ElpoLOR$_n2al zNj}CHb~v|-@d*8h$qwQfhB3m#NALurEW@p+li@;Z43~I30T&L}#kgMLGUE*H@d6WU gnYh9=Q!sn%*fu6@Oxc(wJ{+F?#VrUk42j|DAM4x52><{9 diff --git a/leetcode/out/production/solution/LongestSubstringWithoutRepeatingCharacters.class b/leetcode/out/production/solution/LongestSubstringWithoutRepeatingCharacters.class deleted file mode 100644 index b89b01faa7f3d9abb96cd06fcc1c8b317286b338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 856 zcma)4%Wl(95IqxL$HjFY3AnUCC@B!~A`uemf}#i%1d8M|QWKR0EPCUZ#38jS$3c8R zzk(&3ZrHFX2qDb*$rBWU@Lo za9zU<4L1qN`>yAPHG+~a>=H!X?>U4e%k`Y?$$r-fIpSDHJ?W0a!1el1-EiPf!X4+pks-(RfefS_I>C60usU+QemH2oI9o+9^VU$l zlGTy)`qg&aYOBy7kjro6hy3!y^xrUoYWou}BqW|OGPy5bTaHIqXou2%*^~z{=U8@5 z!wNxf`;)+S9=nme>RB%TR#1r;8qhGOA!pzg@&*bhYA6{f<2IrA|Gfyyr+Qo6p<^@u zKT^{bu$t-0;;$5mvw5En87lIPLY=U9+N3GN0mE25FC^b+6dK4v6Br3N>PxaqF~EYMe75sV0qZ2hzSDGxEadW4wh*%of6QU@mIJa zZrHeSQ;a5twg16CVuE;X3sO`jneTq@?>lGieE;?38-SZg>S#hlLsW+k5gq*)kYZ4p zLsATD7|{{LHECRz+6}3V>MXvcA*SKBKw#WJ!to94~7Xt>T!#+1&p_0-;E1 z&D=0Ya;B3RS@2xj$&5vl0>b9YQz^LC22~Dd{WnuUEqZ49l|V~1Sn})~+t9_S{&jPc zGF@^7+D~r2RXEzd@9)C#nlVYovoe-D7H7AHO4~WJP=QUx1@wh{$xT}`w&bSk6!^mu zpMhqykkJa(<0UoRF>n|642)sizbb5<>G22nT#fJ361p$t@<0kly!stE|8ofbL8 zIZ76bDK-nx_x3A%&vxOT^T)#jWhfsI9|)JBHb=M7J6J~GJ-P>YYI_KlQ70pjZPe4F zFYmw@41Y#_8OHKEzt}n0^T%b6m{Kk5ky+Kcm>N<->Z-EJ{Dyc)jVU_^Kf)n})<4$%_*vR>^ei#xAG!b1l((TO*>P(k_#8nY7gcEZn$W}K&{ zN`!~#rPhTo@dxo5-K_Ir9;3W$vSJZKB)XHE^sq+qR?WK1tSj`iA+Qf!L$4SO{)D;@ NO^9A*^)cqd)!#~?25|rY diff --git a/leetcode/out/production/solution/LongestWordInDictionaryThroughDeleting.class b/leetcode/out/production/solution/LongestWordInDictionaryThroughDeleting.class deleted file mode 100644 index 03916f953d378831a1235cb3898323cf631b19d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1387 zcma)5OHUI~6#i}>bNd(&(SjAnJr}8N_zp^(p}M*uj^;P9zwF&SDBdh6NVt10(J45ESSRB}4BJ z5_pC=bqfo8gw`DnX0^6u$ZnaGAF`2PHkybgA}^6n%0#p)8%t=(@G_{VPsEbpgtm<6 zBD8r;%tyu2%I8({B98j74nkj`>DT=g^kkUI*mE$>$kNJO$7@yOij`**Zs*X}f92Jb&@`a=M SioiFzrsx_#nyFg-TiZ`TG&t4( diff --git a/leetcode/out/production/solution/LowestCommonAncestorOfBinarySearchTree.class b/leetcode/out/production/solution/LowestCommonAncestorOfBinarySearchTree.class deleted file mode 100644 index 048d01c2cc90e50d7c471db4d2f6cb88681941af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1289 zcma))Pfrs;7{;Gzw-nj}TA+Y}QbcIGEiFj&fWh$3grt@OghXSSEbCGhw!642h#y6d z1m(g36C;TxdNASO!MjKAegq>v)6$j$2hw!rnfHBX-rqAjKmL9G3Sa^gA%rp5f;$+J z!`%=<7?x^8szeaUW~4$0LJcAvL`I(q|BxHe0r66xb;;B8%_rK{Ibqjj{l>XjUpMs4 z`8{)+Cv{)iJ^75S?8Y;S%~H?};}u?4~f#~Uytc04Z6yeBYx zH4K4kjRuRW8-`Bj&9z(S_uthl-r)jGTgDo50oN?8bM8vy8ylBA*R)HM$rZ%;pu&7~ zfC3@iactu%%UN&^q)s3{Q25Z!v8fUy1a+iZfa{2ICFDhLl$+o4FopA6`XhWQ|NH38 z)MZpdovG!J-HVox2d_mlf NMdf=NU_&3`{{by^|C|5- diff --git a/leetcode/out/production/solution/LowestCommonAncestorOfBinaryTree.class b/leetcode/out/production/solution/LowestCommonAncestorOfBinaryTree.class deleted file mode 100644 index e70b3b3c952e22e0b15960921835f2df454b27ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1990 zcmah~O-~zF6g|(L@dGn_htO$&8WIwN?U0b9C5F=Qkw6*;NFmTv-3(@c3C1@5XvL<> z?yIhvRi&zBOQaS=BUO^SDA25|a|w{b*F~ z8@Q%CQwmK>+?04t;C|0 zan!zO)N<=iR-h*qOMPl*a}%k}%~WzM87EF?3Zq?OrT$k_I~J;IS2mJeCY8zw_$zH9Eg-h&OW3RQ=^1BjozMFDoE6`=ZKYkR?1MmCH3ow`nRM?g z(^ke#=6Ijh*nR60YapL<5(Cp#cAZ&x0evfP=h=zo3hy0dqR*SPS+lXiGjHc;KY6rk z+v!s0`YJ+;B}U4(Dx*;*>8yx#3syub|EUT;%O3GkDH69NV(i*{DxZnlHykz2-q%g+ zylR1glV~?^8UX{H=rV8y0XE=RcMROd3`bmcP(K^?O3caTSl+-a<_z4y2L|R9TEJa_ zn$p~lW#lEu*uWx|419<=fxzqN3N*RJ6IOCIWX^Ju*;_VkS~`_Tuxr8U znb#D-v(+*m=f-Z9Qlp!%i8j7F057OOv~zufy8%80pL+j3#6toPOs+oH=*64FMj-&F z(7_#*hc2$_@Xyc~350^bf6mAhWxF&d&i z)5i`SqSMq}R6MV_8`G!KE68>gBecp0hN+01mtU0X7==0y3Pc;pt10RWN2Mtb(P8>b zd4Og`P&4HoS`-7h^YV{KA)vbu(CPtsnsWDO)NewKNOMP&aV2n?LpsAToui6^96&$U z5H501!#K|`{Q%}Lh>vjzEBvk6!WDdmA$-mueu*f)=77H8Ab;Rb(LTo6jtL5B62J2K z3{&_M)A$=V@eihiWHvSSRrr~2l63+Uz!Q#2A&K8P-~!^fN}?btih`&p3ZjB2+VL0q z$XJQu8Ci!ZipQ)LA#)#@gL%EYmx{XZD(d2^s6j?45nVuoK@s&xT#~rl^#T#<=sCJQ a&9v4@TyeLZFW@0)ea>zPyv=hSyz@U}6R#uy diff --git a/leetcode/out/production/solution/MajorityElement.class b/leetcode/out/production/solution/MajorityElement.class deleted file mode 100644 index 726321a17d4d59e35105ebcbbd99e3acfa15353a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556 zcmZ8dyGjF55IwVdH!;y9J`x|Gh?T}*A`(RK(TIW&wNPxVZq`LNCc6?hf_=WiN^H{D zSP2#umVSUAW1*hArqPAHGjq<&Idkv(*UKw_DyGt~F`mRk5|e_&h9CIRmcU*po(R-- zc;*RmH9znUI<30bKGyXnkgI`V`=;)LD!TBm1tYb6-3Z%$bi32^T3!&XQ=#=2 z5;zN|d&ND0`1~1F&}nhlI%V#}-HdM72_iw}DAMlbzP{=krH{f++x2#Rvr7J-Te+cc z^biyr+WzAN!-lOib#PuetT#M2!W=BVfcY$N4LCd#tSXGc=qx@%o?<%5GZBM=0p>%$ z4M-u)N-!8BX84Vg4&z$ME^n$WwW%$E|XhDF5aoiJVi8vEHA?i`rDZ-M+I}m gDn`g!R9nF)GaF;<%)ys*cTA~&TKXim(&;S4c diff --git a/leetcode/out/production/solution/MajorityElementII.class b/leetcode/out/production/solution/MajorityElementII.class deleted file mode 100644 index 436b6aecf085ff30dc8dd710d252fdf01c977d21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1275 zcmZ`(TWb?r6#jNHmn4lzO*8e@c&n{R6B};~NF^Z0BLosfDqitnnvQkqbRyG4?4fF2e4AmW4I4-ow&BGzwDqP12BX79DWS^HaSeQPuCzP?-na1aL* z&@rrIcLEU%Cy+;>2O}uzDCyWEpdEHRC#VQS^M%s_%3sY%TOeI?Jo|WSX2SMQSraai zOs(0l+|!otNWTjz!DVMwps!Z9rklPK%>C`!Gqx90t7GJtSq%zg^B1ax+O&1eDz^g1 zE!UjcfPuo{TV-yqHAA+@1=^Z#&$iq^pm%M&&NvpfPoQhL9bbE%RX_5mF2&WYLz6^)ta0XF!Dd?)k!f{IFB9B zc-`a^fsjpbP0%ZI7u?m6=MYcA&plkV5LA$)o$Lf)9a8joeb7r19*ztkN+RH6@hxJ- zr3Li7Lgd_YL>Iezy%-&>@HLgFsYXq$xMb>4GiJmL{U6keMr<_q5b=3cv~fs!h9X^! z?uel-ASJPiVybOyHnat#rEe;VskP;)<#}y+J|^1BPdn^Cma7M&>a7lc5^A z=KhORDfd5=7f>TOV`v>LT{4s(U}=%_;TiAlz7{DFma1UE?pWF|y9c|9(5wS%K;sti$ z4TkU@!}x&R;V3RKXBj8So?#VtiFPcGpgSIE^)aJheXp6dpQFlQiMcZz)=si+q@|Ge z86z@K`QP~un`vq6<}vHau*U&*D#za8$dO|!kv&Mq^<~nK#EydRs_VGNC-f@}6L-D>Rd$?=1S{>1Iolbe zBO8yi&*&!8u?gVptnTg+a z%)4ANcfBYm>;Cay^% j(kP4M0hnMFGyh<`1DUY>f7EmEEYu$|XY$1uJzW0{?q+XE diff --git a/leetcode/out/production/solution/MaxConsecutiveOnesII.class b/leetcode/out/production/solution/MaxConsecutiveOnesII.class deleted file mode 100644 index 9636090a6954cc4991b9ac9f7cb7299c92f19fff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1341 zcmZuxOHUI~6#j1K1!X`$Ml25zpDid=)cPpa7ZN8a5~IP0EF9X4j+7~Br$k-zD_j~A zH*VaBkHon4zZe&;+*rRmtrUf6dha>so_oIUd}lJ>et-G`;4H4kVIvjC7{)D}h(l9O zJ5F|B0%^6JQp;%zlPY}1!dVOF1k5Qv@WY&dmQ2kH=r_tmDX=H+2l94pbxBt4c}pcm zdh_LiSDN=KzVe$vJ$&L<1@`4vY7X)p^b~U#G*E`n6hyhIU84SmE@!B?dUeH zfdlK?4NsuEl|Q%iR2D)`vjrHnFVNLWn)O0zZzLP@u-3g&P0lS-pro7HrE{j1mzQNl zz)5a9Za`&I3mjP0e?d9;K5>rvTDim#_a(R2Y9mGV( z?t;59wh8f$Mhx9t%_yj&hqm2FKri;vBNiO4>hcd3v$)S_IW41W8AHpMjyeA270!)2 z=EO^w8@h1xq1V_u?id?}n0Q(LxuMtJ)V~iqrehTKM;{Q&ZJ6Rs{oC+cR?;H$F~n)x zFi5nQR1-uSB9}w-PLRbU_94f!Y3z>}-Xe=OOflNeI~|<#ep;qt)?}@$1O}o`W-!Rp z7=P2O+D}Y_10SZP;{fj@px0T%vM^%dpimFc?ffE?ppMPvMWWgKqL%v%?ZGDWOaDl4 zvmrruLU+s$Fh0VJ;eJB@2upy9^eMAV;49kSBd$Nn7&|2S6iK3QlVp^n50TqpHh2Uh zI7&H=<2;hM#qZKR#upe-LsOD;A>Wjw2kw?6i(8T`Zb`DZCCNflk`CM<(qT$+BpQVv ds)`(KiZrN1>S>8&;h2(XV6Y+6abAic`3Km>{(S%d diff --git a/leetcode/out/production/solution/MaxPointsOnALine.class b/leetcode/out/production/solution/MaxPointsOnALine.class deleted file mode 100644 index 27f2335894adde4f8a8a5c5307ca8b8205d129b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1562 zcmZuxJ!~6g7=FI^e(cLRiIZFiftVIbu4nFDN;I~*FOB?f&Vk0V_MozOL0a=+CUgHQk<2@tbrHs zqKo1tR?mrJP+@u`90BTcF~t zyH#n++V5W~xkazKR6Hj`(*nk38=DdsjJ>t6Vc)Qm_IqB^_e{q#ES`4?p8bY^_+Pn7 z3qS$c;9 z#^&N3+_cyd=+2djp6wQ^7ajUru@0YRm2~_~Zf?zCxv_^?4+jVYdD&KEW&h&x_6)@` zoz>f$p}AaR;^~JZKAg8RL#wy;=su@e+gm3mu}mhO!BO<{A1Qxb;0=dGIYceVx8Pen zeiz~^-~0%r=7R=?c{ZC4coZYl1RlfVlnm}V0+m+auSDZBsDbT7L;W0DqOtuQx~|?u zARCwsq!dd@G?e@u{4~A;MMU=z@qfR;~% ztl(|*SfSepZKJL^%EzMFH8JXQus85V;b8rQctW}?;2+8Q@ z*KClVE(?9chDq26=^7(p#}UN|9Kl&`Vi8Z`ZQg4aPoqF~ z`x{Q-cgFvTX}>}l-HiPhqs$d#h7a%rPa(!$ruR`8Na0K7j$H e#J`vp!U)a>{=sA*d>_`|Q17Fcp-BdG;lzIrNnC&c diff --git a/leetcode/out/production/solution/MaximalRectangle.class b/leetcode/out/production/solution/MaximalRectangle.class deleted file mode 100644 index 1d7fc76cf7ccb3a29ad31cfc71c3db16186db3cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1563 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 diff --git a/leetcode/out/production/solution/MaximumSubarray.class b/leetcode/out/production/solution/MaximumSubarray.class deleted file mode 100644 index e1e02c46acec92b75648d8635249658cc1240dda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 840 zcmZ8fO-~b16g_V~7%YW;KtXCpsTk8bW||l@F+vk!G-+(@qJ|AFcx@*z*sqK&!JP|# zg$ovJ+^}(_F{VF&-{8uh!J>NJv{1q%^X|Q8&b{}XmpLE(8UonBg9v7jv0&?;Sx0ae z_bjYg$O_DC`W?St6wq_|9RcHIx9JJQ%6`XtJ80Lv;GL|uh$PG1hHUM~z*qGIH2Mer zM}b7SB9Hy{pj{i(We~_uF9hb=@|fkeDh15kZYf_95I$cuFGd#u9$BZe% zt)`3d-n-*!uWB=Kf5Iq!F~qlj=k^%~>Y)fXTyKWTmEtIu#`tBGc$QUx zf;Ne~BK8J}ki9{663-E5Z769I*(yt7k;0?c#u77)okiYkg4>qKjKQ!*h*($=B7cDe zQg0I+J3S>yIdziy)-`{&GN)d9PdUigJhwt0e=}1b>G0-L9I(uRE3i3uop~PVE6uZX nbg9|7((Ft$>&S&lHO_cQ|CgHQppE$32yuZmDos9o`GA@G1=>j#LGwn8-8g%G0A7#l!hiiE(1p)g}g)EtkPAf!Sfdf*3EO`xq3Skt&0Cp>CKCHUv^^S!Ppys&8y3u<8Mu zXpU#oHFMRQIi1+zovx+Ks(@MXck5N>iL0i~TrkksruE87A&x`}X$%<1r%*sqpzneM z0-fr}c+K+G$LCfzooXP^eg@52igA@l^4+q-CYHQqrZaz59T4z7Wl7b}=e7 z&6c`e(^ifUIXsUNI}e40)gDCsL-vk_dddMS>u8`wYlShjq8Q~KD zsKFM|%_zc?FL*-I8+eXhMjET9(Z@(fKP%%9zmXS$t5a)e&L}=oDy2dro3S}vT*joX zf`p9A!~weVX-(=fR>)+fp$3%keWZvPnmx96NcRbyh0K_$8v6lVL3&Nb8J0|GNYgGQ z3mIvyusrOPRMCNwFOzKnywZ?KTXp}x^mACs2F+?!YW`EYcc$X~aD%;6ppV-1)21=P zNsG9Qd&pn{SvE8B;VK)R>(v04X6!uKtI8V5N%y2m=q$< K6%7)OVCWAQM!?4a diff --git a/leetcode/out/production/solution/MeetingRooms$1.class b/leetcode/out/production/solution/MeetingRooms$1.class deleted file mode 100644 index b82f7257a60501528ae8c71ed0cde0d721967af5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 902 zcmZWn%Wl&^6g}fOF>#&5E`{=@K%mZphN4O=Qbkk|NRbkd2u|TZ(D8wDdkhHNiuQO-Px%bZe{`2D}fIYN|DBzw61NV#2@xVaUB;=uiM+UYH zxC{k(>?hSH4CVen2Fprw6Iwz^B6h8Imwc}zN+Zod~w5ufp(y_nT{ z3|h3yU@kC)JY^^iCHLMB_-W?3?egrGHslxQq?DmSwRjWo}>0ieV##E<{M>UOq};c|1IjQiS6Srz*Ty4`#tc`O-N4_owJ3{YHPwylDthn1tY28+-V%{tKN2h4ioD_H$Iw9mBCP^P{> z9L23re|64+jdfZPKUE_Wm1w4QL>#5=G`=9$r1k-Z{t>$NiNM^FWI2`Gnv?%aI=DhM z%F@ARYIu$2d1#gA%swEW>zU6pI;ea~^~NvgO={neS01Zjt2Bw2dFZ&2vTov5I^M<| R8g<;ILOC=uiCv(PzQ1DpwnP8` diff --git a/leetcode/out/production/solution/MeetingRooms.class b/leetcode/out/production/solution/MeetingRooms.class deleted file mode 100644 index bf8f0a7991a94352309fa6164229f77dfc209c8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmZ8f+iuf95IyTl+_-Lf3lK_xUTIPT7Kpb1QWXg)QVJ49m4K&>vnpF0yIOB5@y-wM z3w`0GFGxrrkop092Va2@FzXm8V97JHXU@!-9sAp_FXsU6A@nhW6%SW@SZMmVifdI| z$Eq=F9@afy(<~e19frl2r@LBcjqt8f*N3ORNSV7A~V&WLQy0;U9F2lGXqK diff --git a/leetcode/out/production/solution/MeetingRoomsII$1.class b/leetcode/out/production/solution/MeetingRoomsII$1.class deleted file mode 100644 index 006692d88e5b3d33fbe1a0b6b4f7df1ad083fbce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878 zcmZWnU2oGc6g_UUhGyv&+QImyKw;?zD?^ib=u`<+AR=WTF|-$++|=qkr3p&h{VHCN z_>g!&JoBRv*GW;^ERkd1m;5hfp{%-(T(-??Q0v* z3$8bmquH(QSCo4+CZ8!<<*H>|%{*&`>l*RrTDw}wc}c7{7OXEQTeH?W-QO^JG`?e_ lNSvG0MN#5{*uc$9{uXX$^Bvr!*}y&A$5mQs`xTn$`3LM%vOWL+ diff --git a/leetcode/out/production/solution/MeetingRoomsII$2.class b/leetcode/out/production/solution/MeetingRoomsII$2.class deleted file mode 100644 index 706acb1b9de83d0f2a113e531442342899e0aeea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 876 zcmZWn%Wl&^6g`uen7D3hl0tbCAW-K)163s!sVboegr&4d6m`RDl8jPU&KNmPzlseK z4~Ye0%|{{5I6-;T);#W+<8$u4<3E3Y{sOR%-69I8II!`s2n&yFJa&jwZ9K8@)W(iL zAw3Jn)#n0U_eiNU)Wi32JQ@cC!?N9KFD4~ zq|}Z3GCGw>XyO@Y86yEV&{`#(NRG#fVQEFUx<_BTACErCgi70fH_)j{E@af6?`nZS zE`A~4%rS%P3GDdYb9o_Kk<`Q1yWY9#r|rv#5h$L7LoL&ZvDv>&nIe-kj9Q&68=1z* z!QAhVc{(TYBKiWy+s4UzMb(=#)t6)&)%AMgH>@VdcU)N& ko+fFEB5@{c;Z|mU8+WqxF79!)a32qFjXQ_z0#`o&0FHIBSpWb4 diff --git a/leetcode/out/production/solution/MeetingRoomsII.class b/leetcode/out/production/solution/MeetingRoomsII.class deleted file mode 100644 index 63b2ee51f7dd2167e3b47ee61754a501741d963b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1248 zcmZ`(O-~b16g{t<&OjLffr2P1B5Es?N>x;fDAupR@}U?Ex-bJwa9}!9r&AJK`zze( z#*G^j5=0VW;?Cb>#PfzC1!5QXy>s6EIQPCc{q^VjHh^n*8b=HIHKgN+U?7eRu4ow4 zkc~r?IEJeYbh};;9Yb<=L&Hr8Zb>jKO-`B-4YxIn3h0LGT7KR!%Vn!9ppMwC9gvSE zQ?mj}-dnT;nhLgSO;(EYmjB$GcgVC9yam&lHGNy+Dyal-Z02Y#OjuT6yGzeJuUIyW z91|36x0V!WOui}@ZeaPVrjtt<0(Ev33B>nL1nT#AW^Sm75s1C5SQTnHURX9)%}gb* zoy=27v0(c_eQTvXji(PgkL(v4W#F-yz+70FFiT-i;gq^H+~E|dYsRbi3)VwhPN226 zAHx`s8g#TF!2ujR>K&B)T@7P8?jbMGv9EX9w>{qu)Qamv}gDu4ce_uUImDGw}SJOw^hD|Cwf&9~4W$TKMu_@^Z_8DN6`G z4W(pRD*|oF)X{46x7rLoPl43fgF4zc^)*vbJF;Y_sCbq-UlUtorT)wG&mxV}IK#fE zw%Uo@okcf$>B2Mz)Wgx7=eg{6m+2*QflM0F9d1+&7d2eckfary+Hd)Hl-fZfqW_NQ U9$`so`_Rg@g*#bR{vx}}UuwS!?EnA( diff --git a/leetcode/out/production/solution/MergeIntervals$1.class b/leetcode/out/production/solution/MergeIntervals$1.class deleted file mode 100644 index 089da32e4de882ebde747e438e35c9605e02f3f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmZWnU2oGc6g_U!hGy9o+QImyjKb0nR)!|=(5VutKvc@$VQBAeYIUB{1SRf%6)%$p zllFjk=0_o}(@br%MENC{b{9^Nj!5Bni!LaGcP<)w9M}1E2?(k%ydd;OmQ-Go9>f0?PipPq94N<2z zV}d+_IgU0?kE=*+4K|_cH0z^4KVY@mKfzj8C|pofzy|eY;s6ddslPvGQBb6ZfQ+yXhJ3}eOrtM1VUmYISD_d z@14nOI+He#%w+o1&g3U$GNfk(F19tJySw+^J@=fuE4@8?^#;H^9+>FEjDdm)O^vfA zbj+D3;>#4SIU|yM<25$Ah#MjC!sMt3q7Ev;=WMEmqs(79qlwBEyb|{csay%zm z5$MY09|`DXf5#T+tva5)-Zni<@fx8yIMVV|Ze24Ez z*}^J*u<#=)>}j))7S?djLRFa>)(vb}_zCv~((SOU6PI_Tw_DuU-nZ*4oo;2MxC~r6 zDm-l&`8-JM3^CthwGG4qGZ05J-CvlZHTBVun& zMte*@lurqht5ot8e2QLvo$ArR9w9?J$W@V};Fy?x3Gqi99->XgP7}kNTjvS5ijTMw z$l_yyaI;wE2cD$wSkzua+j@zv^_kbuw}_QEL2~942JfYw)lbna@EcautViH)n2U+R zzv#&(YR@p6O}s#=@B-HF=$|c|;);f!<4C5Uyee#+ApIw-XCMA5{DV|8Y4$mb>rjLj zk)}EuaWcvT*EII#U93SfKTAFD^D;Pi=0P-`SZ*e;f#_l zy#wc53?l_|w@qO+dLl^ghyR|rf6cfxkk4-Q(N$&`fXBaauW#BUdpTEaA=h=7Y ZeFrUtFPNbr$2T9(rqR#QB#O?F&wn0`GEx8l diff --git a/leetcode/out/production/solution/MergeKSortedList$1.class b/leetcode/out/production/solution/MergeKSortedList$1.class deleted file mode 100644 index eed86f11e7803fa128463362d09da82df7e969db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 899 zcmZWnOK;Oa7@SSqm^dyCp&`5p5UBH@p{NpvRFO~wBEl_)pk6p_oK@<|v618SS8+k& zA#p&Q`B8{jCn%M();_-3@yz$_?w`Lue*rkeeh~%KEtq&%gn>sU9$Q2jCZ3phYGO~I zkevDR#&dy+d#vKAdN+#VL`__Op7gkTe#O>SQq+tN4Q) z2Sh4v|q$Hco4|>Tru3;kZv5%+w`K@CmB<#=D0ea6I%7wtL9K( zD;^KNcHfWBm6!B35iL_3`O{D)3vG6|Nm(L`#1FcIG$)xv z@zL6{&upzxw1_?R#@EGHvq!nF6X7wv4!t0n`{DFhC1=sZgkz(LmW?7T8zr=Dbnr~z z%Kv(8T*od?Gb`9&(dBG)JjxWxWJ+fCcY)F@y>0EoE2udi*X1dwgt@byF)(_;qFv{U7#{xM(1v?yXELkWs*3C-Q zXre1#X}u*!t6S}_$amN$pBY`&s-{}?CF_z_mHOJtLQOlBUs3huO7$h#T6MeC{tctU o{vBIc;boG#C=yq~25zPHw{a((@8TY31NZR&*SNCCE^uc12fRAD_W%F@ diff --git a/leetcode/out/production/solution/MergeKSortedList.class b/leetcode/out/production/solution/MergeKSortedList.class deleted file mode 100644 index c9ba8d893732c461ab9c3627f172f0b77846c2a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1165 zcmZ`&O-~b16g{t<>6Es7h*TU9`G%IS3Ib}2Xe1hl1u-ZF+&HuY4z`^-ohrnQ3x9=6 zH*7UgNF*VySh(^x_$yqA=M50Bgh_Mf-uv#k@7!~zKmUH;12BraAygx-p)Uj<`ZWw_ z7z{zhPzVYV(p-~fSelV4)?C*xs$onZGE*p+&Q#7QmCTYrV8SX`?xcV}7GD%lrtGXK zP@A?2=3F_yVmeQZl^iqmX**-&77fRe@ljH7Us~)@pPn_HHS^(u?YL$(ZI#@VKsfK^ zWWe>=h!|KKXG|u!MibZI;Z9iQQ=b{0X19B=QqhTQ+61=E}LZ%)6?t58zWJ6 ztz2T>v24e3Hy_I*a=7$A>CNIX@$U0L6DKq#*`RvCH8QVejiNWOCt)*1r``gg1-tBI z%mE$Re<$CJx=oMN2Am`YZ*=^B=p8`9j2;1-e*q%aY|ZA?aR2f9FA zC4?!jf6geZB_6G;n;DlX$7bYuqp`EAl6gILN{}f#Uo;%UwVjkaQ|;ANlY$dl**6tm z7SOEH{e01ti;2ltDcZT5Ktn8kwqCB=+;Gv32)|$X_`t6Xb+i{4CHNM6t9?5VU%cab z+JKh~;v)UXVF4NtWyBq$k(OZbl;3|9bMJTITk`L~KRYnD3uS2+>Js|}cAzDd{-mm_ zd*cEBxE9r-flp}B)u=X-4C=vsgmpy^ZX@{YgC@2Pe(TCMsy<>!zC%CYOR9sq`VHa1 zuL#fSD(yaM2$7ydZ5{j?p!=B|6iD7l)X>%;%;*YqjG>9SX56DcjaJN~4a*ec1v+4& z6M1xD13h?$m^bS*_?M+nmsuZV~lY#kYmJuQntX?GvIl478*>P*XJ4ky4ZX@6x+!ugzBcfG|TD*mKbnge` zyQgDX=MKa`og_K*`rZEG9jfMfl*YFD< zu}B=aBJojCss~3X5{G_WRsCL9={^0qe*mzCg#bR@6)}k^Q>FuWm@(+Rj}JaR3cSy8 zFV4OQ?8WM~!1>nS(SqS-+|!#Uhi#pSGUgk zU*n!i&s(Y1#|=Snn9GI9(ydtY}lLE&F$ zZs=4c0{Ou$C3=@{ZW?#@GR$(RKGzLc-~fuO0a=~5@OGE(AXoYG8&)qD1tD?x+<+mx zCF9;vVl~4TaA5OpM2~Q5mo?VtGWvB5tH$&D23E8bUBf1`Z{gg)&bdqO=A7*uw_z;j zmJ0{ diff --git a/leetcode/out/production/solution/MergeTwoSortedList.class b/leetcode/out/production/solution/MergeTwoSortedList.class deleted file mode 100644 index 3cf7b269fdc6f3b2a286d6b8c1a8d6b215bfa38d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 802 zcmZ`$?`zXg6g@A=OWNA%R;x2Q=jN}q>Q)uMn8`o}x?xtqj>15YG!1KJ+RQAS`tSH< zUlo*rf?tGw@Q<>dmsW-jL*9M&o_p?n=f3yz*Vpd=9-vx)h07M^3ea#RPcyH~f`zLV zt_hfr!hV>p3h32ZOTbu*JAuF%H|z(EL9ZPoTV6XNQg&nCi&|b1s(1n#X*b*#sJNR! zvJ-5*jhk_j1|2utPgev=y$Pyf(&nqK@)|s0<=Cqoy8>EtPoVHOa$i7p2EE>U0kOyR zhFbkW!v4+F^IvazdzqSSpgC4I<3ZvFPeP@7=A^LYUGKmvB8R*{?vEZ7UoYYYZWghK zGRHkxC@`f;>yg*rsXuS;27b!>s&1%j(+|9e(l!Y6gLf$wVDj44r-8>HPg`JA=PtO* zTSpL|vh*ohGXn*R^owHxN;u7kPk|{~7K=6LS<~(}XxsV`^u}$+xZ}tr$Fz+hR&6=N zL)-Wa!Af9AQiy8bfj&n%{(0aP{bi}HaSd^vBbZIdYL4}>*2x?|m$`B_TNh{PX{>*R3O$|tmpDhy xV2^E_rzg2un4vXsf!&_M95Jvg*cLAS^8<^e{4;_h_Wut>8`qFhGYN$ diff --git a/leetcode/out/production/solution/MinStack.class b/leetcode/out/production/solution/MinStack.class deleted file mode 100644 index 21321be2e733917aa070e8bbe49e7bb55c036166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1120 zcmZ`%NpI6o7#zpW<~q(o2upx&kPT>9N-3o3rD~-}DHRF|f}0ae>XJB7;#BZMxNzjc zg$oj-2qeUrABC7_J84vfgFnA-c{AUP{patGUjWuoQK2IjMqWh#xhP^Nh)`6aq9kfJ zMYtux?J(9vxh#@9VcZSlo`h(3-?HnD(Rw2xSvxY0jq=E`I%T(1VZUy*ZNnK2ObNNO z{VlK1G3<7^YCC4z98|V>Db)25LtB<@IolHCLa`x1+3CF^PP}H>=95vkX%3zl%?>N6 zTCZhv8pgm9xnESALu)8OtxYy0veF+75BVxo1)lVlPgO$9rQ0|9{!O{x>yy)QW1+~2 zP}_6}L$rEtG-#Q7mY|JIkk^E84QZU`c4th`a1IF#aS`rgT|*WRG;H9ZhD|)8YwrB4 z2O1t@MZ=QlMkW*z5~qU)%_FnrNC+ProsoI)T0(}3=D11I3o~W!US)RDFA>Wc?sogm zJJ;-&!Yb3`M@<*zPDd=;X$W#G^MBF#GX?liB&f*EQjAnSlLvXGMT{BtoOPV+smmlu;$g0xm}YE0pYa zgvJOz=Q%h=0Jb&Q3NNQrzh_Q^~A5phv$B13GFL69*{<`nW2xIsa??1*hL z9;3evxp5WOxX&VcLCASsXR^(Kc!VHgW|Z!B|;V%huMmKT!|-cdM;dTLJ_ z5!LtRd_R|erH>4?YfK*`5PWAZ4t_~hd=z6dP5S1wR64H^R(oHY)*=c-3pnOCh8 zI#8!%(vd#v)92oj+cNI+?RZCqYt3f8$+-?6-K-SY1zB2;s6j92(`&a7*GYJa)=5YK zpJ#uZfNA82_!&^3HN{u3*bX>ce?;24T>p>MBYZlG*q-3rnjvmr+a1F&lrX6=V}j=R znsmp)&Lw+VFgm_bC^*kXk(y>O%U$NK^1rEJk@73p#B!puJk~PNNmZ;VQRxgjIIx|3 Lu}Cyal)~H#Q=5KE diff --git a/leetcode/out/production/solution/MinimumHeightTrees.class b/leetcode/out/production/solution/MinimumHeightTrees.class deleted file mode 100644 index 5a2eba6e383de90f07535f2942bacca2b818d66d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1851 zcmZ`(-%}e^6#j0qKSHwn3IvR)LP1KPKor_20kK%E#0F4^W_+=}SYoFgr*HZ{_~5&LfP+KvyBh-0(#-7LbI(2JyWctA$^QQAmnQ(u zAmc{}2_0j8crfnA+nCVtjvp!#0i466j(7d=RW|1Xcn_0uajo|QxPTAjG9{CfGM>J3 z_)snvb)~x|1zYY9 zoQktz7X?~V(*#*7txZ|>@`^K8u&m-3Q?A?jEKh2@0&UUc;$pHdb;H~=Ve3pBeD)b`ZC zNBCIBCkE1(s|L6lO_{|Nc1p*m2Ig^zlGo~&U$wHbCk8&l0*f$k8H=pMz~{JP;0s(e za19FvOtc$VlKH{sxlx!SMzc#dtc)YjPtMEO z3!^R-Y`2)nLczSvInd0aWKGSY2co$-m8-{&8PWQqyV(p*m6^>7grYU0P))upr_KI~ zD)4{B(ev4dWZR;((A6SHQC~5OGuAB$9PN_;d3V!Vjjv@V5%bQxESpoF;rOx*TESXd z-?VTNt^91rp9gFS+PS{OU5szRx7z;@;wSew%vE!pI$ox2R00se3GM`5!K(yevgaEp zsH1B%qTEGLc?{2j*SiC6dI!pb$YZE8-nbG{BKOcb7*ZZVU3dsBy`_ll{l5khN?3Uk zSG{p9q=nRbh=-MsHk{B0!@759IIJr}L@Gn~;1XSmba{_lTN*)rdjuaL>k^7Lu7*_J z(>)kchs*G@Q+LrsMAZce5M)bb#vc*&KJG-qN*RVgcDxFpN>9B&LJMnUGzff$E7EEd z_!SJ3Jnh0(ePUB|H4McXs@b&Lq{H%9jm&~Zj|>_Xi`Cruq^|G~9gcy>9t Pai)6kCW*Y|TBH90oz0e_ diff --git a/leetcode/out/production/solution/MinimumSizeSubarraySum.class b/leetcode/out/production/solution/MinimumSizeSubarraySum.class deleted file mode 100644 index 9fff5f0c0400648d1e340adf4896b7b163802352..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1176 zcmZ{jT~8B16o%hnXLspR6sm(rMF9m{=!Zem3pGUiAU5)mSb`TA(`~zvMY@>Mn!t@A z;b(Y(+;HQKR~kS11N<4@_!~58eP?Mv6WnBH&b)Kx%zK`0zx@8t1aJ*m2R24*Tr^&` zS}g~cFzR3omu)0$Bn7OSe&E-q1dK#-NkHCNuXq9{XZ^sNZ&XWOZP6{QQHjm2m)*4` zx9010Ta@(`e?y>uc8*1=jcUQ)@(PWTTdTR7g+}#;z=^6KP?^@stQYXUM1DD+%nJyg zubx-=vWN^CRZbnt)QpWrl_SpzbQkJw`PrQNJiIfs-A9A})}3Uw7gSh_-CxUwaA-PO@&mWFS@7IinVFr5cKs zBkIQhbwoHiTxB^6&gS?#h_?(n(8bXTMFUaB(SrnZ;{;dah8~VQEc#hY7cCi6F(W69 zoN44NWu}^YxI36qW~Mkb7=MjPMR5;I7&ZKs;D_{o_kDJ3 z054%2qx`>*VFs7+2njqv5-uiCrM|&0SA%@Wug76~8l(&}2N_x1ooT~mtA|Lp50P%S sk=ocIzCI!y=N%XRLK^u6N5lMq_%B#O{KTl37G2-bdw_I^w|8Lp56X|s2><{9 diff --git a/leetcode/out/production/solution/MinimumWindowSubstring.class b/leetcode/out/production/solution/MinimumWindowSubstring.class deleted file mode 100644 index dfb9a8ed5b0305f91af97cb3b7d64c8c932ec9f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmZuv-)j_C6#nk+%-osTHBGj?x-r#Se|6V2o2qftR0AQ!vJ#Cnk{0YkCX*$ZbTeCK zXB9>9WnX*~d=V6s^dWDeFA-D%zDnN;f`38(1uNqE-ATk!Gt9mB{P@nf=X~eBeE)O} zz%WK#xH#aVf`bx+*&E$%S1VP$4cYi!pNAw4OB@lfPKHsKj0$8+gU=^v-S9bKiikN~erReP@wuh^xk*3-T;l?nKno#PjcbvM*B3U8NQh2|&Rirk z)1qVs&2~g{mNijpC4Nk8%T(eAzn}I0NP9|Y8J5^7aa6#aYPRE`emc|)3~b(HRri!f z4ta^;JUko|==;=XElTS1^*E2?IFZK)$O-Z|iBkewH%}iwR9(V%rICb}Mw^AeD4P^}_0KMqr$?@Pz?hMZCfk7|ux=-M_doJBa zjDxGljF|oAnrCG_sid-&QS3LB9QN!%W&c(+W+ppQtaSg$dS<~$QCZK^Wmb*V4NodzP|2*>UK;sjPzW0CqvHpr^u;S@g^*>_==a3r)y06nB$tTPQ=~ z5YJ=ebd0Q?C!fEPh>+d}DQlCeYb2{fs&0|2+l;+O+cLJ{A&Pi{emrB`3+zYbKx8 zd_&3LW4(`Ej5RTeyL=HvqQ-CsyD3TRVaA`4>oVMy*ekIw{r5}o|4#4?yum=11-t+A g3jG1^uvggcutU5>&s!A#g_%3U46Lfe%o&tF0BJ7l4*&oF diff --git a/leetcode/out/production/solution/MissingNumber.class b/leetcode/out/production/solution/MissingNumber.class deleted file mode 100644 index 1b890848636d4d5ec1a59b1afef3da43b5307186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 475 zcmY*UJx>Bb5Pfrd2YP^fh=>6SJ3bO<>=YUk6B5t@LqoNk7hHrpa~#GR{UtUwHdZDU z`~d%qy@?-l2Ze01`)20Nytni5^S%UdguDrXy(n@~>=Pm<%29rcAj*|KK|gh`Y(lc5 z9Q%Ae9opWd98S2B>A04h^rfeQd|lN2Yc&hHyJ|L5&S*7pOh`=s7YIgq(5|!zr1&!G z&V0&)+JIwm?|MAZ^QCpumA7kYv**q|%RW<~`G$UdEbn9-It(7$U1!Ig2b{P-YAh4*0KguG3o$!~1wHZqz ci4>a(_L1yri6^6D?LEK7Z}2@(VkJJZwM)BWD--Tn6K^A`ZeFlC|(BN9hVXc#fkiDMl& zj!_e1I3aP;gj8;c@ep!qpHRywwd5sEOPmo1PB^aPJz)hy|J*McD=$}fh`+v>#qHj5i!XQ z>oGoCSjD;TpKBA%bA@oT(_W3pb9n-ZPJ7ne{FJre)AJQdN}Lr4PdjDT@)|V?F}Nv> z|5OZ>ZO<1)(Vtu;-`z-93gMjUpB+dz#)73_8&c5XMy024lScweCP9lY zfXfoe%@SHPm^akkp*7Qu1=sSEnN6m#77lsURR+D8jdgO^&9AMCUm*|x#X&dM9-gw? z1$Sd`8R7#C4O_VeeW!_D+L2}gVu38oSs#iZW&00|R>*S1L7Q`xx6# zPd|dc*)q&75(k8k$mqTS{6s?Z{Xp*ExvdOGyPGi z*0%ylokQs*gnP^-bflILSwd845onuR+UK{6K82z=H)RbGts1sst+*(Z5?bes^xuQS IJZd=d2P%m%!2kdN diff --git a/leetcode/out/production/solution/MostFrequentSubtreeSum.class b/leetcode/out/production/solution/MostFrequentSubtreeSum.class deleted file mode 100644 index 6f97f1f177ddb20ca7a0d24529722164c75d35fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2112 zcmb7FT~ixn6n@@hlZCJpTFOTXR4b*1P>8h@`D(OK5F`OL2$rg42}@W=Hn7<+#Vaqo z@ZOtx;f3BfTAv9xLGM}pWOvN1mH8++oT24WrA+fG+>#?F^W@D3jVJ)d|4hvML z%#5WwMcWVQP6PvOeBV*Vls}rI)BPlsX6iEJ`AZ{@Uv*1+96Cajgs~PsL z+k=3Z5(ti%mg&R={E@DCW*y6~u=KiwX&E!c+_GWM>C0J4&Lr|_Jv*=4rsPXP#aS~6 zMN1-?FE|snu~jrICskZ_Y{N(ub4=H;YFaCYnmJD_a4M3J=NaZ2?z+t?gvr!)KJN&G zj#ZRp*^EGa83?jH2KL(qGy9}-)5+3yHV@0|{Fhs0R0L{Mj-K8i+-_T38WmTG%$kwi zG;FHNt7SeVYpk-UfNf^h`1TiyxubPBF-F>?<+ixXv&8*lcd2~QP8$=Z#I&_CY`t=^ zG+acd!0DHkOhX&mHM}axAci!&h7JunmNlfYLTrycBvcv1 z@8P46&y*UHr(PF_eq6yDe0=ne;7wd5s(rMS0C>7<)b&$R4}aBj461lb#en#W8GZ8W zE5UM)@l{$qB`g8|{b=_t>WIK~d8p?h-qyaveSk8D2_e-ECYz!#U zW)BSuQ3;*LpM40GT%a-F>KebnxiVHF8zy>9{0sBMr5I8%6buKSq5UzMIi;4NV3|QU zDAR<4(l<=sutMbTvkMRLQT7ZjfWq+yiD4ZvYav>lL}`d9O%sAe1RPVRlK9(h7c-7x!-@|3Wvq{jM2u2oBsfmG|l7y diff --git a/leetcode/out/production/solution/MoveZeroes.class b/leetcode/out/production/solution/MoveZeroes.class deleted file mode 100644 index f56fbbcca77a5de071819999f3c7ea95b7759fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 816 zcmYjOv2NN>6g|&2xB*kZ32Bqqw2?AUEP;xmE^SyURYD?VNR^?P46#}hz!8}A2blT? zS*u9Qog#JM1NsM@I(F~YA*JUT*JOD2-TU6X=bU%m_rKp301i>kK*MeZD)w|(I&6XT zD}UsNO#!v?>{LK|9h`dt`L;ju-cE;IZ~V^f4tQd=gPuD$b;rJ}<3la{=uZTU_Hl6K zz4yj}H+d>9B_{F7ih?s;!~sVl#xuJzq3*FXws16wGuaeXIHkhk@LJNi)Xbo*W}#6Eq{=nEJr z6lq4CRh_%wo~qtLd}X5G0i(Q@ts9KSssR~fSsbsW2-b=D6wBjG07Hi@%Erc$Kga5b3l z6=Obv#kyp+(v_nAZ7P(GK1xivVJ%H*s7KC1J8#<74Js6JjSYG-U;d6PD$pW(rY>pG zeEE~feEDPTQaQ4BkN6f}YvVCpDdPzozW+H6?zvTuRq3cEZZ#71jeBkx(C(lMQ81-l Kf|&BNcm4sDh;^X= diff --git a/leetcode/out/production/solution/MovingAverage.class b/leetcode/out/production/solution/MovingAverage.class deleted file mode 100644 index 75330a351dcffaf3f384f34a16c679e28c0145ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 942 zcmZuvT~8B16g|^!*|uy8R6wzapI}>+`mG3(sDy;1NTgbWZ%Y~Kz;+k6yN&S=@Hg8vW{Ihal^z-fkd;a-bn$mBw#eFVUzBHKwtA&C_~~yl`Xq%m%~6g z+j!KLzTMDTj8-JyaOK;e!%g+^ zw(SUHs)1eKUbc6-9OI|lpq!zo_~`H!<}gDs$NC8j_7Ydtw`85-;|0AJliEYMvMDgi zMg3=)+(J)b^dx){Z*x=n6}v^6k;0Lp4)<*FRYcD>PVIP(v#5NXIb1l(-%S-rDmSQU z5jfAkljT2)^K)@@dNDn4baEeHv&bJMF1Wo@v|~hGL>0hD=>Vei4Y9QY#P?y8^7}}9 zib_t?=3vlTv?eJ_X%9yJ3;GUW#_+PV zwufYXx4w_04jdvSKqv75<58#srUibW|1+%JMkleCyz6~r$2hdUQT6}_&Qj?ZKR}TR d9~13qT>YzYmCMo^FR&s3@r#K97kP={(jVZ@y-@%F diff --git a/leetcode/out/production/solution/MultiplyStrings.class b/leetcode/out/production/solution/MultiplyStrings.class deleted file mode 100644 index 537c802d9e35a01e71e0f41b103205070f408243..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 zcmaJ=OHUI~7(KV0nL8b-@*1%UDn47l0-{wxYZOCbf}&zDMiV=2Cve4;W4h)P9$s@QAhxm&$$JX_{+7aCJFj(Fk35yw@8LYq2yFA zF;q)lO^wrbDit><3Ut%{4{@_r{#CIvxjk?Uy-+Wh`b8iVPp&&@4RROU^}ZE|rSNzc zS0i+CV&eE_0NT(_OP~XtT$wDsLJy0s^)Dlm9pIADdTcHC$r{yrv|`4vjTdlijZoV1 z1#a})#xkOTsf^e= zQj0=SpCD22Lu(ejy(NAJJCv?L zok#eB*x1bqSq!6#D8?EGu!qRPVcbH3NYXA~FOh+#NQFppjbhS#dX~?qKhOyltH`UBn^QH*kb?Mqq8Qg_Jldag2WZ||& diff --git a/leetcode/out/production/solution/MyQueue.class b/leetcode/out/production/solution/MyQueue.class deleted file mode 100644 index 54b39ad7bccb74d4ae0bf19cd9879add1d97d34e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1417 zcmZuwTTc^V5IwtWyRfCy>H*Ic_A; zfm!k0Owyc_+bub6o46yfyJFlkao8Ob}Eh^ z)LjkZC*y_CQFbajGfNfU-Er&rc}WTp*Y;~fFL)KtpV!c4PpoS&o>aF8)m8K=?z3Qj z)2**Ln`L@>i`9}-UU%xA*pbulcfAAR6_<~m2X5dJ+o%NxyZqQo0;j#^Z;9ZwDr*@v z*JU59L|4q+ulYyHddbjMAZ*6$lRe~5ITX#ZyX_OB?(OXIJMcfbquO7Bol2)=rxp=j zIfZ|=MkkA&{Ysc5SF1t2EO68+sdaD`9%978BaCV=qcR%0o9|XO_uLY-Fb|z_;I3>_70%#{4d9|gDk%Ig zFW>qya%o80XS&6f~+U&K(j`L1sc%I{nWwh}I zWOB#Qa$ljpI7Zti7|meV7du9~d>Tk>h%Y97`kG~W z$rcpDLLY@l6Rf|5clICeEJh;UyDTEq?9)Y(-_g;4RcI}hdC#{xM4zzMAZraN+;OTQ z8ilRdQLQ01oQ+z$g3+kztZEgi9ixHHCaMe!%xJ3J9wF(nx2!FLe8aCyCq2pJx9FPU zHzA6@`~6eYFciaZf@3h5*9Ti+4u^RWCJ}H|EsWf3-gHbbKkPwbeTt97WVvz*TW9a# N!c8(dMW2pqe*i3X{cHdL diff --git a/leetcode/out/production/solution/MyStack.class b/leetcode/out/production/solution/MyStack.class deleted file mode 100644 index bbd3677ce55d7ea090ecb1ce4cc8f0ef4a9bc06f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1372 zcmZuw+fEZf82)B^SXdSc1q(3RaY4vb{owhBq7l@@5-uy#s@U9WO| z;@|Zpw^1-kJIR%jZSI)WbVeR>5jTq!qAyt`%gzY+Vv}0}{s-kep+Z@!WIm}Ex6SIN zv0Y#%oGs^!!j@6BA8Ijo#f`D}?mkwgoa#fp9C%$^Hq8|8X6XFjr|Ox;s5BcsyM zgIgL)Dfe3^6&owaOhAQuVeMUYn&>L&o?&75APtjSOj3pgz_x{H$%PGSPMnlCqy2-G#saJK#8qArJnsBM1n^KfxdUg5U{M1y380 z@{b~cJE&4ZMVxuagW^G4!exR9TshbL)&tE*&=a%>yu++JZWZ_e?K9ezn%25F4m8N$ z|2d^uU25<_+PVytwU0LXDSQAi+F0Odk=)B%J<~PB{#8c}_;Osc!#o)vPD%#Px8nIW zJ&D~?Mm8=5$WRkUaN=}%-8hGNeuQC;GKH~oE-(+5A;4@#of{k@myFu&gq>8zG2v0Z z@hDTiX76Ke4i|E{ki}1#Mf3xqT~UJwavUSrB#Gm+n?MrNn8QqyxRfVOVSn6-LQp(WALa|tCei2ez(?SqwQ>)Pc_Mq`7T{uYw7&<0B`GKdp zaKplttX#O`u<4>*=nAYoxc4t`DY1CVYImKEK)JP7mnrlRiE!xpnthz*6uEt_gu*}ysKeCVD`nDuh_NQnP#^ureoIyGy;`M z$uHPdt?39vmz&*I&AMgFnd|--vvPnsbo2`h^$xRf*Q(2r>KMc88s>Fe#|;fd9XIhF zd)09Z@9W55Qo{#2O8Af!kM2gyg>nfmRX3~}H9FCYE=BWV+`DtV)iUo>Z)MeX*r}RW zDHf&7Juu#sS!2_5y4DhJ5QkIrFJP~-q-)km-$-~<=xL%L#qj!Yy$fb%U4~a>XeVdrf@ZW zL*Vm01Q*Uei7uulGr>J5nV)$ObioGQpfJLOl9f*}SpuiLWO%@Y;cu7)!i+hMGc2Mb zf;e6y&RNFGM!d5To{iEIz&SpgBj0RD{D=@EfbG%r!49f^TQf@f;7MpE6wIrJnm*XY zd^{A(?t>1^(4=F8i=k$B&>s&OTI}|x4-nbX#DjnTjw|udKGa{K1@PIHO4sk1xZ;_? zykZb~7vrh)sG;m3{1Z;f-BK!@8CAZd3R?;@{*t;Xt`v(T59+9L9iWbq@)${9B;gz> zPm}IE2^VRXNU_56JB+Y!0ZmNc8zk`^ChZ z3Nb!r`~<~WXC)aYr?!10{I)ByyawC8@N##Nah~wQl-EOh)6YB&If4W;#u0gjGa8Z_ zQsNLX5r2x%Qw;ut@F4vX03Q+dQ3?^>NBTku~Zf~#b5jf&2&=K{ORBa1m#n=7mlMA}tEa?Txb&K+^i dxl9A@Y1ZW|dG$d#L{JP2Ndki3iM(yO{{T63OK|`I diff --git a/leetcode/out/production/solution/NQueensII.class b/leetcode/out/production/solution/NQueensII.class deleted file mode 100644 index 1192a3e5c70efd4b901722aadd093189acce6b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmYLG+int36kUgNhADIky?QCot5O(D;i2-P>5GZUB+$lGNwhB=U}^^u3{3S0`V+o2 zeeuC2rirG;n0|m?;H$r38g-pvf|<;jz1Qr$*IN7h`19=wz!pkLm{?6Bj;?;#2@-SKiC$Kg=Z-$VqaKWw;Nzb#IS4a!!QfRz@w+I5uOBy0~*{n#Te=V|oJ-#V6v5^Qzg>)hSZ; zbIw->Um!2!cCK`FhGn~y&0RvhN1DMdGj%{6CsKU)`%4>=p`m=}-J-E6+DOsFG;Z@; zrgkbaYw rtL1KyL!!h#iEvewvE0g7ZY7dSE$r5|BH`DNB0aB#3oLV33@iTt`A~p1 diff --git a/leetcode/out/production/solution/NestedListWeightSum.class b/leetcode/out/production/solution/NestedListWeightSum.class deleted file mode 100644 index f11dea1a71cde3850ecf57e228b9ce7b67d675ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1286 zcmZuw+fEZv6kVsCcAy<@rLCYXf`Yb1s3_iOEh>s>Qjk!CiBAk=(him>nNE#Oh3VZrnJ>783 zYFhF#$-F?o>f{Lw_c8>cr;ENnXcwO9;bvP3@|I(i4Lg%#_5Pw+wsfaqQ~h*r`LhX9 zPq>$s$xB#~GNmcaHrqu6d~SmRf+TNU_Bl{=^wOI({lIld#XZ_DFw=YP+463oK(W@a zOU9}x9UnW#)Ol&5h5-y}2qUKAzJ>=_VjT?`WHmelM>%jxr-o(u<`EvNc%oqiPc=Nl zDra&|0gl0)Q&qRh=@&bDMv0Awx}(cGhOIj_TVSvY%6W3yX6IcrkvuV=b`EEvR`mM1 z@s4a>x7V(-auaUzPn4AtH0v#|c~#1W)7eB$@w@XF>1ywA`%KH((yI+R%9j3SEs=2|7m0XqiGSV!uCl~0_$UV0 z^yX%d;1yU>#+4%|0w1s}BcH$z_?LX+z9Xm-jl^Rz?i2We{>palBf{~NL;?aaWt%#Q z{reV|Y86-Q1T}%4$cmFhQq-MgvukX0gIc8ti_|fRIm9u+hXs&71PHUK4wz0{TY(3k>tVk|6|<``2YX_ diff --git a/leetcode/out/production/solution/NestedListWeightSumII.class b/leetcode/out/production/solution/NestedListWeightSumII.class deleted file mode 100644 index 8f6b241861d59067174c1116096bfc8e1e552ade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1641 zcmZuxU2_vv7=BK&n{Bq+QcBZONU#WnB(+4a7Hyh|oyTss$3AEBwMWilr_}eoc1a4#1zW-F3>qj*jbzemacN zTpX!ek6_sy-)*|xa+QG6+g`Kd`28-STpoq;Zh>G+lXv5;@Sr?`Q{)K=$DOI(zVk$3 zV%v8bKW;gPfj$PRbUE7-mw?S#9hwj?G+jabduEOLnD3&XXd4s*#eBqdHaSg39T28O-K4CVm z<`04PvY3hUj~y$-+ZSS-%M7Pj-V;jmye(;JjEI(DTUu*tZDPw5yljL zMz$!^v;r}%>KR>onEe%IrG+P?&8VDTTU8o2TX`Wu3X z`6uMliTMA;V}<{NWHsa;k_{BNC0rv3^m#py;3+b>tjxzn1FQA0`V2FDupE%q1m6a_4`E<~A1g09U=QM}?w&QQw?H()n#-L;Owrt;3c~q3au6rPm zYc!qr!Ar;Q4+A@J2i_xY@cu6e=#}ldq7Zxh>ZJ09eGY5e#KILwZv=Md?F)PV-|~ZZ z_P#)ZWA$)Q_MA5X_xSG4E~5;bKJVkcbLjZ0eh}Cy#vHFJklYvy{f_h8RpJZR^wsw4 zLpy~y5-Hq5DTN|RlzgpAAglUTd$zZ;+G_7PodEOnPN$(@BsUT~Z!lYB6pVWH4C0hP z!vxQGSd>T-r$!B!Bm!|78J=qR7gtKgwskJMPmB+kH9jF{8M0fmjM_2cCzv?WE>A9h z7$1?TS~1mk2JKYEb<_Bas%5g3{a;WfCOSi`Y8g?ZnvZe*yHXYlm91lnc#_O%<{8W| zpCz8hG?r1|gNnGv>O++Aj3zaC`w9lOS+g-0zNkvo_i>k#S#G8N=xqw+kmu`kyym_v z-6-%rhr|VRQPeXRkYf2auQg?TWWylxmM^b8kQ8s$T9#Rqtt&tCp-&4OTqM^LH!p`u z)>u*dN8Tzl;#cTq$gj{$s8gr^WgTK?GTY+G<7DmB-|GW{z$Ewj`C0FY%m4S;l86=?9|Mw;h} zu}*SS3K>=wF%6&hCbEoxRlb|SI(u0Ha2&H)-a4A2RxrT_qG%|$^Dx5J?EKo`{UoY3jmL?9EXj?7)Eek4NGwj z57dyiQLy0&$VM0m7@HLVv(wu<6c||vJ7KgYVC6R}g$X`E5!B;no%>#lxcQR#fZlai6agXdn;OW|ZSAzq5VS%ok!uAYR+=b(^i{ zq2e6BMkww0M}7jgP)s0>SOTMJa4?sEiv{*wmkLa%;&Pkn<@Lr+t4Ro%FKi&o0Bz=L z@L|7RQH-+%LG1*`G44LVgyigb=MY};42D;{FzesrXOME$Ena-Wq~{jh(mBi%L!4gz z{=#aBB*%<)n4rQWm8bd45;KJy=K|(1&YHWdoy80$SYs$3OtDV=JoRy;nBjUF#wE+7 zjaeHh0sP^SK$;?b%w5WuEKIxJR~SwySktq+?l}u2Q%r_tn$l$sm0fx+kS3!!yng%8 zJ*|o8M3dW^Eyn(Nt|XNh_Q3dqi4YDwB?C#T*?CiP>+6o=MDOb>rHF(YzWAwksk;w)Wcrza@1`Fg9EqKp(k69Jh#(u2cfd3PSF++ z>?1-}4&Q_)0&{hi?YhH3`0f$=b~WO>LG+f=i#h`H`$N||-gW!B3uy@?Pe$EW!BH6X z1gt`hUy*Gkiyl(3N-0{EiA9y#k46J8cor&hnb}OI?Vh@6B(RxA92PszLIR5_xYcoc zM_YTXcHj-ks8DQRgXb}MG2TWM5gEh@Bq>vLm*|bt`=Rs$qCEZtc~KreDaR_~YAGk1 zdD;98!}yMv+>y4-oueUlOxw(#<9X>DVz#W<<^)Ke(3v@#u z*FVoB<(CT*h+&Shf;44Tr7Nmj;sIXhToapk zjRjUowHPaxs1?fc0Q^U~I>SR`am-#B&bAp}gL%z?hJ~9JgSf(q5aKTq;u5t>UQuw^ z%H(eNIK8W0m{+QBx8}^qIlkI`b>f}koYVZuF@|0=&OX2$O@3SdA!kO^!EKUKafca- Ss6wlns6sg+$#`COyZaAtUw{_? diff --git a/leetcode/out/production/solution/NumMatrixII.class b/leetcode/out/production/solution/NumMatrixII.class deleted file mode 100644 index 008610367eb1bbf85e9a08cd8061183b0721b616..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1429 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 R0si2DY6OZS=UL$3(m$9_a=ZWl diff --git a/leetcode/out/production/solution/NumberOfIslands.class b/leetcode/out/production/solution/NumberOfIslands.class deleted file mode 100644 index 86f62021deec13182e2f8fd2fe309311eff375cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1610 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 A%m4rY diff --git a/leetcode/out/production/solution/OneEditDistance.class b/leetcode/out/production/solution/OneEditDistance.class deleted file mode 100644 index 7b7537232f777e303f0dd3910b43c9e83c561074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 863 zcmZuu%Wl(96rAfvoVbQI4?`&g+CphwG!jBx5EK=)fGVX_BB+b5a2%7kxDLb)>Id*2 zl`5oevSAY>g!lkH3Go^`k%&?j9-lMkoO@@^{r>yQHvkW?p(BYKI`X)wL&L2oT8>~P zf>jN-HQW(MJaTs&-D^7n^9|Q`o)3;&PXDFV^2lTwJ=^jQtiBuN6H*Dg zZXl3u?EB7>wj1uaL1_85QzPdFGo-+Jp>brrx2m4ycdE^>@A{qEMW%QtAY6XC{CIli zVhanQfD|+cA>mRpwCp!~*4v3Lz1bV|ZRe>QDbLO5*oZV3NI}=IX5cQ?4J;sSpn#%* z63PZDxW^sL%n2;~Q@`Ija%^gtqQ-`}QP1%^VK?3=EhOx&)ql)ZrLbGv7DxqyRuFp^ zFiHK-UBY=cusnJx+L|7z(o#HYAy5EC)UH8D2E z4Y-VXW;B2_k;7sM3Oj+5@(5DBLfBODrt%SbsX|H~no7RSRF#MFrfRDBGwhU2bp)jn z<0-0aKZ6;QDoN$l2&^ZDWa4<5`=E;RKVLa<3QakOA`f}DOnt!p7!y>bQC$*?G`P%c zm8#3s{gA4+Sb2dgUX$~1HTG7g{xv*9hP)a%nYfIi9L(7H39c}bSPwXr<&ASV<_%f8 ezs8vylE1JhMCvCbQOW**n%at%y2P4<>wf`7^re>o diff --git a/leetcode/out/production/solution/PaintHouse.class b/leetcode/out/production/solution/PaintHouse.class deleted file mode 100644 index 364ea8621f282a943cd701370973edc7917b12e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmYL_%Wl&^6o&utjK>h%rWXtpDA00CY2-kK%mS26B}habl$_F zKxI20598!{YKf}Tq2ZzVWPG^L9#(za#vSHP!vb?Qp)oMoeq*bDn8ak8ol0F(9FU3F zB&@Ybj1@?Jm0b=fLeqNm8axG0_rWp5_cDBr)`r1-p4Oivpn?mf=3|Bmi-je$P4@M# zN>?^zq-5mENC$fTRm(x*JCB zXDz;-9#3Lr!8eYQuz2@MFvSjYdvG^^ZyY$$<%1M`5y#(i!j_2Wuhb0eJ1sCuKFWKlC6C7Os E2Y(J{od5s; diff --git a/leetcode/out/production/solution/PaintHouseII.class b/leetcode/out/production/solution/PaintHouseII.class deleted file mode 100644 index 15b5a26fb1265eea3b562585aac685b68c745b08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 887 zcmZWmO-~b16g{u=@jBB2)9M3MKtV~UHPjF@8zGg9U>;#ZlEU^$OVR0Bfq-y*x&1$>hCosV6Qeit!nTfOw8xb`kSx$Z~QDw zNG1|os{4)YlGliW?Vu%)Ju4P)P9;w(wV)bd8aiJx`BI<{NX9g8C7yz(as4~Qw|?4U zH2WkS5oZSiWQagKgkeS&i(kArXjKZ2zkadx3#!sVmgcSG(APz1&m+;4m{+rLfsn9;RUm= zpsEA_3~t~)YaM20@RA)I&X`4+eH_j#;2FC)oIJ)} zipZpw{gbCl&?qzfU3iOeW>fUk;XH@lb7@ISZ}*X~@@dfucqT?mhR@4N4wd(V0Aef#tID}WWa35;Mi4g+%un3z}5 zf{Dch{T&lI6M2Ey{h$?e*97!jeoH_;Y}b8((Q?r8tG(v7A3pWA8_bNA+cmGT<%NOT zpC@H^C+G-FlplMIpj8jsO`pI$zg`YH-BkfA=nPK;uH?$mQpO%(!W=pXoDhvX(MH@@6Yw*1!w%T}bysP~%9 zH5D8N;Wa>r@7POHGbSRJF^bSh5OJwe7jhIWEfk*=a*uIl00&qA>ez3P;tTQY1} ze1|z(9z)s&&084yk=kmdD4~^%!?W-5h;8+VN`YL-50axssUl4s)66Z9&@wY?B=mss z6Qm-#Yply5k1_5g94r!%BAztQC8%heIerA9CKzd~+`uFw9aF5dVVpvmu(>j)NDiX( zZ;sN`^PKB{&vMn+{Q~2e-bbubtU4#iI*}Sj-M}Yku0vzX^5NMJbuk|Z7$}>KUSyJ2 zIYk{dIc0E@&1d-y78vDlD^j$=A>$m)&q1CXccH^&mC_N%JZqJXB+=6sIxJ`x?6a)9 IO|*uYzj0QhEC2ui diff --git a/leetcode/out/production/solution/PalindromeNumber.class b/leetcode/out/production/solution/PalindromeNumber.class deleted file mode 100644 index a87c04d29754b50cf358ea09cc0322000e1c585d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmZ8c%SyvQ6g|_Vsm5w!wJIh>M3B}+>q2m$tqVaAe1YP^-LwXqnl_R~(SH#HUAXDS zl_2N`_!a(xI}!Cv3@@Yu`iC;~RGol&)be_&w-GLn5|=j1 zM*>h+z-yfrn}*(n}t7uUoDlkypUPwNDEm1n}k%m>dWp) zb+^%Wn-OM_;%C)Mff|seH&|5}1!H>Q5#k|kXXuR>6c}Kh{T;v{OjZIzF`|~ANvSig z+1E&GeZA(`mg(PN$g#{;?f&~+uNR$L%-W7`nP+xU`5QG^WWUZKpF?kYpA;I@*?ArT zDV08h#|KzX@!$+kRxpf3<~5AQvKBZsjX9zt@z2&0fs}(BF(rN(7PAyLz|1f{Aw*8O N!bkjxJn8 z$18rzyV1R~>;<2?%S~#AEA5)wTyz6p?R!cYuJ|2+6P258({I&-_8sr0>j#}F-muoM z5*W>VQCW4@-9poCH44=*@LP?ku~^j&{br%!cS3rKRgN-;FQ9+l4(g0>@(5Sv9(bK@ zGZYv)e9K6GzIWI5bH4J7?ex+6D9Lgw^cr3;RpKLXtQxwtZ|B{$2)&6JfmGFRwA`>8 zkfF-+;CudPLw={9Re_6{IM=5MJggb}Tp&>!CxNp{n4r+)2zqStVEC|8?~ul_>9uI1 zmWilIt_oPyb~mVb*L>9pFZ8F?xul9};}`~6r>MYDHD`jry{k%U<2Ag_CON2mk5(JA z_|U{hHm+fgblUhBWfNCze1hvXDwt;*Jrj(zKDcLLdDW}2{DTKkRlq)*xX%R4b+_5| z7QPV}$&`Ct*H`0xuY=^-cZS=EZ|ra0IPg);tGV^Mfb(>r_KjHbBtv*g)2PE*npD*7wLN_r7zh&)Npvv`T<)6^bB=fyv;#d!8HbiU+X(fTR}o0U$Ax(q|4sITQ7AXUn9DoU-WryY4) z){BOtJH{sF96h}WJLl*RU~OR_&wZU@(R7UXz}P=9;)A4PI>}$5Yxg#Ev0?0O?d`~W z45LNdT!=!RVoImU${C_Kiz4wXP+BBYpHb&BQN_!bv@KE|#RZtONZ}%-Bw4H?LxyxR zb{%7s3P$Kv2YbwG z-31H&K-CSRDrE;{kq{7%4M-p%Hn8AN@B^xfaPHVnLX$-;-^cen_nz;&^V`4Q{s7>4 zTnytdCc@mkpkp$O0472>ffom1;3XZ$q$MwfsXe+Q+O+N3 z-mE|%mA)XL6qRUOZE#!GhFV~FZ-%?TXd zYf_|1K&)~UIcyH%NA~8W!R5FtaHP6Vp39Ee;FYV@w*+GUzuAXt{o9S+7dX8aW|rqY zaX&!MZ~IRB#>vP7WzVc#nK##bI{k{A(J`vyEQu@I4cGKKEpk8i0K`2oXt><$v})El zTUIr(f8mbHIvF^Eh>kM`&fyh-A-{ILOSxC9x-6HDR}B=AFffPL43sc$U;*cO0|SeA z-M||t3mn`X+V*7Pih(!5ev9pY09JpeRn9N3S~Zq^m#W)6to%;qqGz>Cui0WtJC@t< zR{WM`mqd4b3QfmhDt0HkCVX~&v2y91Qn6g2t68tpbvMyn*r_yIM60csty4ULk}9V8 zXoB`OSS+=>h5LtKarG6myihezpobw4?;-pA?i_PUzR6I#v)uNd z3;9YFi#@>I&j^p>5I+d=HvslLBAky>8s{pws$&}vcYN~@XRWJ5lzXGMkKrLoe9ee6 z34_HyP!Xo?@60*|W|GR%_XsRx1K%NVX#+|*8_0bPbraeEE+&&dLm$X1fk`#0CO^Zi zY*ba2`ksMFEviM;oA@{r)z%TrL{-k8qAj&*{U#!DC8{Y)IR@1yuA?eNDO9ptHxUxZ z>v4S(VS($Ik-I^GpJ3#J5+WYlz=3=y9%6P0yN-k1Q~8I;#Y0``_STQrG;w?D{c9@c zYBrhsikDL$37I2fAcrbhl>Hf_`~)pyq-cWDNs=>1YThL|AK?+)Kmwm5iEr>Ie!(z) zrTq{3{)H!fQr||1_7Qp}xVwQ2eG>?xfKM1P%mQTb1s>y0l>`$(k}r27tR+8!_>=g< zEQEpInRApM?lF9cr*MoXewv;m)N~P2+XyKlbp6x5KZvVu5lYjM(eaGXk=3EIA?_h6 bviERQ$ML%;+=a?Nn?<(IvxI-n-{t-Tprdxl diff --git a/leetcode/out/production/solution/PalindromePartitioningII.class b/leetcode/out/production/solution/PalindromePartitioningII.class deleted file mode 100644 index 7f08222b53a81e47d98abb4c0a078df47dd84549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 923 zcmZ`$OHUJF6g}U(J}pJCGV&@4iqcZ2m4{t`nivw2G3B8=7Lu4w+p!Fksg8rujV$C( zxG_c+Zrr%RM~pi+{v%DKo*76mF-$Vwckj99-Z|&a&x5bu0ZigX0;e&Yz!hAT7?2oI zcUrAhlxGsiVpJk0aZSLu>G@uGTR_cZR|T}0X3Z7oD0#j+zr9s)gJq}EAd)IIt4?Fp z3A`vj0=016dn(XZT67woUkjRB?xGWfUg$M_&#&9|G(WKA`7_(0fSD<6IM19y!}05d zr7$32I%^Av4Zgh9YQz#AU(QVZPiDcVLef}Q)}q!&Y+GA)9q(IL}(*!z? zdlxDjZk5LVfey`cH4WFVhwJg~>Bgw8JHZ`NwTzve5jb-^WX_3cT%~}XvF)slA)MkL zjvfWHi8h`|W(D4Yw?6s_;$vKH=V`lQbjov7Yl4aAdOqtippCOCJt`zTEUo7Hf(^%NmnZ2>n`45z#B9cB8iP8ROq2ncbSyedcIl28*(~Snw7=VTg>=}m9V!@EOC^0A`h9p$3{tuEuSmtl&zoV&|?xq`dx{;2&z+V-ZaJ1i#xW^>|cD~xuuXU-d{YI%4g`VG7Ej$qr4p)WC z<9fiw%g6sMC2ZUE1xzRC`jJ3to3)1D?FbClBJI3*s9z?8iO4yHDTR4~bS>zHj(gvW z_2iCuP9QJESQ%JQ3Ue9cQOIBcizNPUxxnbLj*WWDbx3m})Rz_mQj|sJM$}9uP2Qm> zs5EtWHw^V#&OKk)uJBzXUn%}l;15u=13Zf(?PJoGMcZ7G@8p}EvfMM7|6$A7eOP-^(0LCf4}DV)yq3_!qD+!m zn5U!?_v_5Akoz8^8{8k0cbmk|Fq)`YW8FNdM|f6PMGj*aPe#)^Qb;{GjR|Tr;lgG% z#msX|Vv4<2*m;^Ui7YAD^^gwVG^a2l6lN992oCfoW`4sI;uo?5gLmQ?pJjOp=l%kv Ct(WTn diff --git a/leetcode/out/production/solution/PalindromePermutationII.class b/leetcode/out/production/solution/PalindromePermutationII.class deleted file mode 100644 index bb64b0af8c10cad33ea13bdd6acd0f9eaf8037f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2285 zcmbtVOH&+G6#jaqA22lGIS>-YM8!A^uMo%(9T+9V7<70?NJye-W;)Q&^h`B9lu4Ct zWaHLdTv!$x7M5k$kSG>Ez<*+u3zt^Pa{TT*GQfnCRaSN1d+xdCp2zo{+x^==zZ?J< z#99E&7zrSb_cXj8fFC0oMgvfUQo+?KjEVVL03YDGkUkW{jR2Z3E~JlY@G%lXnh?XJ z7^XB#YnYLs4qJ}p#U=Q|o%0gpv2@CmP?xYAb27WWWV$zvC7YVYL^^5M^M-4Qbx|pM zE7pdDw#2kyTTaSNubb1RyPow7&q_Pv<1qT?MW-U8qx{RuBFdb2I%h8%2W=eH;9P>I{;Vl-YquM#oNUlv7nLJz?W;I;UFsI=r z`P1-;gz7nK*)hDV%V<~r112W~QddknW4aRJl|D*!Ri=2Xh?wBtpUl$D?Ei4{(iDa3 zz+5`(Ce7=XfVREd4o5nsSJ0v(h!(=7V;&0Q=&U0w4T7Aj$61b0b*X% za7V{o+!KpWb$o{VI)-pXhk+&Xpd*Qt4igV_EMrB71-4r23CXdY$}y*wR?Vd7u(GPq z$f5z+v!@PcE%GgtVWs=#OkN_}dQ`YrHC}pb#c)Sm*LcXb4R?yes*%ZDxs&6sM0-pseMy9SrODodZKHzO~cNbQx7DZJ{s26Zzccf;f?hhDHa?&Tu~{^qPX1xB*G|%$2*CTo-%FIGxN|<+fHpohnI0u zEoZ}YX%`BQzXDLa&TnQjKf2&YmbsvXV=GsEoY_)PB2OXhQt;t4M>Vh1&_-D=7~l-f za#f9XglNUX(w~r_QMcP5;nzSSvIpNp_d(nrm4k9<8?D_zc`&MU1(mzK^8KkTS=!0{ zz7PNHr;sQ1p>S3wY3z?GL8a?p8`o&st7IPIY*2m-rTa-x`6en;DfIFq`SU4%R1K

H6O^AJumeSCYWARaKSOQz6DBR^3!Nk` zqC^$7EbA2B;@pLL44?rqH1gNfgd0R|hM3J0wOc%OkFZz-BTFd0;QSSBzQ%d{M3eO6N;jMCE^loSCO-b4py6+bZM1wuT4FYz|Qgf@mvbRt5g;@Ds| z=a_4EKFg9-53PEsNh6SBqKbw-4Hq@^OXTt|wB?wsT2fxpFd+0T^?$=BJx9xPC^;tj z;#A%MKAQ2#F_mLG{=$yNKlWt?^&yIY_|_D=poZy*k}UFn>RTe*^)u>xSlIQ)LqfHU znb3C#MnZe2kA&nDr|+Te;BsCQmBrMs5GgVjl*wsVo;?ah!XhD|Zd};%ljI*on-dWx>!O6CR?SU`Qs*^LbwUqKG{5 n6eztzhKL)b0xu;F3YroJIurscNuhq?S_J4_o{RCM55xZg`R@j4 diff --git a/leetcode/out/production/solution/PartitionList.class b/leetcode/out/production/solution/PartitionList.class deleted file mode 100644 index 89911a67b9db035cdd072ed672435d81f19ffacd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 723 zcmY+APfrt36vfY-znwBztY{rXDxfgfKqGP08Ws|bO~yh}L#n&iGLeBgZOTCSJZ{)( zq9M`5r3*g-9|k-#r6|qxzH`sJ_rBkIe=dIf0`MGu9yaD|l=IN=$YGdI!-9=P8;=Fn ziztqg4T0{j>Fg64wKST> z9=uh93?jQnnL}FrqhU9E9c8dLc-HpSv2u}vBgl}cYQ}2K^o*KS`3=AF4aV$e6g;!?;XBNlc?#FF zM%v=08Ju38dzNs|V-pRkRW4t6nvRrbEsF-RP23^f46iW9Y>6D}B&?HelVlCDwQxJ* zeludb=5Et3W_M|G#xx(o!4~e))0w}*Jt~9oB}!B#&)C3yDhnP7$}lcz**0cuJP`h` PKcJMeIe3<38Xo=y$3u8D diff --git a/leetcode/out/production/solution/PascalTriangleII.class b/leetcode/out/production/solution/PascalTriangleII.class deleted file mode 100644 index 0bf61ec6d2d856297a55f147fc207ee5ee8e76da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1117 zcmZ`%YflqV5IwiM+bv~zQ+yx@%A;VVDp(b;36dC_6hR>njWKT9wQOCtWV;3Nv%f@R z{Hk9>G%@HQrjU-pz=)2~C_)%%MjT`E7}s$w ziZBxLI4_Y2c_ejQ&~Z^9JZrnQpB7N!W2*w{e7Rr=v}JAAx?O#mv%D2E=Md@4mh+~w zYI?Tx>!9kd+Z7pGGAoR(Fz6N?E0dXF;iBc=EpG{Q#WQ2slDTOntG?|dvv$R2Sh)N$ z{7P)P;aQtBZGnha-paTI>lsmpnF8%c-}W?e+1}XWGkhp_w&puzmCU%lRkXaBG@G|9 z`)2;hg1HgQq2rQ3)3RN3O~2}K*7#Az|Em;TE?2$0b<>s_#SY6bA;&h*f>z3~FTtGW zncGqab~Z4HDFc_066gq04ze|HMMkgUnt^G|7?{O%N^-alq5Y?exssKqaIO0dWiJX^ zv7eJA7fsz2u7`~OP8xKrJ*7Yq+x1sXr^>vOD diff --git a/leetcode/out/production/solution/PascalsTriangle.class b/leetcode/out/production/solution/PascalsTriangle.class deleted file mode 100644 index 8dd48a0680c265979bb6b7368c00a6e47ffe640e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1300 zcma)6Sx*yD6#i~IWuO!&OHsrP6e*QbTqsJhiYQ5w0!9!b#)N4*)~UmkOs5!p=9loG zuliD4663Rpe~1|LyVF|A^59J7+;h%%_H)~x2VcJfxQ#hK+7VH4-472Uel%lLa#2af zB#EgQm+Bi*xGBl4R{Bk-h^v?sXqq-G!$}Hw!y_vK%4{*G3v{FnOJ68&WORF3%b3)3 zrHfh3T+wVp$~C3pyf#V#o#`i9iD+q=sFgSMgg|p%w{%-`=-M4ljid|OmKG~Jh8as6 zC5Hy0z%Rwm5Kyi1#?#_khEg@tv|TQE(#119gd1S+=@WUl99JGr)+Z&Qzr-U z|F!s+ie)>i&lz$XJ;w$=B!gPLFvZjwKWb9y%{(3VPNNXg|y>=ge(xX=Yhpd?nCZZ@n=cN9@&dITx;u z+C{7J67GF08SmIHFDI{xH?K2j=xC^#F>jnvqjTn zJ4VrRD+txFBbBXT0B!u`$;ShZ2SL(KN->^-r!TSx@yUg|NSj=xf^PDGssVZsqQvHL zhC%2oBD8Cw&i)3^^F4UyYv+PDu7s5SU93gD%4aAQ_>{OWJZ?b9GO_CK4A&#@O^ilH?=g28U>{^GC>!*$@qUU*BV7EbJa1oc_ t#bsLdQd7kS>ewK$D=wxSpj*XN6+_}TI>kOF_8IvaF%O0rHSBUDe*t*~DG~qx diff --git a/leetcode/out/production/solution/PathSum.class b/leetcode/out/production/solution/PathSum.class deleted file mode 100644 index 33388e7da322422dd1a066f6263d2d1c95ddc594..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 581 zcmYLFOH0E*7@Y0qVPmwl)^~k-unP9#%?E;@2=xIK58k#l+GyHHn)+Y#4BAVO+z6hJphNlQyPoObb}+e$$UP1>|D! zM8Mb%&pd%l*>8FW?MBs$j#V`vlPiZc6`ZKZ*L^}7aoukTq{~Mtu2YkS30+DBm+Q}j=BaI4)A5PJfBl~~oT_SJP_?^MEeRP%Ox9l%XoS1#3! za?yjdjTslS$hnx)Fps>846*|DUx2I@mjcziC>>TWy&7lt{3c?Wz&j^nM*c;eRorN9v6#k~&va~GaB2+5i4bip;^}A*f;@wd zAc;vu6MstLLm9u>U7%D$$Rsm!E_2RzzH{dHpYJ~bjN(-caimpbVhAA}Lo0@&xQpQ! zMv!g6J=~Y#1GznvE~8R6Cbw}F6DlSJnx?Ii<<1C%Q|V;^Wv*N_1={jf$y}&zub9q~ zv0_uxnJ=#z_OjtvQVx`gyJ1xXTJmoUccW0<&gFCgb;lP3`cwHO$21ohQqQIHo5rq@ zt-6+-&07_ho{Cd0y8^LOFT$u)w*^Fw$Q-j$wP|nv_hsTNnh!h2h$b3*r~fb8Mrl2p zE4k*n>F6_D0?~rCUNYRO!(yMG2mIn8N9w~g0MQ#|kA0iO2n;sZf{YEI1zHQPvAXrz z*a_OPc}~8IqP|dSi8WRzSDjUJ-jdT1KN)}#*<}rFXcy?J?|5m;EXuxXNZ_W5M;fNk zt3uZ>jmIixG(5pm4bPC&Fe|q<%xQRz7aHdAlKnYJ!HMt!dweXeY?`a&toeA-I6}LI zEzoi56EvEmNlVpSToXv7jtBA#tE{9RvusA#C>8~}Q$8_uIra2=j<9X6(JA6s>l-|i zftxqwb7k8mHmh9Hz2;V|JyOMg<`4IFd6#1MSs;EnI&SbU$N9&BF!&wO&b@kuvMQ1K9&A1@j>M$dJWtSTN0<7@)RoRlJDvx`h-SoIX^)>-K+Yb~(WBJ0{> zRUa{cPZ;#r8ucqXVQc?{t^I&4)*Y}VZv%{_c)TUZj&GB^`LR|?nm=@=)VahwY>mqU3gcXg(6G~53p(B zAvO){Tc}~(LR}gM8?0ZHu(2#^hu-A8eK@%AhlE@CKM|)1{g2G(ad1B3sa|;@S8H(Z z@~44Az@)v!sLfOG)SVlMYdQ)n+Cq}#IP|Ub0!pwMu{rM0%HsDF(|Fq2PqXJV%FP=n zO||unsZ^!}mHsL(l~`aWa!y*3$*~w~SWjBmxQh)|YP@?7_gSmRm1NC6GcTJ}8^57l zr`=Si@f}*yS9*Hl$tl!iiY?9oN@*0+xmXJoM%&ooUrv^yRCAPSj#AA~*e*laN>qhT zCcaR{^d)2JBupeIl)u7ks;4dO!(qxMlV@B^f~uGEa6wt&(*S#v+9ze5WDdKxu*=7J dj%Q1xot(6jlXh~_&Jw8xMK2MuOl1X+{s9BpfH?pF diff --git a/leetcode/out/production/solution/PeekingIterator.class b/leetcode/out/production/solution/PeekingIterator.class deleted file mode 100644 index 3531bafe501664fe116e98f604ec3e645929e437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1228 zcmZuvQE$>v7(KTI3alFp*e1#*s8c9&XyO~oqA@X9g4>dr#rR~04eJJlbj9dT@fY~w z!%Un;AB<0$_@j*Hwgt;<2=}}9>vzvN-?`uKKi|Fsc!2v^WN_ATqwc6yNx()P5+<=LxmN0aLtaWdjt^RSj0UYbI^68}!egfoMBAs;J4Y6~4tKAc6e9`amR~ z=l?MhV5^6yar!c#I4Jy)nfrMTt%3#qDT4bXbBieOT;%CFqr#XqzCakw3n(9XQc>c% zzzE_ch?F7L5>LxPHRB3TyoW13OPPDg7GxHtyjQuqh6-27_L8?{P0jcO^(WFYoEuz~ zuSf{|K=J~rpJY)WqCk33xJJ=BK`N9cg#=`^P{^uZFJzKFhHQhdw`#zalc8e>QZ&z_ zoaa-rWx50E)rg^Em6U6wtWG=E`Q*&R>w!Y%wM94qD

Jk2F<|Ag7=f)rTVgNKQ`(-U`8!#%E|!yy8Ds0Hj8Mk|B^14#7>_@~hYX E0t`s#Qvd(} diff --git a/leetcode/out/production/solution/PerfectRectangle.class b/leetcode/out/production/solution/PerfectRectangle.class deleted file mode 100644 index 718f16e7d921015fb58056c746648cee48102752..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1865 zcmaJ>O>Y}j6g|%~<8kb9?6{dUZXMFnq_q?3&?Fd|FPesyxJ}y9v=tB{#k& z%>`*LO7p&sX&qSs|Cm#B+zA0CnVJ_+r%HKSATr|=?JFB=OLqB&wNxMzn> z-4&-Ieb?;rCw9)g&Yx9WF4&_2QKwR0PL=N1W!6eAE@o4=1$>n=GHTVjV+|A- zFfiwqo#Ha1e3e0IhNKy0J7s1hUSy|1iM{MBsW21yyUZgzAj3Af@@*0+6`N6qY6Ui2 zr!X*WRaWL~mlag2Y+C{y|2@y<`resN9gG?~*y#i_h38x=_vx&)?oGoR=t;g79X&cO zvERAUMmc9+bmaKVS0|K~hc{rNL!fPc5ZR(@FUwigxW?XfTsAO+Sp!!vD{y!}s5ZUx z8%`l_mknISHBRN21Rof;A4; z%U$8P*PNn&mds{Td>6`^b(injT3@$|d4WVSn>sMR-CjAw)5!zQ(f`{Ya7%lAv?mX4 zWJblxv#i;ew|1CODLsGLUZWZX0=ZJrwVWcwq*k2I$nXYaaU6$u*W||sWOMX;CskGibJaCEDWwGdMUBiiebR;wkj;ct}l~ zDp5v_hqQFpQv@dBA%EJ`h%%a~OIGgAOIGgAuY8=*pP_|Cg3_^#P|VmySo(;!(K=!@ zb^G_+;ksLEh_1U^o4V`CBXNJ6^&$@us-frtpW!+~z5FZg z-z}HeJBX>)j02;Oy(^J7HB-&6Y(ZBa zK~)}80V9;72ZdfF<&!FH)}q}mpDcgX8bZU zcC&{Un8xcw5ljk|6?zbo+T7KxM7^xVzaa4&PO+QqL(5h>^tzo3suMMC_Hej*LM z;(NS-)4U5w@g36SbY7R*eW>}~r0)!wH5i7d%7Quubqoo9bPV%H2vqSqqD?$H-qMk& de}T5PD(Bcd$=}fa!98*0oV>4Zv#1a6{0o_yb-Dlm diff --git a/leetcode/out/production/solution/PerfectSquares.class b/leetcode/out/production/solution/PerfectSquares.class deleted file mode 100644 index c2b1c8aa121258dc85ee5d5e3ca38b7a935b1471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmY*X&1w@-7(HL+PNq&%+oVbT8B^-p&-uEw69YOk07==k);FLFZ1?uUjX9SDQFfuR3!;Xnx>CS*it~u)J!LE)&+s{Ci^urUu zQuC#W-ukH&G=JP)mf<;z>?+19?5fPd>~4O6e4dVd#`F{v%(Kq?ConIt;|eS? z+RH!5v!c%ewfEg`sd_Q^fCo9Jrc})>7Tki{@4ZJ*P-<(|RrbC@)zqmgA1A*Es-07Z z<=IwH`9vWHcKP~LTv6KP$~3a{yGqCRm}_Kg6MsTG)?A(QJl3#8mdmrrr^-T+{SeEn s9BXf8-Bx*G{8#W81+4Hbu5q4+I>(%c>vE2Hkv}N?<`%&X&QiGf51*ZJcK`qY diff --git a/leetcode/out/production/solution/PermutationSequence.class b/leetcode/out/production/solution/PermutationSequence.class deleted file mode 100644 index 9d2a783b5d5be276c922409ec70b88407e80fd57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1221 zcmZuvTT>EY7=FHW4~U4TRwV3Trhx`@Fe*juFw^KnQe&f2cF_W>uC5Eg;*3|`_)og% zwr(`D=?8S*Wq+iZv}XZFG+FlB_x!%k^L{@Mzx@C(hR1#c5YsT?hlH3Pqqy0II1(C? zeyE6f$}La2?HzYC+|@89pr$Rya;F4ZqOk=5`Dw9W3Up*F$DFHff-9!mOLWM#RdEG6>&aEuvXdEFm?~9r0^$FPKB-!E z!7MYN_w?jjrQ_*`&J;^G6`6HhbA{F$W0`Y5?sB3S6kcZcOg1n+0!v4XFU`;{huM@DSqyp|k8XfCMmsbO4i>3Sb(K z1bWWtM}kh$v$-`hPtJnPjXe^(PGTA`1+-1WuA159+K!r6bW8-dVHCIm;+$e662R(Xf#f=aK7^RZwZ8v^ig{GqQOL4M4pIfY($YHd3w8rhh0NQxEWIVkYawjGh*fA`PDTjcBk zq&ItL8JFdhqAQV)7>w%*|8gOrE34VCtSet3??aKWxTA|cG0@HqcZtdSlNaDGe?l&jXhPvq;Y&7{Cs*id_U2~ zh&M$!O+eGM&Je^a!dOBt3J9S>eG3eLu6NFr3kyWu#b&PxXjsRcz>_pD(ej}(j&C)yGGw2En&!q=+$st!;tucp}z=f O7^W0w=nV!)i2eibb_m!2 diff --git a/leetcode/out/production/solution/Permutations.class b/leetcode/out/production/solution/Permutations.class deleted file mode 100644 index 2335d28ffa56f8b6757f6a151db4cff817a3a324..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1501 zcma)5+fEZv6kTU}rc+931u0sgP`s8FTW_FJtT7t3Nfi^kL`{rC8DMlMWIEOO?vLn; zulgdW2_N83nD`aO7;&95RWABqCNt;kefDLowa*J{W!@1;)!n9Zv%Ng$__ysjkDk8zO2hW< z+PyYtyyvD5#yJ-fMBt~CQ^(eW!)J_22{?qbsp+CI@$ z{( zH@^v5Wv+s&Sy+R3$Bls=exuqck>oxR1|Wq!v`Gi;C343x^h3d%&m|TFlCzHM`11nVfE+GN1bD%?r%6ffg`OOw$}}O%Xc>2UbEQ{7~Bdi z_AS@>HemSC$@|Tz)e(qTAdaddD_PXsg=J^vCSa#N3%MUzO*LX{H?~Wv6t^%XPIaENSsbm$dz({n{ zR|*yAPzgFXd?Q(HK48Ug@_=6){eP~5%f8kA zX3^RT8yn8XF^MlYHUe{Rl6qHdLhgF+J8Mfo5~dj$I`$gL8J@Gg!BzL|F7MOJn}OH1 zuQ_VkM*0V;sstX6u7aykehTp$Hwhf!I~f{N7~(z~IbawgJn;)dfnF-uA(+N> z=s6O1pF&$Kn-%Q|^vbU^Y9UZAbjTn@m^||;z>`r>49IYd;uwKb7{GB934VfJDs5yL zqh*|y1WL5A0a1GK0}Mt0J0)}XXDq};)OE9N6ph{Kq&6)JvXFd?Qqd^L>N6PiR8cRc zen&EaJ3CVR^7=)ks7J@=kfe~R>!oR+c7fB*-l(By6G`Fc z%VX8~@>qGix>O!7Eh&Mb*%}V7&+t7#nrA83xsZ4{3JVF*nP3-5gL%2T#9e~-8UFt$ LYJ##Tyy<@d>9be2 diff --git a/leetcode/out/production/solution/PlusOne.class b/leetcode/out/production/solution/PlusOne.class deleted file mode 100644 index 4cba03ccb25695df4518142bdca7462a28a93f5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmXX@%SyvQ6g`uqjj7evS|3PJ1QFYm2Em<=jUW`N5h~s2!n6%KwWg(}eu01C&W*UM zD?y|m;CJ{HBGxl81DSj7nLFp)JNf*59|PFIatb;YOe~sM5=idJK!yhb`c|x?^ zzCflX1OH@r+w=!#Ub9OkSL?OBZo?Z$mB*wJUduZHt9IHQ-noIlD`58jA(gkztHtxG zfROwclWln=L)L4G)dxP|Og;2kH^*K-R!r4jhVi+wAzQ5bMx5npzq-3KHCt%p69+m?*tLyhg_+_hdv0OcAI53t%C|Okg@<)a4fn zDba0vY_#_ak65(}m8|uIv|YHU7?-X+vJ1NVpiQ19U#z+ONFA4T!!3_^Nry7pq%0_7 zv7fRVKv({mTd&TQZK~Gn<-Aj^O$g{-0~ClR@)9dB^+fV)%W7r6nsFXe zHZ4~`O!Icdww497YRxLG2}JU%)~1!M*Bm!HFCo?t#H0Uqw&k667jG6!p4G`w+~#MQ zwLISqC&vK^81t3-M#+BSNY~K|#xk-A6K!bcl$shcaSOLi+(D0tyBITZ590#CQ|~4& zBPONyY34#=fv}&>waV|Zb4#mssm2j__3DbiaH3)5+#LtmOs6HaY`>>WcdAqCUTw>N z)z^$(#S^%c_`fDGoh+gst^9uEuLT?p+8H}|%5oK4wUI-J5B_zSG2nv=BHWt|0y@#f z6YHRxkzz3eg-pOneTA0VJwnUEA(YuvA^ioB(ewe-SLr=yg`MLcYHsuZfo){C=${dM zsK(SigyM_iT1@TM!iKkxkX+qdd|M{lIsSfx;6nTmhUBL9LEN;bF$_UMG-w%Q Qi2Q;O8TlwTc*#V60WCtrnE(I) diff --git a/leetcode/out/production/solution/PopulatingNextRightPointersInEachNode.class b/leetcode/out/production/solution/PopulatingNextRightPointersInEachNode.class deleted file mode 100644 index 9ef5d8c9699db9d5dd7a56594e1372877aa8c42b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1051 zcmb_aO-~b16g{t<>Cn>J4?!#nv|ypMKof%`g24r%X;LbITH|s$jO{>~A;Z+@FJfmx zf|6+B5{-YyxX?xMylExiiiJsg-+kxacjuh*-uLdOF8~%%h#-tH4dW36FcD_R$dHv` zGJ*k2X}G5$ClGpM*_O8|5X{fk1(Y>s#}tTHEZeMh_8X>K(;ICfsfuIh?Yiz-a^D9P zuVozy%v3g=gHBubEW24X-+EhCv*m3%mhGADVcA~SjaHRoR|GV}v2D}v1d{nm%{5Ja zXV0(6kBb9=8&_d6avg{L>P}~W{~c)>9akW>?ditehJN4^p-zE;{^w$%@G5wU;Kp3FxU8g=GdxTyC*Yc#_mdA$=TD$k*h<-h0mPocVeB^*ewSEEaGLw=LW$AcwnoihD}TDRJMz zyoCh;^JO4|WKBS;E%gQT^=QWzC^~`kyXkn~$31rtGBWK%o*VYvI8gpYP)|m|fxwcp z8SST`n*?&$^*<}nV0n?0zLyA;YECcqeRkSY*;dwG zX6+~c&j=Vh>3IB+kX{-SGL9k^nAlESZ?EI-XEdBsps*dKvFE=E6mtEFR8M!^_pXgR z3Ig_JBo%vL;~~m69x3q{Wr4*jmKB&%g`1%(ht1c6-E3&R*3RY({db%|m)sVoi`Bv~ z4~sucJvj)4LwTKElUh(4PmUozXK9<#%z|74ZTtKHCQ+ov&L~l;%fFz(pzbf9p!W^A zx7snZPQAOls#oK%zshya@1JW56^zodB{0D`=n?zb_bqk z92RtrP$c|K;?I$w#%zO;XJlF<)jD$>+`twpc!Qbj)(Q!y(c)L;{RwO^U*-~uJYAus kDgKMulr_VcUcuk1rgJopa1{> diff --git a/leetcode/out/production/solution/Pow.class b/leetcode/out/production/solution/Pow.class deleted file mode 100644 index 8935703cf7951e2c932308e2699900bee0286284..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 598 zcmYjP%StOj5IvnqPbOpH_%>dzS0h5=EX>A@IJi*+CHDbd+)v`5V;&P@;^PDS16SfV z7+eW1`~bg6#8Yh$2f9vGbyb~H&Ah%pzW`Xrq6-`IE;N2>Cge+Hu#mwo1v`k_ac@h( zDz6?Yq_>l!NWrVd?dVUxRg1d+!&;M>iE2_0n}=aHmUx&<_fFz-1zr7@Ty7Fu*K~;G zoxRl^1$D(E*yhmDTiZavzKh1ucEwbSq- z%pn6Ohbc@`tsxqdbfp=#k1Ky`r%}C!BA2wyh8C36(`Ff0h>EEFC#Xkx0JyZaNh*xc z&wUmU^NbWm;n7O-E{CRxj$c~1c|vMH|9ih{`j=oy&9Gm*F^rp;4kj?k+mvV@&U~P_ z4C{kp_Vy0i8xZf2_q|e5>JH!;7en`ju}o{VdX3*Xrk<3Io=!Q5Lp6g@9_N!r+UrlYabfh=?(tqGZp6pAuX{J_GrQyA%{ZZes)Nlj;lG?BXR zuh5+vw{<0mv?IxRrAO__v74q&kOna_j?842|6}(tXODUSQRjzrIWPi z3FvF<`vUU$bQ}vb`spOzEl);q{w5q{%(VK`D9rZ5JXP^cQWi;iD$wcg<)QV$m#!UbuODm+h?Fl;PRbJw(p1jOfgc5Pcgvabp~seuS@3n$kd>4F`}+?7k5JDei;9gL_AHca3hr9iw@|fk zk0GaKa$bGFu+x7Pi&(rCUKq?(6njdB!PEE8g`CdR5fvWGK&lQy#a&rh8#0*Pa3UDi z`!WzO;`6bH-te(cnazIaaev4ospB+hY6%QZF9<}`_4#}*DBNAeQavO^mKUC1@Q7e7 zchnp8YCVQbct~cHcn=v01I4|!r~D$NI&k}E{2g!mJeam$j?aXrj+QeTC_j+XfU8); zHOyaO9G2bwoao;rND3L&+z}0!7K7o|hN#dr z%7G>iRxE0rbkz)6Hm*?CA+LiBy_BgpzJS%gA@iA{3<_lRNnj6G$zEGjVI3P3X#|bN z=%t=htO;Rj^m4;!HI3E>6v&c4`3SpVwwh*Z@`*kh|AAK%@XF%YU+^-vQA)_mL|h{3 z>vS%Q%+?7jJ|V^%DdXdmu~2XPgwdq+6{hA`Zooo_p@Occx!|emVhg9}g|qnBur;LBlNzx8ZOU zEEt&TMG+;A5oOC9V;s{QGYods_hq=;6j3B226NH#y?BWs;}kX+^yQ!-83t;eFV~X& zEg8NNTTSu|)dE*EH$>>E{h3pbcRb=4uf0fQB40{3@S`|P+}I2JCkM}@x4jcDFbsx& zA}Nxg$Enw=1$wEln}iIS`ZQZIXsK$Mb|h2^2Wz|HwWuVq*R0gMND&VIE#{#0TTu2N z>|(vTMEJh-Sh#zuqLu1SCsARr)`KK;hCau}vnC4YksPIjeq z3~iGbG9RHI!`M88xmsGAKAF=qb4Jd{>2Hyr&Ka|h%<`zI&y1Q!;2FFz*t^s3<-WhA*(*6P*qvVT?q8bldd5W#P~dR-m(Vu!vGBt4O#aMK5C{MXsC)BsmzRY`Pej yM;=$G<8fkAZL~dC$#X5Opq*04FI3{UjG>jimi0g#Va07j0Ey~r%((?;(d+l5R diff --git a/leetcode/out/production/solution/RandomPickIndex.class b/leetcode/out/production/solution/RandomPickIndex.class deleted file mode 100644 index 7f0e988be27cf9338ff5baa3fe656d94959782df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 705 zcmZ8f%Wl(95IxtviQC{p8n6 zZmDp|z-O6tY?Em0d2<-C_W9MAng#fcAS-M z0r@=c`vO$PFC!K|A;a&%2nh6 zF-DfNLOBueuVhm<+4WP(dT|!u|c zVhVQzrpH$`F^Q6iOE66=qsE=ay8rcrZnWEa)!Xwu>g$%ef)V*gsS~AGmmd-%$L3VpVpI zrTF~k*ZdbY>QE!pxe>5LvL?q^ro06k_i&&7BRt5*S)-6a>>94;1GoPV*2WED{CHS< elb*)>L(J0CF-Kk#`UMOjMDsT}1XoqJtN#VsI#6O4)Cc>^0}ao@e?+>dkb{QURr0>EP|I$U~8uW(jDU5%T21&~CQ9q=b;c*zGq()4h zh>7%~em6Z3&{q`4S?oibM8-cE9tn(Zr$Oh#W^kP8%2q3B6a}2^!7%AWFXC*48!ElS z;4~P6gkt>-hVl(p?{TSmvwawKQY>JES2N!TcqJ%Wn^B#w;Hw^dh4_-un%2%hi5&g0 zs|4iXFcKKe5EhHKY&1$Nt$cU39JFzcb=PTHC?A7!*djBt|MCp3Y%xP_;mTh@}=b~S5?k2?aG>~yq0esS2oWS6Moe` zbFKxWwSfs*O)WXhQRNbKR;jCwaXcaS43l_C?iHr60~ha6!anYxM?b+#w&Ol)maxo< z0^=$cSyy1MI%Zj2AUg*Sw@~DqH>lt?F=aNtzKZdth?!HS>|5fQC5}0zNR>O7$23`q kGWq*Zmu#;!W`ssXW0qF1a`iXVU;a+Zf{Wj5rX?AqXC>E4;6cK8n|t?&5X zbfgc6rA-sb(^}O1SrtP&<{YVD^U))QT2eO5KEy*q*Q`l*f-Kwu&X)1LkyAVPss(uqH6k{fXv=bHkuzPiKuV9+Cbr5&ewYnXI( zwynB-GS&7VQvDs3#pXUH?R+mj6!6+FwCZgIdn!{=uCv3Z@sUmq*9gPM6wMfNRDCxH zS2obaEBFf2Iz`q9s$^phK3M>T+i=%p%>4jg7@iCOzC&N6N(vDlR55 z<)Vyf7p{SMEC?)I(kn1)y4U+EeYgI+yRW0%UgASKd}j&E=rOX4WN}ip$k0A2;Dhnj zVqWl^^S?v*&d<^rEMJ~M8nC|>eY3<06~RiI=QQyuZ|q!+4cjz)zW8+l>3yM=gz@p9 z*vToja~M~--5Q-d;!YcM8E~s6{TP4#$ivv5*>#Q`X4@8Satn)J6So*i+$K8-`4^U` P&(k^|pNv3_Xub%8dbcxaR6k?OHHL%}aKLVe#5+ zvANBVY`a{0cf`+qmK(teue+zZ<_6RIh{zpp8-0trBf;x=pu|+r$TiGz!=uk#+u05H zP3Z4YkBPQDay0#gA@p0Hc~T`I0m*)7X{J4-gFMpRf!&i)R4&|f_=tjx?s%$@0r$S|e)_;%Ksxqw(c z#t_Pin-|yU>^s~XkywN@1TwxO$2P-K@C+w1=bBihml6l54M|mnL;%gC7d^5N{VAxl zdyA|Fq%o2&T!Q6`myq&b5&BG966R=(k|RjFc^YpMCW05p5?{(o$;gAW^%K5F*h^T? ze}PoELRjU!lCX=u{Q>FVGU(R(h**LABA+OEC{TXcE5ABU{HJ^!cd_iztK%M767Ex6 z1XA^Ysr$rf#phI|K+$$GU-*G&k^U>lqQ<{1Dqg;%Un7hMo>!U_72a!Dr#Xy=$Y7DI K1bN43rtdclj2mD8 diff --git a/leetcode/out/production/solution/RearrangeStringKDistanceApart.class b/leetcode/out/production/solution/RearrangeStringKDistanceApart.class deleted file mode 100644 index e72a22dadf4b904c1532eaf2b8a6e76f71918ca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2028 zcmah~-*XdH6#j0qKa%YNq3u!v1q8t+)U@&|VvAr2pn*VvVzCsJZL+jW(!9N!|A8+)InMaxt1wFa?k12_W-v3m_ug~P{qA?Zb8hz0 z)9)Vw*o#>MaU3%64u*6b){!xw;D~`Rjv8pku{OMm_oO?khjg4UVB(PUAHX<$O0Gt;~#D@Z1fgS;s)1F)QT>pBIElc!LtnIrb&`0w1v58Bt$;ZS5 z@+Jx(lR9oosT%SKbT&_9%S=0k94l|)GA4CQnQ(DMfW116qCiKpTF-ScF@utcGAbsn z!ZT4tw+SCLflV)^ED&qL4NqKg@+?w|soqku4cIzsnk*Z7wE1PpVTfIOoi$D*W!Uz_ z|1|P=R^E|#YsoX^8TPpCm%Tyh(`W5s%^7C@txsfH+xdCMvh(ahLBMLg0rd<9lNWd+ z*_V_4RB$8N!n#{MI#cn#l?n8foNC@ZWRPOwh$3)ZW5{$7$ zv<+xWFgaN@pvRR5SS@f1o~3r*$C`8`oQ_&iD{=?9hVLtA?Xh{eSS#=o+85A~HsYFP zETHpz$};K{3**DL5sT}V(Q@+gT$G33iz{)Gu}DUa>jdsD-;8Su=$fZM3Z#Iufx0oS z)>5Pn%G8M-SlG>RKe}+7{&S2Rr^H3hJ<58G!rs7k+{6xiiP!KocYKQk=8?ob^x|i{ zjz>u07xdwGyn#RH|C5N1v4A)7{ z83mrugNQ6+qr`HS#7er9$JpOb||zJbrMi%c|f{}g-Z z)%l?X)^TS&ejnrOzJ2ti=^KKnE%V!{>v&Vgexc(n9Rq@g{)Nr|pi{@7*!%?QQ*_aH hfJ+*M==dAE#bZRCP}C6KCQt|mv4NvO!U{+J{smFG&Wiv5 diff --git a/leetcode/out/production/solution/ReconstructItinerary.class b/leetcode/out/production/solution/ReconstructItinerary.class deleted file mode 100644 index c508762cb75e2eec4c6e10fa10c1814a36379438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6271 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 L2i>_Z;lcj`h8_7V diff --git a/leetcode/out/production/solution/RecoverBinarySearchTree.class b/leetcode/out/production/solution/RecoverBinarySearchTree.class deleted file mode 100644 index 6bc13b84792d72f54e91ccafa404e9905b67c4f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1549 zcmZ`&TTc^F5dKcPu)QpoQY@l?qKKufRsnAsdWqKF+D^5m5X#+gENi+vZ)Fvl zt5%_0npe;&jG=iRM72G z*_pQ-`iPGYW@={PN#3lu70FN`&ZgWL~@VKB{RKPvx{l>0Sm|e1iW0?0^R#} z@YoKfaW?Thn=)_JtO9{)CAS@+new7ju&&wCiJm>ko)ioQV(2n(1bqfN5H)ZZ{RTQk zn-Gzbi_3_z#eYFIa0QbFrf}83HC!jpt*IHml(s zIrgIkp1NJV`m|D8cE|ichQC-{P#BDRz1a0MJM^zhhEc94bjJU4iGJ=}gbVEFN6M5C z!tP1nJe$CApo?-ptu#+1-o!f8Ybri;Q#QL!KMqhgyZ{_T4=sgW^ij%VhtX1KAdy^$ zFR=>$DzuAo@@t~L22Hdco;$f?ga8C6gJ?mBdBZr$DpKpPm#ENMe}(M}`Zs1sa&9F);B0?fS4|8jW5*#zqUN_#4gC?HjzDUhS-p^P*hqXUy4S+5c(6*hf^S)WlbmRG++d@HuA z^j1-%VzN7HK#c^lhdMo97Hd4T&YItp{_22sFW?<>zXp!KX!5qMie|0(1(4zNiLZ>dmg z{4&!q*GNTJV6Ps`#|2WUphc2V&=Sck=pspf7$1_PZ}D-7WEXUqRN?aqS4dUbHkRof o=1-`q!5ceN(7&Q!b5F9#-R_K~1hOC{0>LYC)}UTtR#z zP!OS%VXz=d8Ji@)!W1n*J5I@BamZ%U*O@VYU0eI=UN%2GM?9a+*3MLMG5WoEur(}c zYDu?sTRX?@maT8^7->T-l+3iD6-tqfylq}VDMbk)5?FTBw!VN#mw5?mXF5Cm(66ma zPEyD0w#fnHV{rO3@htTMQ2`0;Ac-nwP^b3@4{%I>6Z7LujwvIIPcu*DHuxy0{hsU#!YXpAkjQhyn}(aoNe=NX~thc|A&Z)Me!Gj8;O>L z7;)5;i3|-!#x9w`A21?y^)AK^ihS3}eaT%RPawIODP%swqT0O}{mFc#Z*mEX8Nebp gS{iS-GRePVnZz==$+w(rJz=S_O1|L={R&q9141y4p#T5? diff --git a/leetcode/out/production/solution/RegularExpressionMatching.class b/leetcode/out/production/solution/RegularExpressionMatching.class deleted file mode 100644 index 6e0e4d6ca7cb525900d979bd912559f87d2cfa2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 970 zcmZ`%O>fd*9REFQX$KV7;ojKB9ByvVR=DU%V>AmUOPD5Nb}(KZx&}JCf^9MS9lS5| z;CA!E#S2S3_yPP-#{bg-!;q!v|NZUvYybTH^&7w=Jj@`C^$a$!DMT@Yd29*mo)Fu@ zEvdM#VuwL_>iTZ4f`l- zSVdk#1%?I_mWD;-849cs9Lxps#K zFQ`>6A65<+(qX?9#^f+8Q)re3l;{hl=~Dv|2sN@KHS%ht8R?X94fd0aIpjzxaWIEF zWNS$Q7NC>I1V)n7%(9Sa9B^(8F?WG^lhlB0Nxs55IYR4(X!g=`&JZSy%pmEMX(g5vZqAYrvl xGXyb3QzEpM5SPfsTCZM>si1=7yoBx2)cWFNeQ~nBIJI7Zv?{hTI$o?U`~%(8wCn%? diff --git a/leetcode/out/production/solution/RemoveDuplicateLetters.class b/leetcode/out/production/solution/RemoveDuplicateLetters.class deleted file mode 100644 index ce4a58f146a96b88b71f1e63a249f5b82efa6fd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1304 zcmaJ>T~8B16g|^Ucj>awT3NoUB7!ZYfPxh$R-wp;7Dz;i1|L}3wJa=cvusIx=ZQaH z;v*08iZ3Nm!w)d=XZRnCiQ=6Fqmhjdb7tnwxp(e8cXmJj{BQzb1PcnnNGRw>vJL}c z9uzPn;Ff^f0)}ObCqm^%!uxhKYUdDob(RxC5GJ4ViM9K+s8Gc?6BMvo}zamD}mbx!%WKuxiW#5B6- zTL{ya1o*&2YY8vYZjff`E&_eWVDH`ICPK+Il2Ei(&j@Hn3+?Fbqm7W9Ss4MyWP6vW z!S@zY#D5fS|D-I?mMkXaS8MpgpMtMp9D0CWZCF%K^T&v=?B9r(gXUe~N2d z_#a>>q4635i73GVB#meK&n#y?h1Dgx;}F3;POe`PQNC7#l!&^s9P!ssH_ksI_~ICf z8>5E$zBY=e*3eKx;}K=*ho~+?Vo=GHy9DuT2oc6mk71g}(1}LQ8GxOlbBqnajukDUBOk-Dug$(~z5oCK diff --git a/leetcode/out/production/solution/RemoveDuplicatesFromSortedArray.class b/leetcode/out/production/solution/RemoveDuplicatesFromSortedArray.class deleted file mode 100644 index 0c25347048dfe47fdcfc4e0ed51527aebadd82f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552 zcmah_%Syvg6r6LDG_}@O>kEl!QP4KfZru3*Q3RnXSaIXV+w`KTNh4`eaNnPBCAe|p z#+Bg05AZAe4#CGs?8=RSoX6bB%;dg(y}SZg!)y*3rc6wmm?2~~+>RS<5wz9vDM8-} zT8c1McRT7Z_M0j^kxh@0LOpP#cPc|S*$1E=UAkRDseY{dpr>}@YtMCLq`G@y;5ULW zQmySUlsD^y@$e6YV62|)m-h+e^2=TC#6GKuvjl4sMjDZHt`6k&z%ADZ;?PlhZjxvD zAIoZ6_GBJ948p=cTuzs;Yo6>})Q*~MXFKC}V<81q!Ukm-7jo OsF?jo|E|cGz~m1x(`*R< diff --git a/leetcode/out/production/solution/RemoveDuplicatesFromSortedArrayII.class b/leetcode/out/production/solution/RemoveDuplicatesFromSortedArrayII.class deleted file mode 100644 index 3b9d9b553702f65c018aacb9029721fd8d7890c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 560 zcmah_yG{Z@6g_u$77zgypD|D%(TE$Nu~SKmhJ*wq5ko`cuuOCjSh6l8_Wp&1(ZX@FV;X6CZb1DjO!5xpU5(x#!Hhf4_|Y>|iAd9gATsg|SQs?b$usD-!h0T%8~e zot7fZRP3HQ8FZVK<6pkxMuO|Mwyzh{=I9Y?De-`Wna-Oj(aPT=X5MO)VqCq| z>FMVqCC;Duf)3wgHAo;hk-@D)jKj$CKF7#6-U`~UBaTFneR~{%4KagRj-tWD9G_}P UvYtQa3xa4d@)^8uo;eK*zxc#%G5`Po diff --git a/leetcode/out/production/solution/RemoveDuplicatesFromSortedList.class b/leetcode/out/production/solution/RemoveDuplicatesFromSortedList.class deleted file mode 100644 index e5d3d21336ce751fdefef1ce8dcbb0c8c788aaab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmaJ;O>fgc6rA-(TqjQ2rcl1y(iSOc5&{Tu3E~2(RLKnzL6tae>=kuu$CYD8@M}1s zUW))#0*NCB{zHFCf!VZ(o@&|ey_tP)XV&}c_qQJa9%H=>2R9ttEW^Mpm*KV!cN{D^ zSQaQfjYd)aOu%e3cLc2GX{ZEd{b;26MKV;`YdMU`)crJ&@s7+Qjn7Fd-;KrsEB-5$ zq!aa`IEbS_=4!l|rO6=8auxc~IPVF}g(_D0g${wmhOZa<6znzsm-Mi!WGGO+$k}0$ zB=6}mC^CWSAeX`Zwmg{n;NjRkNQ*2`n~^rVcDbMXdvYQ@%)k|x`R7676%Ti@>R}Ca zfu+kg;hFR{-B^y^c3%$nRFKnpV@v-x#yp0(-R`%3;$Ely5w+GASRH;J zQ0=t7!e(vvN!tG5pOcOt(`xA3iB-eEmLBhs7d^g(oe{0I~!+`=XNNL mdDLmh#Um`RGC1=9S6G?2%KjRxQ&b!*@?CHpc3vZE;QC)U2ZetC diff --git a/leetcode/out/production/solution/RemoveDuplicatesFromSortedListII.class b/leetcode/out/production/solution/RemoveDuplicatesFromSortedListII.class deleted file mode 100644 index b182e25200bf3db59246f1674c4c72cb5cadfb61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 831 zcmah`O>fgs5S-_aI0Yyna-xZ3@h^m9L@+jlgWtiRlJMZm#`H>Eb}iwm^2W zX0`{N&IfXl^n4z@Pz~wY9fSf?%}BcM>av&kN>-a^dovh>uG;Zp|0@?+d~hg-GKVxW z0_nfDVtgluyU6FTf>nXVi(bP;;}=zY*?n8tZ5=8%qS<0C`M6#6o=6``E+A@HLW(~p zzBF(sGK^WG3Qxh)ynhPuIiW8xrjnvSj(Kh@z!av5_`@*6$YxQ6P9^ZBbOuu#e}nc~ zKZRZ|H%e8bbONJl+U5^Dw2c!mWB7=<7#Ozs3DfJg@dd^@VZ%17tR)>sqhBPLo*``; zM=%6MW#VH_(hJ_ds(}-W<8Z(`7kDYnWDZpWWp7U;S@)KC85!ERRH!awc53s6d>a2{Y`ya23 L)tp$MLc^^;@D7*a diff --git a/leetcode/out/production/solution/RemoveElement.class b/leetcode/out/production/solution/RemoveElement.class deleted file mode 100644 index 022e0b2af06231fb8c48e41940954df0405b0eba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 510 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 diff --git a/leetcode/out/production/solution/RemoveKDigits.class b/leetcode/out/production/solution/RemoveKDigits.class deleted file mode 100644 index 50262d724ec37025516a1662f1870378cdbc8bfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1155 zcma)5+fEZv6kTU#dSMtYLJNZBCI~GRS_BaR8xf;6RwQCbd~@1P%0OvJJLL=b3LlIi zCcNTHn`q*ziGGQnpdsoyGgX52!A$1tz1QC7?6vlp`TXPkM*s_0(b0jcI>s@f!@xD^ zP0D2|h-d&Y9RV*rExov0t_Ls^z^s6O)h^jiN+yZNU^~?nfsTp?C+306CV+&%WQ#s6+vr>6S|w*a zuw88z=+DY_20GEjBMl@mXCRCb12-^laN0N7Jt@%tH>-O!yO_5svSiV~Ei4(hjb+lj zaJoSE`NpT&T`T8YfV|=GUW!(!;Ow~f!g2U>J7#5#rCKx{TNh}n*0NQ1jsjsqt!C60 zO}9??&4UB0loy!!uW>bn@mhmU`8U5%v_(&h@$>88HwmZ^a)eyF86{{1t#7&k@s5sy zOI-afsH2Cz;T514Ax2b%KCW`}7gqadGiquma*XA89m;FWPt&Rybx{jz5;;aF9@gs6 zx|46vcBF}upI=?TmpM`ye3C`45bW`vK#QO9Jk{keNERUJPCg+Lo@37?#woIrycXD7 z!7BQ3nLGM1fdP7&2VSz3`tw5oZXAfp0L{?*=gJ3L9w(Yw#GA zg`4V~h$rD;M0@FZ$#{fX;*4qDBKiS=7YzjCD&e*|bT8whS4aD)2cI4(6xtBy;)eOF zgM-vbJVavSB)>+AkBDtx#1%M74hkhmfr@1FN7iOjmK4(tO^QkRzjGb}ql6TU{Q~`B B>4X3P diff --git a/leetcode/out/production/solution/RemoveLinkedListElements.class b/leetcode/out/production/solution/RemoveLinkedListElements.class deleted file mode 100644 index f76483df3eb09c6f00f116af2817e947ed2ebf09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 661 zcmZ`$O-~b16g{`|rbFu#YZYjbZ#5~_(giGt7&k_fCSy&6kg$AhUu0lrYT9X|zs99o zO)x}FT)OaQ_&)^C8z8!2GIKx9z4x8-?)*CY_5;8c?ib=LmD%$w}kWW{RPy5PIiLT21TCDXTU_r%K; fc%>O)4*MTrmXX37Crfbt!1qw)%TG`vn8W;E{!x4M diff --git a/leetcode/out/production/solution/RemoveNthNodeFromEndOfList.class b/leetcode/out/production/solution/RemoveNthNodeFromEndOfList.class deleted file mode 100644 index bdee26558d1b5f5bb8c784885bb7be503b59fb84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 751 zcmZ`$O=}ZT6g@Y2lcZ_drirmmjMl1@e4r5&g;cr`gMpY*BY`X@lhI7gOv-dpbnh>5 z(`^N%py1L%|BD-!LapbGDdM8Td+*$L&;2;}&B^aC-vB(o?KBc7%^{9!NnB48SChDr z#F`-S*!A6TQxGp#dII%iGIRt>ZP#}?Q*Yn|FRj6to?LrkTjQP;xcWYGs&M4)2}gbJD<)1AOm%BwFBgYyF(*JQj zxm|%VoO<3nO17tgV4)jY_M7L{ZX}BHF{?Y72Da05wer=A#ogVp_N@$(NM&#nc|q!2 zm3H0|6fe%@Tspfxw*1%it-+3Chg9u5Z#9%#l^)h$@Y(ejgXkta=Xk3Vg=kcdARi+- z%`*`>73OJY{ss^icoQsQi6@gK%b%x<_G`y5rfL|bQTvRTroSU+8pMVX1s|OKFv-%v#Sl{w4_Q18EvUh^pl(Iw3Cc=Q&N2mE zCYF%JI&W3va1WR82nB2so4A55iqR0ym^;syEVt5oo7E3^#O1T74W_GNTu5RhX=`E)JB`!M69#MB3{%6(r3-c8 zR`#ZA5{-!qmzekiOx*fEu%0`Vz@&3O&bja0d*AfezwbW))Uc9<0Vjn;ELm8#P*5=M z`h7pVrw}i$Z7Ud?15Yd14Zp8jqgNdrJaIccBD0M_*X?b)fiL+KG{RkfUm@3ctOtRo zgNDB!ZYX4e^OS6{A$W_z8`8q+j)Fkmbuo7oQo}$ueb1BbX~vsp z$8zn^?Y?Zf!)OW%*T}aAqoAuF_)?s|FwN~f_qCfv0w(LSxDK1+UEoE+8 z?CCD&N}kQjsrvdL#46&vIC)}FB1UU5tI{j_#I0{oM-iQ*6&id~wAs@Fq>+iREOJD6 zSRGJIL=H>GNSD4K_7lcYsaa}O7$2h`E{f*Lbj@kn8c+U~>xMw}gp-I0ijl9IPQoz> zd_~ML9b+09j!9rV`CV#8SgY(9pK;SMM378Hr0B~PNf=Md#*;s?Q5>?-GhC%LxQ&S! zPMs&Z%KdI|uXS!zBU*=z`((Co32n^cDdyneGIlTzpXUcyzz7cB@bC8)OL&iEd_)1C z_*LYl9#VIU_zZPS=7-ZelPFJ2k@-MvoA;K-J9e-+T@5eT$L4HxJZCqXpXUlsFCv-2 X3E~#!`CB{rL0sJAi3Cj3bU4aoogcXvPd=<4{9H zMJ_b?5FR&h%fN&{pLaYbSP&@L+?qgrQmfj63q{AXpEtM5w*S&9yF@M)YZc2~vwSB! zAAxGH=`;kx#Z|j*TY+6IHOq~_cf5@iD+p}gn-dKAXZQq(Y;ntaZxvk2+bEPed2_ip z0@>of#DANF8qIPkyuK?^5NVVJ$u7@g({Zb|&%4E8UnInxE9fZ&R^{!oRqwFx2rx-? z1o2X>=~wKhPS|MrtX?KV1}4tIG%#tRfZHbSU`jCfKeZzQChlU|#68TIxQ_>v;;hnw z-s2iC%3F3NH~}4M!(q9$w-Ic1hDCj1)aFob!9aFtDc2(WmfwJ_4Piq zSzVbi5=KJ(jJ~9v)LPJA?HID#{+ZNUFjyw~0h+qEqqKM1EoG0j6@+}I$O16PBFb|N z{cI-5HZsKXz}HISiN2k8HWo&zQct}{G> Fk-t5X-pl|1 diff --git a/leetcode/out/production/solution/RestoreIPAddresses.class b/leetcode/out/production/solution/RestoreIPAddresses.class deleted file mode 100644 index 4cf1cd9ed67f9d8f07ae13b65bad0df5e2ed3a9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1910 zcma)6T~`}b6x}y7$(;-Xg_J;JMX93l)lh3i3P`0b)Y$MLsnir77?LTSl1{RciP|TZ zESGEf6MVCahrY@Ss8xS}Kf@>a3A&czzLP)$fu#>K_nbZFp1bGlJ@eZ?Km7{e3O+Fr z!-N85PYMxTV(jB~lU}2t+1b z&-JGSwElr*0sTfX?+BbpyPh*&eYED3@7QYvBC&KaXBU?3va9kssQVAxia=+2$*K6o zvXfez&gaWcrQ%d3xP?)GmJU&YzW($>`%`k|VtsOr0gk+fU!xmU1l zthtf|3oH<5Z{E^%l;Pvj0n5H)wUf<#r+8#Ef$qu3DyWOVjhWW-?4yR#@1Y@$KBkoLvf} zkw^vt-_5N{l1t=q)FJ^H6oU8@9! z7U=3vrRuJ3G`c{?b0R6vch(&$X_V}8#bJ7^_rce}lcigkc~tTr2TXWY#4eQ_k7O=3 zk~!GWWUKnTXmZ0Z9=vU5{|O9nfq#=2e>8vwq4eWD&TND$HA8rC7h;=12wl8K0#HXc zW2;txb4V}~cmd~Gr8XB>r*Z9khER4F+T7sKu%^ZIU4)0fC$0s(+JYJr2LDenc2hlj zYy0Xw*#R%2hrJCxe+e(Me=n=l$u;BxkynU>@G39*i+3^z_3^n$e6MF{2azW@8`tG` zu!a-iA0b1yyB*~Ew)_P~Rtx`ZW;Jagt7{9HtbUlaN129$wB6*>_8jv_EzdLW!2UvJ zJfe@vxQuM!i=Mb#RmW|?AL>!b4x-~m!uSE^Xfz&8MB?(YmVAQ6daNh6aFe4^rEy(f zeTEiJ%SwcI(E2TmnEn*q4Om<3%nsUi(9V0psD+&9S5iFP|58b$2V)&a8{>8kpo3A2 zW9{TPyE(pd9N>B67=6ZQlcW5G`aj_Se<$__ho>aC&%teC6|Zyf1}n071O12+-^2hT zsm6LJ&|Y02h1CR7(ID%T0roJ&NDrc6_6zg$uW=Dc8l;zK%|dFY5^{vd28?b*{>H4t zC9%)LO^G)pE=#;6M6g~`3qOe?_?3Nn_q0-Zw3OTbMC)H9Q*+MSbkiu04&j}D0iM{K A>Hq)$ diff --git a/leetcode/out/production/solution/ReverseBits.class b/leetcode/out/production/solution/ReverseBits.class deleted file mode 100644 index dcf99993c0d78733ec86876acf21d3719f8829f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1177 zcmZvaT~8B16o%i~-FBfY1qubRrGkpK2vh+@Qc@rhgYnL7S<7PGn(dZoV!SfO z-{B26-WZcYH1P-cSG@7sMDd-aP_S&W=ggcrAI~{6KmLCG4qyt4AsDz6!eu0Nq(V?J zBE=OcMx_{&VmyR2u1axD$Apeaf#9s|*xtN=noO+=Xba^HOQ0iXJJw3|Mc#5BnfVee zkzBc8mex(zmixL<^ET~@Kzr_?wQac-D`R_=8G$ypv1Q6+HkB0+4u7c`5Xo(s+h)3C zI>q#w=h{w@QA#B*(BE{DsoJFt%cVnL+bmUyB9>Tk%`*$nm(7vin8Un*JGiUk zo`DP&4BW>9Hh(NXt2MH%=C`bZcfxegyFgdNE9-bx(IRx%D`#xSbYCAjMLEZ&>2NI3 zWV2OXWw2y9MQ_u;S-8ZD#FEVg8-6Wb`4Fw=6i1SU8*Syv zPEkPjZ*cXQ!0;*1C#YlqQ?!<-*AMQUFLVh*XyZ$lp9($$geg0?OH&K#z{oDdXD$?U zQU-maf-bI&0|!LV&7D9GqLecD3zG$@r(=6imcK!LGP(M&Z+hgP3B#p08sl^9bzWvM!bT=mkA z&l?jsgMNaCk-}NTm~#>u;uxSzFvfuLM?TeaItC+*7&>a;J$*HLB-A-|en2uuZ#Lc|@A1lPdJRz*EJi R3P~zWh~It}7a5^o_#fYF?Y;m2 diff --git a/leetcode/out/production/solution/ReverseInteger.class b/leetcode/out/production/solution/ReverseInteger.class deleted file mode 100644 index 8c53c93ade503422c27c638b511653b9e65b85e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmY*VO;1xn6g~4g@4dE^LM>FGh>yetu&@asc7ZWABqk+Q6Hz2_HLa5}P+s-*mFP+~ zB>aFb)onLyT$#A=2lzu+@Eg?UnP(HjB=?^CapumM`}5ED9{@J7l1Co5UB>q0eJrQ( z$0SKyT5`&&k2^jB0q=ncP5e+Gv%0n?Ah-K(w7^Wug!<|5xUHiXs@-GdMyuaZy*(8f zn@@@|J}?7;+17J?qN9OshOzGIXiFd){i|$nc59QD1&Y_{6!)L>tbM3EF;?HbWW;LQ9y6fK{zNYOWy_Xgp%rLf85-^Jrky}BT-d?^U&nLdFo;7lHS^WZE zjv<}Bw3FzLby0m!Q7$=t%Iq#jBy0mR~^ce*k_@hs7GZz(k ze!=k>SV`-telLBpge;c%qr0qa5Vt6Do049V`HDiV>`h9hw25pR&0(IxGuTH3H@OFo m{9BA9KemGfc0DZeP8r$XC`$QA{KAxINGvVbB~{sSu=E!>vv1h| diff --git a/leetcode/out/production/solution/ReverseLinkedList.class b/leetcode/out/production/solution/ReverseLinkedList.class deleted file mode 100644 index 4c4ef035e2498520a4b22988d7a3372c23db1a6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 794 zcmZXR-)<5?6vn?{2NsrXp;QnQs>PZB%SvK;WsNr`MiW>QYe;&zz{GCLpJsuoFX3x= zX-(87ns`|gAH;_+@y|C~+G-le%$YOieBW=*e*gXXD}YUGSTIpeL84+Ifi)91EFNx} zST|7>NZb#`!RQLA?a=+O457#=ZDT*KvoF{TBRtTp==&k30Ndx z3Ab?#HIyUJO`7Css-YwwQemBjqVYMryMRye8N~=*BQGQN3uzN2{(n+UP*sor`d@b& Bg0TPq diff --git a/leetcode/out/production/solution/ReverseLinkedListII.class b/leetcode/out/production/solution/ReverseLinkedListII.class deleted file mode 100644 index 230e03e5de9d261b7e295caf5640037bfd81126f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 812 zcmZuuO=}ZT6g@99@69x(Hffrgsi|7ONDUYfDKr%+7KFiA!PbH+nIx}f+I*DBq?&zy zi5s^Sl!Ag=!L9$pAK)T--lQr*LvlaPJ@>wIZ@!H`eF1O}H`7qKsS_m47@U(etM@&frYngp_@t=b8Cuc}WQd%9^vl>Ov@ zm0r-xTPG0jlX99?C7{4L#+eC$ewrCih#6Woi)~oRkWu9;q&WVJ)C=nbR?YV8%16-F zq_v_7s${p`BJ0TyAabO{yI(&hiSm@e9BaibxQivSDxUHjVy4|mNG6h=W88#%}k&&Wbg~!Nf0^gBp YjClta`4vAgH%9hvV*Zd4NhvJ;1|Nlvxc~qF diff --git a/leetcode/out/production/solution/ReverseNodesInKGroup.class b/leetcode/out/production/solution/ReverseNodesInKGroup.class deleted file mode 100644 index 657eb672aa13982a0c24df19ead1ff5e066006c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 830 zcmZuuO=}ZT6g@Zdm87XnYuY-RSfjQk77c~sVyXcVl+f5hBLTsM(`0O?O($V8DZ1|; z(M`7sN=2o%cUx|!>4v^KpMrX{?e_&U z^$l;|3;W(0i~F@;^-0(r^i~Ap;RqiAg4t5N?)M{=wo)tqi#a!l=cfP1yw{OHe10{i zM6TbV+xFZxkzIa)z-SNl_TG?wYY=i^BXV22Pu*TjkXi-lMt2alyvM#$VV_6z?vA_f zW?&(i!4xJ1$up7)oEPNIs}f{YU8Um&Tb1?A9j`^MdZ|`!q6mZgR!;(=`qHL&s?ZC) zar+4JA-+!2nlUICW1JZ!(2w&ZxPS>-7RxLCHI*G{)kR0Q_3y~q`bQ)j{Xmn$lV4w; zJ=cz)t2@V7bj(8jEgsmWV`=wN)2aMB%-g2QPuiw!F!+RoZP=!ANyj`$vB^){a*RU0 zT|GScc6O&`yyx7}^eXuPI)xdSCG!&H-J!rGa&*Y=AyurB{Ra6riM?R{OXh505&^fX zH1=o>##v%ID=w+6v&S;KT||ymOI+17F-z$^-Gz!~h^YleoSh?w1VUEl$gPM5?6}`N u)^VAU!EW_T3NjFEo; diff --git a/leetcode/out/production/solution/ReverseString.class b/leetcode/out/production/solution/ReverseString.class deleted file mode 100644 index 24cfc1a305e1ab714bd1c4372d9a3a6e8f163b6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 584 zcmZuuO;5r=5Pee$g<1qFA1Z!vF`$WDykR^@;)!S?hQwom4KAr|QVPFIFOX>B5Aa7B zXG;@A=;3YW&6_tfyWc+_UjVL9HDRD=pkzWrS;3xyeFFyuDumRv^kjHLNYv_Gg5L56 zf{<%VPux#ldm?ypdM-0|+wVJW*9oMGV^R-aNH%(8#ZE9eVrl@+u55EX2+ideQ_tFVOIKGDr*aAWC-Q|ZEh#h9f&}s4=o(w*un`; zdBPP7LVj8J&>M+r2E9`4ZBhzgU$}*dT18iWEPN`ZTZ{8Ag+% z2A{-d@_Y_@kJ4L=sfZ+4{BJD;$YPr#egfnfRdEXmwgYmX(4H^mNX($mkbGlG!_r2N UY)T7hY{Ny^fz3vQ-AG^f1vX}WzyJUM diff --git a/leetcode/out/production/solution/ReverseStringII.class b/leetcode/out/production/solution/ReverseStringII.class deleted file mode 100644 index de447a1a8f2516de723686480690bafe5e9178f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 951 zcmZuw+iuf95Iq|waq2p>O>+Snprtp*rVW>Jk&1XI5|X6=5 z;Kh+Z;)y3d3NgDeL?nLj%+Ac2*|TTYzkYxF0pJ8L3>0zKz&&j1*fF5tzBIei>`9|) z`vy!L$na1?EgcOVHbefU7kJSt2F+@mGh|;6dxBxDS}LcwScCt+8-@g&Le0*_<4tBD&})8UwSfFp+5B9pU;=l4V?VaFz# zcxd7g9-DZA6B89wO+3Xj89pan7B*m5pO1Urxe(pxztrrkq_Qu9el$=j(;+G;dPw#4 zL^OsiYgwLzD2ZE$hJPoQQ-Fk68BaQ6bsG#-%S{(M&qpH>^carP_$=MReE*7-HV`}X z#ESGLfee^bo$NYAP4bL<&YpsORpkw`d6lI5rnNZ(U=wAENFh|o%I2Sh)5!Zyj7qH=%pta;!quchB56Mj xl4BJ)vRM?!*FgUltc z#YZ1`;Z+}mL=8W{pWt8c59kYcriFN+o6I+}XU_M{ob%1M!_Nl*qL>Y!4k16n0SsYS z$4CGQA~KB1Febw#87}L%qGMb@n{x7wH!a``g;N4bys&BuG|W4BJGu2NZM!R0I!7cp zU&vUwl;t||{}@!fb*CuMKEGsd+iuZL6`tF<;^LaM?72=pJ1J1_{=FkG5Srhxwym+8 zmCueHv%;q#0g>T|b2uCcjtvf;6|6>9)^b)>pyu%-hGJTv;}q-mmXlkxU3sNt&&oVq zur|vg%05JObnCcEzXSryg)KK@&pA?cS9M{dQiA~l_2gT&Q`nlllUTg3BWfUq34yl% zMIIk7bFLYK5;Ut>&Q@zVJD>H|%blmeT1IBFxDrZ)nO0l0y>c-^YA6wxufy*ZPR?ryRcRY~ zAs?XpY9ORPjA!^a##wMyhxQ>pmbV)iwK7OOTpJYvnh@llKr>nxnJfx?uR5`JO#)w) zg<#Dde96c`O!383Q#F+xv_wob8q-EhO<5_aV)y9B7bp*h_n{_zF(tAGO<5&ZG1VR1 z9f_FA9`y0|s4XdyOF%sV)T7;_?-fE!<6PO=gP#ji@7P1;AhaVMtLf;~aY4sL c9esjb`H8keH0$UWqOI{4`dDIs^coEQ2BiSw8vpwgjds_ne20-*Psae!W%p zR@U3T>+LKFnEp!%fmy4vXFs%a4cptv4Hl(`LjuC(ugsy``XhSm5kGBNs8to19?IP4 zxQ)8wv%l_oawcxEB@n9BXtqlN(e<`n`*O|R4|D`5t`n(&%gntz@&YUO1S0Frj$dZN52LlwQkTHG5+b~M*(jlCTY*`Eyt(eQ=5AN z@f)2G60~{{qy+lr;Q~zIRlf1EVuqH*;v!TSj5&WG^!XDgYf3TGgSx0rt54N>K~oBP zLi-Lkr`3d(kEMRVZ1P)7WP8xQMGcDbfqEej68Xku$__AD3{M;%8ZN4qBg^7zW-j zU>QgY19O5*Q?clC?k|uz0v2Z%jWv&tfhh$wNoXTK;eICBLnM~^5$1s+k_ENff0j@W zb7Pr=I!IbsWl)_-%HU`ZW;{wmMm>yeCe&iL|I2|Yy8WLIQAe`@&w3BzCqXU{7$`kV z5edpYPpKCu)}mde)NRVNDRKvM@F?RE<^zCviii-51gH@B7P9nIDeMT~<0F8b0YC|B X0{RO?B_uI3d5L&pqfw(hn<<7otf`9`|bDV8Gt&rvDnyW!(b90lQ_>uw9=qW_)*jID!~(h&iV%QN8N2<@OHknhA^@9lH%{d|0O z-Ybx0o9m{HF&kKGjAJiitovbK!0e2UqMrXGP^hI#XzmTXV=o5-nH+Aw5?H>ZP@ten zYeO$Qti9|G{9cR-KTYxzK~HsLXtTW4=mot|J%#wlK*JSU^$eb?w7H7{m{>@2Ipmp9 z&0jc34Sl9JOFJcJc7pr1vI~w~FO)xEv+9&=**}G5H`PP(2Mr^(l< zqdT*-P7&xS!A7bescK+_JQdy_kmnJ3ToNd`BG*)JBBE`f=rpeEL ztZU>0we!>}Qf-~K!h4nD73WiqE|T&lmRYIePD(5pZ>GeC68=l<%!yTQCEZL#tLbKH T3lrKoGD4i;HsRNp(Xjppp}~h0 diff --git a/leetcode/out/production/solution/ReverseWordsInAStringIII.class b/leetcode/out/production/solution/ReverseWordsInAStringIII.class deleted file mode 100644 index 8051cdc673859be4f699b2cd950fb1634349a709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1079 zcmaJ=-EI<55dIDJ22C^Z~r^Eqn*BtaBDj8=>wdGiQEw=9_QMe*gXT3_upU3MQ}|#EODd#5ocQ zBrFSKO`O(+*bpKqL`nqG9Ge_l4Dz;Vo9+&SKb|;bke)W{21BT1+Qxq8q-r>?^r}Uk zaH(0-twY^0g*|Xe?vdGMm@B%C25}yQjCj zQ9L#>98n^VK`A#oPR)2`ioqAInk^-Osknv^0b1h7sJM$P!_2>c2TfJnLr&!1SMdN3 zRpe1nv5iM6c0h<`uWH0Fc~SD9dTi8)mrJfbi^NE~WtkLO9Yyg-mSoGY8}5;}{31hS z)Q5B__+W($(fIJLE;tRk&A(WtM( z$x4%EqyuX`urFTtI!W1cN(j?g?I&Og(`3=CxIt2U{FDBPAnD3_*w=-B?;E7oJp}eQ z@{%T<4o&QLBuJO-Q z+7AI|5u7BaH%Q3G5Ql7)UQ)lPD#LBc^5M=Oc&PBj diff --git a/leetcode/out/production/solution/RomanToInteger.class b/leetcode/out/production/solution/RomanToInteger.class deleted file mode 100644 index cc06f30b6142dbb309d883b083f92a221da383d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919 zcmZuuPiqrF9DS3W&89JJx2aL9UA6UJYQaj83RZ&>5Q3=%Q>sU|+a=jH-RO4f!IOvJ zLA-iW4?W0&c=6Jz2Ty`fJSl?o6Zip&2a(n{+n|kh**E)}_j@z*=Iz?%yY~Rj;Zzzr z`qQv*SPe%E95pZ?ki6*mURV&&@ml)(}mBv!wxK};pw71>N8Fh39Nf-tOGdPCh z8JxgLfv$EPukqL9#b zvk`s;zxwG_h}UtugJUu#c>&g$Z2|VM0_#q6apYq05gL`i`tS-8m$X8^oE?)n`4nrz zIk^IDOwZ{r*HDfW#pW(D&dqN@pF5B5U`X?`LOb*MI)rO#$p-BZP<7AzZ8nhyug{rGqp}%?AN@ zd*?*JI~?|uz+x-S)aS{dqx4tV>9exj8g^y>MC#P$MbR_g)3Lxp>&wtcqdsaauilYU z=PAMVX|tKrW|IL2oztd(IOk#vw7OJ!Ozyyr&E||6j0F6#k=oFc%6gJrO6(#Ng zvj(GJ^mlI|eiJyD<8IsFdd9sx8$gKpyjI2nEB5dOiCo65D4CAl?4iPlNKL2_$jj}syD7hLwy eYLA9$kA`YIX${%#8j*{a#2za#?Nx~#y!r>Cyk_qi4l-s&@`zw5p80C#cex*Tl&y(P!l67 zen~g3S&_J4!;Zw2Oa2ML$9J!zfl1EeJCE<2d*H_jfzZD4Ns=61v*zY!i@Re$G7@4T{o2pY+p*A=U%4k==7Z|O+>_;jJDqXb` zJR)akA)UhJX2sBoh*F`nDVm9{ibDN~Q(3@Jk0cwBYVJK(Z)5KCMt?tS22Zt_K6Yim zd|Q1`8A!MSBUj?AGMQ3G^>#|NMmuOmxPt^AYrX{dIJneFq7tp3b?+ZT9NBb=I%$If zL-aF$3owi{5l7hwo5dT_7?OkH$+ENJ=iSZ#OHNsOGC#mv(O>Z7eA%_On3pZTWdgPT zuIJVcrTF^$$Du=gY8VDswEg}7cdz$*a=~Y>G5`9`ZQpmZwF9&D8pfzyi!$8ZZS5$=ai>vNB8lZA`}5 z8VYgt8Om{%7m2TBym3z9|HWrc%JTe^+;Ij&Kl$6lC5FWXN*8c1VNi-_mWT}=%MzIS E1DK$4H~;_u diff --git a/leetcode/out/production/solution/RotateList.class b/leetcode/out/production/solution/RotateList.class deleted file mode 100644 index 5fffa1fac0c4fc43106acf16afdf94d3930623c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmY*WU279j5IvLqO1G&=lcqJc)<&x&#+V1CU@8gmMe&sy}nx+_ZseS$7ytl#LI)G)2%y0PsQh;?zg>>AX2Ul ze8+do-pJn+%npO7>g~0C!BVEI@Cxg0makEw5xYv8f{H`-% zA$`;xyx|E?Fjw=P=Bq7dKhP1hvc>|n!FbqopLj}dbSmj~$9e5UU?CjAIue5LKS2t- z&Vy5~Ag0)buG8NuY&SY?Q{CKm-zt+SW$Q@8;4sw}f~cb0XBZV|h1R%v0{IZ6ZSH0O zawzm8X9U_gMuH27a_3=r$R`OCJII~F&V5Aa8;soX7iiD56X=zE?h``!qMk1r+J>3Z zNjOC;utojQl%vUyq`8tb_gfoQ(t6L7K}yj$v?fQBpD8`hNL2`6Iw?a`Nc5POYEVLp zlmqCLW?+%Bm)TpInOl^8hxQ&bPsyp!?jVMjn8z;S=wcyguF3`;F^&(%+D-)6|3zsY`3)k7tX)pXn OSbmW!SRprr%YOk#Hh}*C diff --git a/leetcode/out/production/solution/SameTree.class b/leetcode/out/production/solution/SameTree.class deleted file mode 100644 index 30ea5e702c2a6315a5492e0dcf4360d223e43aba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 577 zcmYLFO)mpc6g{sq)2Cxf74`j1f;PIbBO+-ckyI_(bYb^e55s5~!+)`2XVZ;DNGvQ# z{3vl=KgeY6JLi6#d++zp`v-tcEW3~xOJE!m#!R}1W6Gdui5ZDmf%vxH@S`08Yjv$E zU>BOlT41o~H+1RtvZlj|ss;3g=1%)b$Ei)D4GE1}j~B>qj035=~4 zjl0CATmNY7NI+bfy1yVD*8<6Mr0N$3>Z;q{EjMq&y59561j%08jdOLUJoF(UG3Q|( z3mz7c_ArQ)hb5#1`g*wnDU+QKRO2*%SUcDCh|!)bx4u&WwfDJspidZcLjUwE!U7K^ zc|srt79c_ElI8gdzRvm^#B)2`PaAJL1w3M}lYk@!$aqVnXif10EPg;C`-MdA3y$5& zenJ{#wX!dW<@i5hWu4d}wq9Z1BV(vT>a?k}pI}=pwy|KOGjM2a&gf7?B26?xWJa0q f$aP1dFoqa6^A|8o6k{e#r7J~l*K9UQ9z*6AM#W

-YpP%E8ItF^k%V@6S5K(x3|xj$3EC~G1_4%5_624TuHnS7!RCNX8j;Q>oB zi3UUZxt-JxK5Y9(nU3r#6@lW;kSdabjp#G+J z7zQaGA;(A3D+itqNoz5y(+hgJ_7mbq1}j=CD+=Tpmo5n?pvX+%Mpj|7*yKoE3*Ffl zNMq{GHe91I^Gw5&OO81-`<~@U$NGk*c3l~J%2AFPdwK1SyuzaE|s_(M|U2HwsZDnqzl|(`>3K<2`5Ee9tQ0 q;Wi^lC9iOYk%hbLS%#%9h$@A93ipLxz&Y0FtA8Q&-&i0ohsA%j@N(q< diff --git a/leetcode/out/production/solution/Search2DMatrixII.class b/leetcode/out/production/solution/Search2DMatrixII.class deleted file mode 100644 index 72c8d8b914e904f3c31fbd414abad8245ac63662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmZ8dyKWOf6g}6wvl|;b-UJrNt3W~`iBT+B-~vz-2^3|m1PY@Rq#AEl$r{HSZ8pFM z@D(d3@Y@ zv8RhX{SZY@1=TZ)O%Z{=dT-tnC97go^du1)VhU^ z-|p#CYij476I8m{c^)U*sTnT3?!VF3?{pO|lpwfH5;Amipod4zSG|4`7r2KKf5og4 z_zO@xJ!Vbb!dtC>gM78L&(pJ@V1{vZDnJ<(W`Y|QF~z^x(x^L)@h2!})EI9zoYuJQ zI&BrY?qS;t)yf4PhTdm9SZ;)>6?z+AQ2waoa`Njxa6!PETuy$vBWJ{J)1K?rO>t0< z9%Tgdy-(*RYIuxUY@v>A%wY$iopOh&n`CO_6c(tfGcr?lt|m88zzXx+4(7?0=&{AB lS$YO|f?JGS_5&87{0X(bkJ~=(h*`i=@Q2lcyHu30@DI=uYH3!qQ2&Rh^~_{lYn6pNb7#-od(PRrpMJh?12}=h3B)j#fQ5r9jH_@c zj)^$Z0@4`pM` z-xTOuT=v|cyjH9S=dQc8RqvEQ_ohD5sX%=4_QJx{?FBZdHP?B?Q2SWJ4OYE|fM8kqx)e7#vCG|}AH_>(Nxn?czt`byv64hgxt?gKZ8IJ%P9i=iZJ6&wuFoE=bsUIm`1 zQu@r&%3ZJAz(IN(qx)c_d~`AHVm8B7aJ4dTAzpK1AQ6JV7v0<^I{>b`nF;Jc52L#L zhJ_^8Vz&JRJ=TZBEz?-KC5@$5nXLU5M#0IppCXZUa`w}|-)pQxEP=8_sH`l#VkJ{| zKftF^n9s1FV_iX&21C?-&r> zd_(_21@DEDMS=J;d{m+-sPG{|RFzL2hlBQbrX!~5kf~y2LiF)VaTr5K+dNVdXU+LcTUH9TLq~1LuE@+veS(qh>lQiKJtv$_2DA3%qqSY% za>JdP1peH}YfBB*I;t)0%tSw8KM?9kyYMI-nWg^rff2&agA}Lg> znQv`<&Ny0)^FK93GPp!F3+!>3L$XNYuhR5u9Et0ZnxSoK<{~w7k(${^&GG-L8RdX< M)Ce4)4+chm0Ru$I6#xJL diff --git a/leetcode/out/production/solution/SearchInRotatedSortedArray.class b/leetcode/out/production/solution/SearchInRotatedSortedArray.class deleted file mode 100644 index ec36fa7de2d13ab2354b6277454ee05ee98c44f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 675 zcmZ`#%WB&|6g?wrB)?*(j^!lAX)xWyHQ1YyMOzFdP%w2{s7f~8WGpMTQdtU$9O&2d zkwP}vbXDjgAJ9)KeVtLYjRg0ed(M5%k3ZjU0X#yxi~_c8?AX{9u$~4{kd6cj2fbqf z^C+JC0`*A{`LEWinV-B>vye<<5_>8jKY1HIS&-J=I*>QYr@%f_zmJ~Cfl@DMhX;(tN#;FLYa|3C1Y4DT5PGCM1@iR)|?-jdyaVpMSCK{L)qy& za_|wBBX2b7?+rfTK__#~O#6(gBX!+1dITqig0 zW7KF%+_FMcMT_=6>O8iAKDMYgaYXh7b}>a89y$oHkB}MqvJtm$!NmsaB;zQ*QKLFG tv%4eQqiXOE*|o;WMVzvCjgQ!5O#}9C6ovSO9nrP7e?sa9cBmL={R1s1TUCAjDh@F$6{^Nq9a4BT_R`#SgDAAi1I0JwwY40IH16m2XCSlhuch#CU= z`o^w+@o?1f1@g^c=s%eZ+J5+4w)^zVH%FfA@5(Sx@5E_Dy)0V#bd^Ya6!7Hcdv9jHs^d0Zm38czbMI#)^ses+?xK7X?wfw0Y zgfAyk8On+OSRggMQYY8mNvl<9k!vgm0)mm@&&HgfoiMgSCm6aRi=O+M&J5&mM4#@2 zPXEm_=WNBAzB=^*anc{S?*x*a$t>u*Po>gZxK7gksq@xJ!GsmVofPh(EUt?YC*Lk%Fub$>d`@kuxMk<>hyx% ztbT#`%s@k&Rvjy7f;P1TAc+lTU6oFhR``26pW(gpkVh_gxt#T@6mNoJdTyJRbqufocGWbqK&c!Zru zSCd$qr<=%dA*xs@R8baNk?IEV8SbR9>jopmbin=$FC)jEEX?1C3vr3O$ozt-vCCfX zcSe-DG`ptP7R9g7nx*%MmFE16Zunn$lJkK)RTUy-)n(UOkGbvY2tAyD=aA`X$$|$12OU75Aa7B z-&RgsX6C(}d2eQae!so}+@s^c#c34|&P+J3;G%*{0Vh%Kg+MbLso7Gc#W+)HxSFa5 z0XNgLIp6Gjy%Z1unY@shVN^O5IC#{lE}lqtgP<2t>zRWB^-!m3xL!_FHkOlwOe;n85POQ2!;28m2(gV)JI z#b(EDFTyQPb$P!Fu8RsQfx}&{!YeU#%S`Dq3)&sCuTJy^3pR7T{|V9WY+?1Ux3E7* nS!gh}XaJZW^%!d$^wA`9^FPLSV@d(DK1EGsj4akCL>AhAX7olY diff --git a/leetcode/out/production/solution/SelfCrossing.class b/leetcode/out/production/solution/SelfCrossing.class deleted file mode 100644 index c9384d870dd956c91ca4d104a1d1f9aab67e1923..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 604 zcmZWmOD_Xa6#mY19#z%SQi)9B9gj(-8?o`&ctuhyDi&-^JEJbu%Cr?fz)na+tZbBp zjg6JW!VmD15S%+InwaF?bI*6a^WF2!ef@lX0Wg8?2tw#I&}AS+(5FR7RA&jH(XkDJ zI#+f*LOdf%-fHb2=lSbSuE;BzP_JIwmMvd}zy7o&5fabJ$RfWXm-_?=1>>XGgP$z2_V`QK--e(dGi7 zU6#^Cr&LI<<@UUM75z}yr2G`HDQLXwoTWJuM{WEG^ca*4-t_=95ax6AhkzDDI3u(M z2scxlWu)kpK4V%hw>Y;<+cGuRt|MWYs>_M)+IP^@2h*ry@DIB|D&QKfz1`@Lq;MVc zL28*?aj!A?tM~)dG5n`tnPKMqzv@Jx`!7HAz=MS#&DcCLc=#~KJ|2DmF^nLN1+-%c zNo3H8Q>1XloJ;fsru(>8!3Elwt4NCt`|=d$K7I>EW6(aJQ18$?7T$t?nqX8x@*ARO BZ9xD4 diff --git a/leetcode/out/production/solution/SentenceScreenFitting.class b/leetcode/out/production/solution/SentenceScreenFitting.class deleted file mode 100644 index 02ba0254309d67c7ab97493d897d17015399e3a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1026 zcmZuvTTc@~7(LT&cS~6WD&G{Gj1_RT+}P1pAp-K;Fb9TsCn9S502SbrS{L z5XhX`TcGD}$LFgX(jm>Z)X`w5b0csm#(=%H^O0nm#yBfbsv(ekj+5Qo9s=6A$i?jxSo=Ds4a z2R*IP?7_ID4be*$67hmQvV(gWee_L1AJQ^r$CD{KFM(ODoBeDzH0j3R%3o({Wu+0RMF--me D_Z;A? diff --git a/leetcode/out/production/solution/SerializeAndDeserializeBST.class b/leetcode/out/production/solution/SerializeAndDeserializeBST.class deleted file mode 100644 index ccefe05474783fb0686aaecbb851d4350ef7396d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmZ{f%}T>S6ot>tuZ?L_To$3YQy0y~ol%J83bx;NDlu9H-<*Xms^s@+Pq|FlfAM?#R+eN)J_GJB@ytFuxZLz>% diff --git a/leetcode/out/production/solution/SetMatrixZeroes.class b/leetcode/out/production/solution/SetMatrixZeroes.class deleted file mode 100644 index 18ae9c9adcf23d5e79daebfbe117fdc66ac9b107..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1127 zcmZuvOH30{6g{u=qe!JK9fU$LBz`DWAgFc0CngvT2Ei4GQO+Chyg7sSMs zTg8=bh;9rEqjAx#2`hHGl8p;ZOf>E!jdPzT)JIMB-DWf>WGz%AWKapzh!F zDgv>ooa;|Je%ZS>=ax%uWkeucas9f(9)0ukld`(-_)hX&Ah@U!*q9{Ga_KJ5La8Xw zR4BSm`LYDWT;NVfCX(}=!mVlNwi2LbhzT_3O3USfd(M+W6MM7_EI4^WLRcyCp zZF5+wv&Jr~%UrTUde*Wn7U`8?w#B%ZEN5vmDo>kPu~=^>7woxa{_CxUD}$XE0P$wP1i8=BI506njMjWr~t3)gV{;3jI9g z<_)g53H!Ou1Xr0t1V`wl(TZdAhtY-+GG}4qJlb)A{v{-F6k3H6#njeFS*HU(j=vi@}v={LVr>c3=*L&Ers$^DFkROwsjoR=CwRXlbWXd zxN*~+D|K8@bVNqQaTsTuaRk)qIL@$Pr=ttq=-Q>OWW@U2m(-3p%1qw5=bn4s`T5Rw zU+(?+`7(f~@q&p4^hsA&FxG{vNmJR(b{Ww)Rm0<3K6z2tGD6=%LO;LcZa#VO}dxis5fDC}Qw3wgIVGv6%`oqx!Ox!Wct2HOV( z#5q1{by>ko+0C;Y9#NJ{7b&Mo1T<$_HwNP;j zsgugY&WxgSsUjdRxbtqssn$NuR|?Jrhjp+2CvunPR?)K_j@2_U*xM~}T)-SIEtCnP ztDxWdD0GvmrV!SlF@$z>uu8AULasQI8Z1_v8K*3f4dDb%3N)@Yz#*S^@CPXVovUylq$~HvT&X~a8{69d?a!E{>1n4-o-rob zC}7vZdgD95S6QQ5Dte)PQw1ki#unbH23|Bkhft7GTHK|$3a-A6TM(a6(XgJm= zQ4dueumLuA0*_%MC0`al(a)sq)5P);eA>;#^4^4=UhZv<--V`i8MW1?XZ(6bTC({% zGI}Op1>)Dyny_Tr3M7qp;J<-&i+<6OunpU1Nh@#*`eH!bSovX5Qr>IuWu*5S-|y8k zK`Y4jQwb}Owt~qeY~o9vYWc6B!IHL7-QI>jBNu~=@QoMkYfCoxu0d)yz$`aex9;^i z?#TxD2#aK25q90gZa1;t7WSGzGrv!9^x<)SjkfSB(?U))lSmu!BDP@?tvHW1R7lcS z(SarE*J%3yNe{o5iC~iUX2u9$EA}u>oSBM9d$u4P^n12|!m@_5(l%i;kv8!Wv&K1@ z2;OJzIO}f0+jxSf27TVdlhk}Xd7aVYoXI5X+veqHWyC$Gmn+-_B-$i2At<~R_yYm4 zE^;3}{vN9WyLn_6~v? zPOqNI#IoYTU6@)|fJ3wWcTgt?&aX-f34DccmuZ`NGE--pMluuXwCd7U=!K*eJd@pC z(~UD(sdA_kT6WB*XUF_{wkzxzxiR?oc<9%%UG;h-dR zw3rpWisM!^!Slmb>?-zKF;(Haihr4e6-`?)vZ>P!c95Fq5#(|PW|hmUOqS^Jex?9cc%7pEbu1B9{12-YOut)* V-;pNa)dl&Vpc*g1UZ&U3`xkl;nQ~^aelQP)OkeMm*0ek}Q zy!FN#F7&2NH1Pp^3?IW7_1{bp!jy}yz4uycuWudp^v9pC-vKOPLqh@?6aI)c4JnpX+*EN(Ahu%JmcJ^XWU^ZV(RHV03M5LFZ9Z)^ zE2jIxs5Gb|*>voZY1jR2fn+ao zk%fCcV=1n=Cy?slQ_RvySo}%nrtwx_uM6k>ZK-#W_lO*`c4pb>SN#uksxzn{v}ZbiR!~CErFY zN3B|GqrZ(f&+#_2&%6*oQ^cpgKNU$<4jP+6ANNU;Q;a=^S?)6=$og}Ps&Z1ZxENG+ fET5ng(r1p=2rkiIgYp}ynE1t*{NJG_f-C<3Z2BDY diff --git a/leetcode/out/production/solution/ShortestWordDistance.class b/leetcode/out/production/solution/ShortestWordDistance.class deleted file mode 100644 index fc32feeacc52d152410a49a239a8ed46c3f47ce0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 932 zcma)4OK%ck6g?mF_z)>=DbrG4ZGBW8ZIP-h#OR_%LjpAlDT%HIn7~vz=rHKgjeo*) z=cXGsZnQC`Kfs^lLOe6jpeYLnxZl0!-tV4s@9^{Y_Y(kja65u9u1Z`}-VcYv2(IHs z1naozo0LRaA|s&Rw;kJiAfTkudjjfCuVo3$mTkw{9UL?)w`MlFMB?RM)9mhU;H`+j?a8J=1AgMS;2g7(c}X?xkLq_szFvu4_8&T-9@Jr(OIX zBwZ2^Hh(;|cjO`Q!jxX)Y~GiAhG?AJ76^4&5$e(lpNbTisd{GfRmFTA%onW4kjM%| zs=a~Rv>x03Dwd~ByXA95aSjoI`3Y~y@vOGxvPl#h*p%3cB8OX1xpfkr#yo3q{w%r3WJr2ZOobfK7jArPCishD1euh?v`TuqhyT`C8*!*!%ejIajD z|BC;FAp9X{&oj#L6g;)eH;6AmI!dbtAooQ-Ix0X6vy7+|^R&Dy=AZ;k>!E@gDrj+~ zpeqGw$n41{>|_nOz3~<5M??%+P>&Gzk<9>EC88PXA(jm75OG5{R6}bWLpz3E&_76V zH2h)cpGl{X9>`EHHPY%xaFP|$u5*e!k-HT3kkWRUt05jpe$M<1o-kTqHBcXm_q_y+ zV4yk{vBYioSdyN?PYuhwp|aC6T%hMOR&bG?j!Udufi`60u*7AFE7ZZS-~%LM$zLoN KSY=rVYkvSM$;AzwtT3#O*ZY)&2HS?wBQXl zILP4 zg@c$8zmOvOu(=R|PuqH}wsDyylzM_`F`t3bYi=Ra^IKt|2hD*LtqLwRC%Ryx_a0 zy_#(RpH$eXsYP^+vM?qz+& zqNY3V6m@G!cTKqul`)Iq1Ug?xfRTjB{~Z1KYo;e~IA2(ET;K5gWydXDE0SiQK8`w8+gHSe9w3F>b&8vIVGSyl6SDtmA!71q(gSSc`Zydzz41uS8f_bIefdS`gI_?>C93J>#zg{8`-QM$%bq; zc*&-CsVi)cUaeZU1&*Z~886rDqHj9(_-rVU{z(Wz8xzL6`RU-1l^dCfG5 z+|b7TPMf49pls+?%~&kUE1PRX>|AVCtCvawT9a^@YqYK!OeW@;UvoxC4Ch$e>nUV~ zm%_CDB^hp~#Q{U}y1&Mg71Jg^>0B<8Q(&ub;Hh{AX9P~{Ho&wuoONS79}F}{NiXX~ z-*L%kYh`z*pvF6tcbxSanNxGNZMZX*?s*1Z1AjKw5&EkS<(zJpEW_)s9}Hi5L5h1` zgMntx!OMJWG{XPCu^#f}XB(RmdY;iOt6=&@R>6kAz&?JO)gy59%Ul5B<^^QEfkIeATh>i44JVqSY zLL!Rape&5_K0SmK26O5M7DV_svx6aSO9-xgrE_^ zg0jRn1f~eQ7v#T%R3u1T?nZZZXJg&!WIQ^Vh)yb6Vr&a-0{3xUQ+i^dyf~&Mw$Lum zw*HEa$z)GVQyLX5T2gDd4^4|}6ibiLIT^p35D(Bz4Naj&AxGb9@gJB_ouvuZB&%p= zkNVi3O_~gb4igyS zdvlyR*@b)0*}R80aEjDO-2|lwBj3TB0snod@@LC2W_BDF-sUqNuzu({O0r%@4G|^z zA4F`Mp^^drlM47b&5sZa@eeKu@eJ+H5a~?GOJ8pZ<3@rEl26dZA?yB;ej>rlBm#X~ nP@(KKSld}<3C7I^sB>gQPL*J;KE5JD?{P1&=ZU$18C?7i{UJ)U diff --git a/leetcode/out/production/solution/ShortestWordDistanceIII.class b/leetcode/out/production/solution/ShortestWordDistanceIII.class deleted file mode 100644 index 8f39b5991d549da89ee2bb25676974b7027b3dd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 zcma)4OK%cU7(Ev*Gt+_E7ffxf)>C|InLh|z^jBZS&Sn)*r?1598l9dsCU=|&U( zf?GFk+_=$3ll}mIk_++7KtdDS#L3LP-|L?9o$t=CKR=EDtmCGRFs$$E>v(nXYu|W_#Ck zZQmaTrPs2%0&|sWtK)iB*L&P?8yj}lGo89sDwT=?@$LyJf!oRFm3{NInQNO)GgtLo z+i4d6Cz2`&2%8`G$Q#m;f93?NVRp^${2!uWGEcn?c1yIfK*(ls$YyZ7>Y4QyTjt9^ zW-uv3#j1c_?eyHbwQ2hkSvW;>)~Aa>M^s>HL|t+`t7*B!i6M)eit90~As@pHtP9MZ z0wypyg4nL@TXlAOEHs!LuhDwdGuxa+B6&>i;6O3;OyJB2X3O+iyl=C{a+xfrs6BjO zI~+=~Ob<)Y`1ANr2-J)y*BHGVcfmcf@*U!9kRIo%1VJ*;jtvShfk}GQk7=$vEaq7k zWo$2wa6uZfpct}O(89O$gq}Y7gpG7U&u6|N@)24>e_v31e>L#qnZd3aT0!x1njsCv z(5yo!hfoXhoi0B2e;V?`7ZQZwH@gIn=^pbNtgJHsl zKVp6g4={r`E7&Pw&-~AhY z@rz$I5iy$Z1Ny-JJppaKDqyys_))Xd7Rc4M{nx%X=!Y#Y?%fqg-V39!zf4eR zy;@!q&>wV~fk37fMgeIyg6>m)qs30H)@k^yHNP9mdf3$aTOpN3YpYv>&COP@60LN* z{vL_-NO>^2K`-dDER~g;UOY#=Flq+70)iez$l8}cf%IzMZ@hZs?PmI2*=%r=6pxu`2qBO7@rg@$8U}>kWwdUiiGD# zImXWU7|eQ{6=~S9NiA>z7l#s_ssY3K4DBO_G|~Y{wm~0~MnX6+q!GAu1b#8D^~f-?yQGs(TYI+ZuHlg1U|q{T_j+t7X^W8$*-#jZx|Gu0_!JQedViik=9Q9wn@ht@#Ur=={gu(Y+^nh@WNe*zzU z;Z+j@Dv3Y9Uu29?&umL9Sli^z+&gFP+;i^TZ@<2L1u%e25N(JDkO(4)%Mw?D&=6Nn ze*jn2IuO9MMhxP*GB=dDDKQj8lY%uNr7**4HzF}AaZ5lSwsW>SD$o#(%?oJb`6WxB zIc?{xnexV>ReWMDI*f$U`K;;8n?+ms)u86C+9iRb>5RQmaO~yHIn!ND2^ggsU!W(N zUNc{sNyp5sBr|T&&aI?k|AqtvlZEOXXayz~@RbN?dtMLWe^Iu|th2RpSaxkEIbku# zaykyyzFF9>zxyzF_}|o{Owg2Z&FuQLS@3v!(v3-UN!%6)X7c4?*1Bsem0D|sNGQ?< z+7TwRq{NtkI~W&e_r&ljq|EEqQra%L1|~2`T*AOz+#}UQg6R$1$CQBwcxWK4!kveO zyi>NFC97y)8Z!oFF=yZr9>R+6nke>?^^&^;%fB z5xQgLR#dY%P*a>Q_P})5ws38RN)4&lGXZIrCN~Q1rgwpUppbW*v{~Y#?a|sPsooJd zl3!l7iWP`%77A8wNg!UE{=YL;Rf{dv*79~vV667q_^MgVsF}%StyIkJz{SFpftpZ&L@w-(&A4m#e+75b2u7a!o;x5Do@3@mz_ktRZac@)rh~PLqffG1M z%gZ8#1_T&;eJSMILBsSOw5Pl9&-4vx5$)@szhO`h>tX*pJd9{zy?;nXR#4=hILFY*9|(Ns Lg94Wb_o43(C9O8d diff --git a/leetcode/out/production/solution/SlidingWindowMaximum.class b/leetcode/out/production/solution/SlidingWindowMaximum.class deleted file mode 100644 index 52af744221b439b62ace2aaa923dcc0e2ad83ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1798 zcmZ`&T~ixX7=BK&%O+v@DhZHE#nM6p5kjd}1;h_pG#a2SNTm3|LKfVTFE<-3I$Y>< zy!F~T-q$}q3t zJq_;*w9Hs}%b6AM$3|8Kl(|C26zE78RjsZ?Rh$gUc;CD&e2alWuh z0zIkatd+6yJ83JQDSWkH+_rM%+_XSv&bZyw63}An$>hj-Qb1Vz^Qq*^IfD4y+AbN{ zW~rQY1k^9fW|>EKrEVE}MxyLk*~E2OB63eNo&92!((v=cGnGQt$nPYQdB@x_?de$} zv@JWv*6xB)bhT(0)Ic&_&oiEEKL3hIQrz8mj9WYT7!4l?gq90sd&``+q>s@iKRm0( zr9d4$=oRR#i@j!B1>17=UC|mo)RDr199z_}glil0%L<)^JnDI?_5mk>OK`^_k2*mw@4uNb~j9&so~MWp44Eb<|IA zSvOT&qncRE6>>$xHk^Vjpxfr2X_w3;J7aR$7aM7KmGwcIAB~;dkr!CoGqPoKX`5Fh zmh=!Bo#1x0u)Qr$h;laFtf$E`flR zcUI-eWMGx9=8Dd~i$J)5+?X;-bSF?OWV4kt=#ubqIWce9awI56+#F{S=GQNOeozj2 z8T+_O@G1CIM~@(WW8y=UvBfP0ahkba8NdtZ=StuVUS#BEF#&~>z(M@@M`-$ORGs?!3(Bhx)tv!PO2+EY=zpO^o`0+2e5mn+5b^H<3$7t~(9aSDf6X?H>u-oa+ zRC)pSBC16C34LRgOwI-c{zB+?v@YFI#e-+Rjy)s+#U(vSsz4`#=t3L1sWOZ~s(zW- zG!@U2befVjD5cE$HxwcT&Qin>Z~FjVf-2>BQe}3Q2-2SeoMYEVq#c}R&CmZjcMbFG z3+zjiDwP;3Bdm0zCFp;OUJauf;^N|&e+e!~rt03N=icG}xu>rkp{>EX1F64V;4aQf z3*&OxQMF_IKH6oWQy~4|**{SwqPiY;c^;pt4oWNUp;gXybGGX7Y0qO9wKhCnarwIj zm#5H9b%S*I994nb9)fq*4#d^Kr51!it#2F%D-R(+c+;cmEfOI?Tx}6X$qp^XC-xDP3!^QsqBO`wa diff --git a/leetcode/out/production/solution/SlidingWindowMedian$MyMap.class b/leetcode/out/production/solution/SlidingWindowMedian$MyMap.class deleted file mode 100644 index 10f4a1a430585b177f3e86e720b6b808ab5f2c2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2068 zcma)7T~`}b6x}zOd`}^TLZMLmg*7BCL5h|dz#>g7C6Kg1V%3KZ$q=U|ldQ=ESNthH z_05<1;954dKDd1LH+8w(cV>ve&VvuRIp^GS_T6WnL-_0O-~Rxxif>{V$K5!RSd+)S zIKucO&R8yjb?IzKXH#Z4q`8>V4z3e2Q@GZqhtx81H2Z@g%j`hKrik>z86&FlLDc={+`wmPUD~l+L5j>1){C~6TQ_wA)JhU#iUxhXW9biDz;Ypj{13;CR+V+ zyV)!lR+qQI)FMY4(oNgyMT$039OyYuyDLj(Lu8Jb|RP3W9aNcQbbRsIsxUJ$bN-EA{Ld6qQ zR2<+76^E#*_)=O=QH_AQ&iXv*F5M}#vs_+d5qvE$=_92hJ%=~zKYV8+BPUw3rp!}0)=yu6^pdV|!Cdawvp*h`^j-Kl^+f#cqG79A-af1xgK9ui~S*J&=u;ne( zO&?HSi1@KwDsO=T}1>2#l-z z8B6lFFu)Jz2_%zp9q5JlnZh&#F48J6L*~TOnO6|$*9iPVFMt`IV+itGVnr4)EMu15 zw404fxJ-|A4yvFvh4*+TF>Cyml?fN~)@uYMXmA8{g`js>yy}2nb<>BSi6LkLSJ+Ab z*I2KTGC>)+&d3eg0W9!*A2+>b8bp=NWYTlLL2-^CjR8V`B0NAudFFW0YWnG~h$+ur zA@<*H@AA1dq;YSg+su$y1|LvMNh5_t@6n&3IP~-HzPB;|BSOKK^U4d1JGTSGt3P4F zvFDZg88&sYQC`yB#N0gPz5}tUT}H?oFm&SX~cYhT$+8dFO&V_5rNAddzrO_56SKttK_`h$Oi bz$!lCMF1aTp5LMQqmyjK$LHMh-S3?9T|0mN`*at; zS*)gU7}EycO(TK#GB}Mh$~&vf`^ub4V+bE8??Yui8l;&~Ud_OHmHSw~NG5d|xM1KD zfz)Dm(Yh;O);&)KbFS5H%eH`i-tnC9fLWkVvA0PeIAJ;os5PcwZ=LgyANc$)R|=? zbSHG&={di3*9xrA4|vdl+?GLGE(f+`I94n*;(!#h8qXaMR~1vO?yPO|6pD2fW?J2= zzU$6AL7ScOMdCRc+m_pr%eMvc1of#7&d;)$rtgK8kZ-qm_5Z zZSB_Y#!M=CPS5G(-3R!&QqJks9`u4%>A|3r)5q_lqL#<)>Jtp~F!%#T_TwJX*LN^n z(E4c=R(?gMpwT>lSt)2QNi_RDE)`OWM!WSA^b?M=j`;_MdN}l*g1_*aSq%F-ICLPr z@~tj*_HGnXk2q5jN{e|)2i}7eFpp78Ad4wVc$!g-h*>IhjmmsURkoPDN3p-b34D)9 z{D`;ljQGD$jC5R}RwwWfZ{a9)qiXw#DsO`O)KNUgab^>&_l(#{c9F+Z@=WqHCh!RF z;3QJy18!nqj}XH^$-tB_P>z15$WqH>_b?NeN*FjL_IS22+mb4m#6RRupu!3XRN1|H M6Zj894Mu_g0A@xnJpcdz diff --git a/leetcode/out/production/solution/SmallestGoodBase.class b/leetcode/out/production/solution/SmallestGoodBase.class deleted file mode 100644 index 4549459873cf1cb9f6703b6cace35953216fecbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1497 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 diff --git a/leetcode/out/production/solution/SortColors.class b/leetcode/out/production/solution/SortColors.class deleted file mode 100644 index ade627c686892b49e622195bb4c24f639d1ca782..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1462 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 Be)<3a diff --git a/leetcode/out/production/solution/SpiralMatrix.class b/leetcode/out/production/solution/SpiralMatrix.class deleted file mode 100644 index 6ac58ef2e3b132843c0dddf6336f10c5c51a6b2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1251 zcmZ`&O-~b16g{t<>4Q?_b3l-SBGp0*MKB}^AyK0Vrie)uqr}C~jyPDRWSD|1T$ps> zU(k(FOo%Zi7#E-K?NyG&LL#Aaq!vg+j=eU4!EtfF_s*W*zb9TcdT^Wrf(W7q;(bYfzpGdZo#>xsN$W)n$s z&LK)n^BrLcGhQA`AdahTkhA)4e3_kFxN1z97E|b6w=x1{>0EYikFK}ZaJ1CL*}ZZj z$2f;daaOmc5+jylOd0mzFbk_pIePlZs6OkpDbekTRWDGUGN&xv$=ej9>t9{{k1?3a zN+Zkm!nS>x-^V5$yB;xu=4@VAiyuneSF{? zP|h{TC_yV|)vi^DPu_6_*MPUFAVfb@0-zEn81ZXEHA$H4Yl5Ftz|VE~?ytf>8rygU zHNN5>j%_HJ0mVO{#{7M*8whL45S0zw zw+kxozZ+j+R|;GuES%yhJ;^HBbrp4}p%RVsnyExPYAIqpED{wyc%*#jH7ked%o{|+&`uI zyOVLfI#%G0cazmLa7s1!#(HWwr$(&fBt3;St)YpY%4${^)pFWykM5jHnJvr=bLSE& uc2FhJS|mtHv`L(1B=`V3s20D_vICVSyn|55RJxlgn{>alc2b`8ypBKX;0MG2 diff --git a/leetcode/out/production/solution/SplitArrayLargestSum.class b/leetcode/out/production/solution/SplitArrayLargestSum.class deleted file mode 100644 index 599b1c64eeb2980259c9a2eb04469de1d5e082a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 995 zcmZuu-A)rh7(LV7*=Sd7X_q9H*OW0Rs6MJ|LWOWVL=f5>)gH1U#` z@K#B<;l?YB7d(JhCMG_CPhk{1vovtSPIl(ZH}iexJ7>Nhe>(zj57{^*uEuc<*W)m8 z!^TY;lLFR5ujvH~0!B8sB49plRciwMC9hd~)@f|i{AG8e&d6Y?RdMSpuJ7r6H)sZ1 zURz+eRNkq3!J_ZG?@O+~S!)O7PUC?E z9d+MvZg+@9oxd;8TMpdHn1WWOcps7)kR!m z!Ej8&kxJ%|J|UIPD_Qu8$bvF8T6fG{DfUl(r+LG4EG3oo88doOvTA-fPM^O1ed6708@0UfMLwxG8P#vVH7Wr z!Ya~uh4E0x8Y@IG!91P6NNWd(Y%QQGPNP9q)Q-3q;%S8AHESoyFR@03Bt=i-K6!MN z0`8J6NyA2&GXm=vQ6a=1jQ@ir#9w5HrLMw2=X&mfYbn%yY?nWl`WRmO|_AtdBvecKuBs(l1kK2qpd}IBLPstg> ytx&zC+0Qi3V~p8a^L(g25+beM;F#-bws41DYRy_{0>&|7RGOhY=8iKK!Nh+%Xqy}W diff --git a/leetcode/out/production/solution/Sqrt.class b/leetcode/out/production/solution/Sqrt.class deleted file mode 100644 index ea21e1191448bb7303828b53387cb81f545ac622..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmXYtUoQhe6vfYNXIpJ)sV)_5ghbMkXoxg|HiAeb#Y4rjZFj@6ZCOkBHiE>97f%uo zUM0SUPvOCzGu26E?zv~?{^rhn{Jg#aSj1QyVT?pE8bwwRS#{fPP!)s=#RGxb=-7@R zRdd_U?q#dt`1@AFqm!<6nwEE9`L51;rV5VT3o>f;b3a(2Xx(TstGWC= zmUH=>ZFq-eHEt@eY?#V4ZV@rnlU5H%m`d5zN2GLmhd!oxptg@FhW?7MBZ5Gq4OY))Yuh+X)gY<-- huufun2UoHejIi2WX2(+KLDSQKg~?R25MXN~NHlyK$_a387l{x3lxj&Nu7t=U=`8c!1k^IJln29Og|~aIxs( zhJbn$#$nnJuq)Ml0l78k1OijdFb;MP-?W3|m2O95%FThVqkWx(WBEly40V6F+zw8rkG1*j-~)fP(AdW&yXbRKPM;=r`&MO#d79vfU5- z^gn8ppYkY(yJ;``Sxl__o=%=nDl0qHE!s-{WAj*G6E5oncQvkptF!tU;#1bnv8s#| z$P*Vv0!$KtxQG&~Is6kgjexziGgysvmb$d-j^}vtKz0_6v0>Mhr#yL##Wk|(;0*S< zr&vEgogjCl#L1r@M)48Kb54&O?!Q^5^t54etY!%mXS86L;ZbK(vyCf65?6Vq40Vo@5aKtA QV$R9^qEg@*I~HdD0?!0|kN^Mx diff --git a/leetcode/out/production/solution/String2Integer.class b/leetcode/out/production/solution/String2Integer.class deleted file mode 100644 index a5cebe886a98f6188d6775ec557e73326eb6f7d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 983 zcmZuwO-~b16g{sq(W;0yRnsZYqo$9 zE3BJO&1A)_mXk+enRs46lqfk~TX!8<{l6f(tCTzJscx6$ky*hd*DO80Yd&c=pyRrL zf2p?Vl&nQtb{RR@$fT?qKo}7n(*fK-DuA0v2QY(M0nB19fDGmZdXI1Kj3Cf`vJ|I0 z4!U1lw@R*nXN42|V?Rn^$E0IJAR3FGHkY?zRm<*Ln{v+NEv=bOmetf)KF)ew_01wl zA)k`H{HZ0*xV4A=-p|PQX@;Ik`wU-b>Ju{DX1^dc9EEO6)9Q|y9X8Y*I|~2q zM|i`5Mn?_qzNgyLc%h50t!CT!vcc;V$gvjN9E8|RnBTa8ZVnjYKoMNz&ojW6AHo7g z@Cc(Qvuzh+*yfM(9C5tHINs3r7SnB7QqUMT%glcGSbMKSkUR}wkQ90Ff%S&DNAQX- maG7+CFme#S1BBEAj0lf*h@g&9Ar3Gj{-FCetBMX`SN{TW&%pNp diff --git a/leetcode/out/production/solution/StrobogrammaticNumber.class b/leetcode/out/production/solution/StrobogrammaticNumber.class deleted file mode 100644 index 86c2bcb028674a201f21c03b665570f2864441e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 906 zcmaJ<&2AD=6#gzVFasTIi?!7jl=?e>6i}g9U=ezgo&re?f+(R{nIIhHy#-@&|8m`5lPW|iB zx}oEy)VHKCWm!f;Rzr><@<2GkuQ4cQW}iWAxE-5eu_+w;>3G<-z303=ph%+WT70n2 zJt6&BQ1yG_fMKoK@;$fhc0E2Ea$i`}n>!54;^0(@;ey%h^EbRO;7+$dS>bedGA|jJ zptDD(Phgz!P|lnyWQezXZoPWKM>7numOJ(=`>~KH*H2BG0@;#n44lKFhT8`6*kUkB zrF6BLE*8_3`xRQ@^rZS&3_7-Fpn#%*67DcS>bnNfT{cj`Hm!2zIEJM^-JZ4kw&nj5 zn(j>04{WFF_a@ZS-Vv+EyEx>uKkVi~nm887WgE9bIAaa09ry1 z5Y45gPJmc|g|`SRM~5MHsGPh%`KBIG7X@MHJEKLichBaIy lEpwO1QYcfOp_A4+HV9vmq6<)dAj(+&J2hiSQ7DAVzX0G@#;5=Q diff --git a/leetcode/out/production/solution/SubarraySumEqualsK.class b/leetcode/out/production/solution/SubarraySumEqualsK.class deleted file mode 100644 index 20672d7c3337c269027675ac797adfe1d0c9f5f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1015 zcmZuvOHUI~6#ni!u?zx2c_=FpQh~J%-SW+jMbMN`iIp6utnfdkS`ze40JWe5nDI3!%XqZaD#yxe*D3i4@ zqmWq}_ifAxSWBMoMau$uCc7?RJZ)^b0{tb=cUR+j#SPxdN{z^sQllzs>oV|^-v*6n z*9!%POXavCgFqgZHWS#89ABrtMO%VG0e&tiAkQVXg{e0fGA?D9h zI@>#Vgaz)nn_6HXAxyH@Dtm5~^V4#rlT1gjRoyv!8|h?d zLjul@8?6P;+-(`x$kgNc(YorI{3u0C;u3!{^=ROihC|y&FV9o(G-pmAj*{?YS}Or< z^z*J#nScQd^5oPQqGhp|A!-u~e?a?i0)2H({|3Y0dkpivUNH26sTZuYIeYpUt7&UC zZRR%V8*^!EVvA`i{TS9y*vIJEEGV2v%U*~Xn{CohrucGpls3MytpO!x`?#v|=|HyGdjm+8JqW8@Fss3LCeDAk%NWX6hX#Xt?_q&_L6T diff --git a/leetcode/out/production/solution/Subsets.class b/leetcode/out/production/solution/Subsets.class deleted file mode 100644 index 6ed1ba98fabdbecd9118afdcc108dd91b5120b09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1449 zcma)6%~I1)7(F*lNLwSwPtgLRh+<2D3JQpUDx%IX)9L~TN7pl+ncJlyqy2*F;WVve9*7A!r-(Is_v%sIg*(KjveN(bF z1Nu6qNqxy#t66@-Ws2qrgijxQh_@G;sF=;NEU|F-F?r4NEtk2go0h*WaIMKVLT*Y! zpnL+(X<42MLUK$l)f?`r{m7B6H=^#2$zB>bi&i%GXkTk@?27EJj@t%iaK}IwE=xy~ zH8wDdIUNN9cX7|aJnkDq{}l7CYrW+Nsa{>y zPm^sU=XB;sdJFYxm4Tdk&6Kv7RjCN1B99|TX7+_Z`#=0>V90LEsy6H=uLQa?2V;D! z7ZTrj$MW#ugrmGs-=dg0?j9y&Vt}vF;8O)+;3T4zYa69Jcfnm7-iG+fgMxEhTLNVQ z?K~Ty13J)2iM2`o*{p{($m)8?jPu_an5CFS&0}hjX!!NWCp}bW?-SJ-h_| zLBugi9%BqN&cG97cr$>z9EObG7#!U=PuMtmaRF&U_wc?X6>55^>7ynNv5z(#7tv2i z!6km21Fn+lPiO&dX;hL*tJ`SVfv(_L-;|cpa=V`}nO1WtZR{K3p<$Sk`f^mdYH2mC z?jXUMS9Xx(t@oPv{AW+rD@>{%I?vNg@HXkqAd5Sggo#I#itZoTcc~XP4yAN%>hqi09$pR#x?4wisB4k*BA=cm A`Tzg` diff --git a/leetcode/out/production/solution/SubsetsII.class b/leetcode/out/production/solution/SubsetsII.class deleted file mode 100644 index 5886373393983740cc95bfd1d21589d10d32dcba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1484 zcma)5O-~b16g{tQbEh>syL=iM;Qe=UF2pgw#3IjviOlL@N?O$-? zinwtrD?k%|fIr3GVAS(E1xsZ?CiCXr`_8-fp7ZYf`2Fn^z!Y8vp&_nfEC?UsK_oC9 zL@Oqwn`}i2lR@0YJ!##S%an=-Djo_n&6q{gnHBKI;wu8md?{}Tv}ett@!H+Z8TK1J zXED;1Ep6!5if)_IuLTun%d7~rW|!Su#c(Q_Oj;mR@tjrD*;;VR0^PCoOgy`-@98Pm zF|AbAtT@CeMR%8ned`%^VH*|Kas)d5$AvFe-Y=h3pKid;T<%+XaWj=EI>x49r)T*H zv@JXO#?GQ%uJTYZEzq)TZWeXNwaGPoNyAr9KFZUXhE~#zzSKHUadexU1qDznio#D> zceVsZ8sN3!4NL@bmz26{qgN^++YBz3TzkWKWy&!Ko!@j)UZ{pPgm}aCms{L1^74vR zJkszOPc(F6Py*8wTEh&Us+iUA49_*p;f02IEJ*#&Mug@G zROe~Vw)K5Zl2R#2IRoifOs$*YkOSo*JUAQaZjS(D|=^ZEghA zJ>7DRrGh{>b~eoy?nBl$-%}#~NZv&6miFlOT!eds(zwOHQ{%4-_`!ihh-*8&6u*Ms zz}OMQAq^ioxHfq~bkf#pb{DSEqx$F}N*?}5oS)y}@9@1nf`2h_`U!#YuZd$QV+sFw zEqo+ngele3{X7IT^9iz#Rwn9T;!bubS76Xf39lTJBaB{_ZN>ol5Mk+lqGVHEWPp)q zHKX{2b`{rggPspJ`EnAt%2xj%zy~Nq6Q>90o{+6Ylp{2qK=onuFrp-)$zwEo?pPwK zyql2wfrt`OPS8TR^Ct)r%ALgNXLL(Ql7|k^^1&y*{P|gTNDAq(9YqW6UUKduj|i+qa;p~jqD6FEdC(i&zKDS837X(?4T!smMf=X)dElez@p R?~V7>L>Z-QcNp{`_7~F(LZJWv diff --git a/leetcode/out/production/solution/SubstringWithConcatenationOfAllWords.class b/leetcode/out/production/solution/SubstringWithConcatenationOfAllWords.class deleted file mode 100644 index a57f8620af81597b32ffba97093defc9f0005617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2318 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 diff --git a/leetcode/out/production/solution/SuperUglyNumber$Num.class b/leetcode/out/production/solution/SuperUglyNumber$Num.class deleted file mode 100644 index ecc69cd66020bfc548a7bc764ce23175c4e26ffa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 885 zcmZuvU2oE07(FlT=-O53KG-I1Iu#X)IupIyf>9E+j<^fv?q8t6E?r9sEc&0kF%eC? zFkbtkjOTqJ&J-_rK2Og%Ps^|0-+usjiib9exaD9Ow^emVg{lg7E!=mQYZmGjd;#M^ z#sVT>74<)`8VVH0@1s%mvA}A(GZ}{2yFvW%?c}^0W(QmzMoBbo3T)LDwm}foPX)|Y z+7AUv?I;On&z;C_%*k3i?aBC5W|8XWLsO|yo=5>VNRlvX#d0(XIV|TTszlL*-Am7h zG7C>qf$aq!8dT>=q?Ti{)Y@nALhi>h8SEc-&%)mLK&|agG)UxllF{0;MaVysmX=ed z5C7|^Nl#8Eon*c6Wuz|M$i28n%7BZjD7o;^aN%IZg{#69tXOy;u%3HFUE$&yDgs{K zJ_RmEm*)5uYw81(a#YykCtn6HhROd2wHcx0b*2Nr^OQUG25}x%8Q0ilC}4@X;y0!c z{x=l-ohb}|cM8)ln^P=(=C*)!#!ZcUMU~g&3OIX1|3}#1&ezHnl(Ef@eA-1pSIUQ> zE9JzbGOwQNH_5F~j{gNlgTMYKb~C*qF~G6r-<+ZT@;kUrCE-0M*Up^l$(+mf8$VI} i3M)_bLQ}b#)}B)t*wunJa8u_!Y%x2;6mgFy7ybax`lnd{ diff --git a/leetcode/out/production/solution/SuperUglyNumber.class b/leetcode/out/production/solution/SuperUglyNumber.class deleted file mode 100644 index 53924b5ef1ee2ee8e949d652ad56d3f41a4dd9b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2024 zcmZ{l-&0#f6vw|y?k~~+fpWnVOOetxAh}dZ(+WtX&>vACP-?Y;PA_mvE)5}uBm?6^ zU-%CkebI3`@qrg-9A`SEV=LpM<3HeIU;HbOA%6EJ1`Ia2**$yC+1<0BbN1$sgI{(5 z3}DueMqJhr^*t^Yi+)_eRX^UvppGFwG-(<3!@zrTFe004wH&@LrBNwem(7@taUC}V zd{enqfj}&kax!B{dwtzm7tn^?l$#x)HQaqqKp9(Gas(PC+>}H21t)XYUPw~YG_kg5 zC-2!ASB}d{C7W=$M&rb6F70GKT25}3<_yt4l}%J>xmh?i7we7*h!y^1@A8+TA)Rqo zWjHl+)G9fy#E9Ib4S~AZtiAYX(oTDO>gW_Wd3^1Dy65dA=cb&EEKe-Za@^~-W2fnu z+Q6GOJoyo>neA5x^v-0*GTefH2wvn32*QDRrTprBF3dAb1!^d||~|B+U9l)uf$G zknyU^w5s8lm+sOGkLGA5V{bCi%0oBFbZOx^y0GwC!_|<6VkL{uURq+h!X>)i`Agdl zb$`lr(vI_p;KJR8jv5 z-k=mHIU$5o90|1HO}1P>j6>%ac-;2VKh?YY(m$v~d`eu2s;1gjfDlkce|heIZmFE~ZKO?E zvVLR;J}>kr>L}|B-QY3&sK*KF>u{RV1vFrU{WzL1g_BrizfSumJ>)U(a83vFej4q3 zhulJMS!zTAXQ)%IYWno{=TKN{izD%AVGndRv4L|Ac8z> z3y&P~4%^Aw(nUb$5M}J2pc_k+S7=Kk;=!EfDf%$vAvCzgT@RtGm3#$ZzJf4cL71r^ zOqLM_@sPW9l2ZtuaVMD^iS<0xA{RDv^oSDNGGgXrA59{>hsF}!w<~nhq$^`6NV+ee z-QR&esQ6^Ldi5DnUck8D)61GuWV3_XXYhaQmD;PLmHj!(GNe4iiQiy6MIe4emIeES znV_|f)cbJJwEaU-xFXJlz z4M*8d^AB+WgGiF}R~W`O)PIL-m2wV}VX1VJ%u_FOqtVl@lyjky3trB0ITtFq_`aNr zI(!X_*;H_mk;u0}Nh4#DnK%XQ06~v_f2p`N(fl`VNcuI5TE15Xc;V!mMKA+FUc8!r E05L#=WB>pF diff --git a/leetcode/out/production/solution/SurroundedRegions.class b/leetcode/out/production/solution/SurroundedRegions.class deleted file mode 100644 index 98c6c035c407cd53ccfd25884751cdf94abc9d6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2159 zcmZuxTW?fV6#n*{ea+=9S!W0RFqsaPpwvYCnO zxm>ZZFi6h}#r&mgf!G*JIW; z?Q*&|pY@zY2U%86QUWG~s)TDJcX57&()O-E+@%o0R<4#-N;FZ9_y%akHtxtTv~cC+ z&=j53QDu3nHz4nNt4BN|u{!*KCo3=pq>(fo)4heZUe9pMs9b^U^#VbJRz%&&vB zcLr?nHM^m!2`rReOT}8HA=<;F-SGUVmQj>QwD$Vc0Q${Q`CEe6L)P-<*y*JyK z70}0w<3w*iu}Em#4*DUg6=N`{m|-;@A(eo}$k5WW6|1v$cEYdNfEZw-)i8Mk?S<;V zh))^BqJH_=fiaTOk>uVkH7A^sE&h}!X;G43ziR`|2n`%*Xaio5nN0?yu|IO8u}nB- zmBvc0(%9GgG}e03SWV(X9ZS>L&@`T4-XJkdf@G1fjeOX)lTvM@QV-=gj^PlFbN3qF zr2Gy}U<$8emJ}*r6j!PJ3~%8J>b~OH63MO}lnFi>&7_f{s3iPV>HUC&CME+Cs#Y!6 zTC!Xt;g>ZMejboe5p6f>ttSWzK~lLsxAbQNvG^wY?-w4hG!^_X?A-6 diff --git a/leetcode/out/production/solution/SwapNodesInPairs.class b/leetcode/out/production/solution/SwapNodesInPairs.class deleted file mode 100644 index 39a2f8c2f77b50f71bafda7c40c7f7fbbebf6f54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 702 zcmZ8dO>YuW6g_X|%?u!=Ew$CrD%KTfr)*>c#DzxFMxYv+NnAc)Vqb-!VFo{bky}kP zP1?jI3x8DgyrD+Z$>iR1&;2^@{<=K>3E&AH7U1HphwTC^+{@G4_fYZhK)`M5Sf@_~ z>}o9(kk6;1NMN<2Whiaxxd_~IiSSKde|ENxT>`V^g*GkWl zmOwrsmjwb_)lNqzsi|ny{z0ybqfeDiOEB#ar z-*?q%ri3r!kp6T&8%8g+k-K?a(cX#rpo;L26UhA)W8$46*03(HcD;j?>8X!Z{H}gD zIEjW-Dys*z5Ib;qQ1e+3W+rW(QJr4UJCDvFzGdkGt(%boH;9YN0{Rt30wt`{vROE= zISL3bV7;}^V0Rz)cAGL-pdEaNT%ciG(+PY@{{zyOfw7KZUEj$9hU9{#^xfW<--~6* zE-SurvJIoA$(?}YPM0VLpQyr2mHPImszJ6zRnK^r7bs&N8+e6Hyuq#P1^ZN4LCsu^ zXJ{~6CNk#;uU=))208PtE^ZQ8>@+jhsiDM)TSSucz&+L_N*-=6|2CU^(iZOg0aAi` A82|tP diff --git a/leetcode/out/production/solution/SymmetricTree.class b/leetcode/out/production/solution/SymmetricTree.class deleted file mode 100644 index a044370e78f839cf9e844d3fd939ad1c79343846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2387 zcmZuxTTfJ16#n+inK^SgT$RzWYPA&wW=2G)MM1n!wdgRWf#5Br9mWHU49qwTrZhFF zFHM^^`qCGh5Pjo?q%mzI)THT?lk}nQ{V683^jrI!xj=z4d#}CM+H0--eQWJM|NZTE z0DZU~LMwWM2%}Gi4?<|cDUm)j(I0{zy zQNcf$UC5S(6ucds6AH#~{;sXil*}&JsipZTyEvYn%5kSPna`wi6X{}B*6yZJn$0eX z_1NJi5E1^Z)juU0R$~IJ%Rwo$S4Ze1QP9uxaGa4<*2H zY~!k%v*PUQT8DZ;!Gnlv#7*p>Y&izlizru$Fu%i54&Q{A_Q0-K89rmJEA}fq{CU@5 zta00`T{UtB0x%F{?67tjagMnz=>Yq2fKCtUQ_4>@$#kPUqXTg<%qYRQjud+hQzY*i z!};R;Jx99^Pg%l0MMRcfEdvXSK(v8?2R9OupCiUM5LEaH z4->9X;!a564}{Mc+;c@=)F>ky^_AgY-TW(RyhcD4L?LPrf~b$fGg-!E?S|2^8z&(q z^|EWTy7{$}!c#OmDLh3DFhkQgp&5^o#(litel!w@2!S|Ep5g>(h|&mw7{~jV#1W)% z6mvL+d354Sbm1#neTxKs#Bn@l*{$IOenyW5e25-LkkK$3^l($dECiLSB$V9}X~YI2 z93jjRyg)l8FC&2~4|5XTv8wJEbwbra1pRN(ZlZ(VTlAUekkIxR)NrH1>udP{sbSi+up!&{nV)#N}OZb_8+3c@O;mV6Vnl0Ol7^ z4R1)abcox|>X8fZ%1-V43KsjNA?41*^CcQtjBNNx{!VOddJSeG_7Y7uqDEXMX|JTb z0i&y%<@jr-H?#{O;U${cQq(4+Mn(3}az&O56Q=v^bw8<58skmJ`A|#{{TqBdZxfL_ ztiDfqxk+O98T#=#*_a~Q8KP|y`)Qt-A^x-Mg?rqY<7ysxEZ{y0?1%gK9;GS=z)BVG z70resqAQvW52HO||0KvzJHB8CCD@0Rs&{nVRb4lA!p2@S@PT@ZW)mm)g@RVp7mPOP Ldhem$gOmRO1h2SB diff --git a/leetcode/out/production/solution/TextJustification.class b/leetcode/out/production/solution/TextJustification.class deleted file mode 100644 index 8934d6dc19d3a86aa01e05898649b460618b6d3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1828 zcma)6OKcle6g|(Lk3Zu!ze(bJ+60o+`M54ka3C&$HYJeY28mRS03l`KnIw}=?8qL6 zR)P)6o-Hdt0V!n%i>4}-x?+J45(`#r*&sF`Bvz%=oM$^qh=YW!dGEga?!D*Ud+yA4 zPriN#U;@`7IE4uv&qffyLUb^!RUTA4AHtN}C*_in%cUq@z_gARb-W~?U2^lT zKP?bU4Brq?W(u|=a60SeorUt|ic`F9t$5V5WD7aVyI~bwd9EuJf88w!v}Uh6xBU5X z$#+-XoaMWPd`2L;TK2q}^0vTG;_d8)wQZ$5E5DXn^owqOEi*S<)0KVKOJ&`XPdDN6 znd7q|5YCm0i(6LCA&6G03qfmpjnRo%v<@x)B3`QPo_bocCFuXO+0A zt8THnzgsBUvVs$m69{cux0YPnUnhFeDV05XHZ^A4{_ob@-a2T{z%koP4GCtZnOkhp zw{kbHSzFbvR*4zZahWW#1B>oj-tx;uQZV(uTKFFzk;Ou}m~&=bNoIQkU*{z^22P_% zpsmVNos;}c$Ck|KxME-iR|Ptb(^&7aftN8$-ueu@f>#a9VV+eOcnw*B<_1Kz@-Wcr zD;rLZ-92>_S`u``rZzLA!gKO#k`qoW=R~u%ww$~zkW4hTw?1D-X6|q#4BPP>-Y zm{v@cCybfOsHtAuhq7#{%cf@cd=707=Ak;R?5JX|^5X-j45Urz((w}*rb=t&Q(R@d zkQp-7U3A9vQ8UC~dP|7Q(oTquzr^*pzK^hC?<2BQ6?=B^e!On8SNXliRP0&^8PWFA zVTKFW;@j(XIzoh~8I=gL5+N!PmZU2h5b|8cRTe#S-ofpPqW2@%A&2qP^F zq(loc;taaPAf~Hyenj?HiPwoZ@&6>LU6f+5TM*s>|_?Rqs6 z(HW;?h8;U}xj*HRC+*CsN;(E(90Vd7`8wwrbH(Xuvh`=<<89U?ln4u6J z(Bh=07Yybk;qJu=zsv~sE&H6m=L4Syi^1vaT)4?$-Xnp^6K@glWG&%)`H+ogop}CW zlvcr$FgkL^L#j)kgzLx^$DY(#&-JY@E1;IV30yyny0o@DR6Xt#6{Rg>AAVf<$99NM?pL zCv1t{=qml5(*FpvtM+?pfBp&j#x?&;*UA;}y%fB;N&5%hz%FVjd4q^+M17m`iYQc% zS>-h`-pLqWWsGL0`wL2s<~OL4BQL;6@yv`v#oaXO9vbO>9}j3(N$ew3=%iD0k#_q2 E0!jg}0{{R3 diff --git a/leetcode/out/production/solution/TheSkylineProblem$2.class b/leetcode/out/production/solution/TheSkylineProblem$2.class deleted file mode 100644 index da648c90b1f46dc6dda0724c5751a52ed3865938..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948 zcmZvaOK;Oa6ot+(^q&yfRs898mN$1v_wJ?h)5|QrOKwONis@Y92+?f690(} z3yQ=7vF1l1&NxPxx{1c)xpVG!?-|dp-`{@#c#6Fu3aD5xanFK*`z9V(j8skRn0RPn zSD+A0-Ffw~z-I4ws`~Fgd9JVCg~8BMvjc7)y1pB=1y36oXKbJ6BQ*_gCEN|IqBAxF5~Q; zJCA5E@967r+4ZA=^cFP9Ko=F>HxrCQluFtJFJ_)&1vaCrd}|}eKVa1xUm@z>ko&?_ z4p;arPy_5>jnDE@g%UQnqCTbxD(E|5y{1Oft>zi>4UX|=uF@uD|6l(d0P8rSsrrliC!83E05(xcm*=jOSap&Dp>m+{HTIEUF8f G`TGM|q0ICE diff --git a/leetcode/out/production/solution/TheSkylineProblem$3.class b/leetcode/out/production/solution/TheSkylineProblem$3.class deleted file mode 100644 index d284d4f2c71e26c8706bf385e1c269899b9ad5c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878 zcmZuvOK;Oa5dJoHV&Xb9ZR+p{k3duEJmdgH;?OD*il`JREtOK`lGDanC2k$NvK=J; z4L2@aH~1sI@ z;W?*ZhV5bCaBs{*SK2A4N;w8&;QJ!%dpwE+nP!%|aX{*t6D+TINMxEd8B7Mv0Yff$ zLCYjLy<{kjV(wg?@T*i{-x^-<_q^+If8KpJy%0`(m_;N}apcZ@9qhJ*};@FjSRx^FGWd_uex4z>Ak?YS-M7#)Q8lD;0hh^XviUxEv z4Q!)AttNVPpc^?cY-QpZHs&Hu|0Z?Gv?kQOYb6ccD5gRbt2suUoWJw0e#%NHT zDc6j+C3~%{*d4|Gh*Dd%JE}eV1bq$7KGU^wjeL}l*VkeH$ZObvnTXd&*d*yY6qiS? za?HwaNbzo}_&QZAwc5X+bZCBqDmAhN7ztk~)lhLS@w$&%vOmB>+EqNlW0dKnlXsqW G`u+lr*s#z5 diff --git a/leetcode/out/production/solution/TheSkylineProblem.class b/leetcode/out/production/solution/TheSkylineProblem.class deleted file mode 100644 index d06772eacc87abe7dd66c064cbfafa38cc2d641a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2964 zcmcImTTC2P82)B=c4t|p7br`+Rk7CELd$}sl~$niLN6efrGI1&Wx~#KZ>^AAPD%KKIEd#VUShcJ@M9O?+^ZJ#)@~{_FRD z=gj=@*Vp#|?8p0lJcBL;-F~>xRf-;j74-Vy!D&Cvpie=+g0p^Ot#655)A5kEHLw1QFLGU7*2_z6N6!};f_|??<^48K3g(^m==%Lcf>6{s+-M1 zab2IKjZSoHNgF5|`UV9P3StT-SyG=7jcZogWS+rd$T;yz^AI)&Y~oDaJ*g!H&v?V5!njOAbxC$2PKDMV!Yq7K*9ut{lk8~l-pOLGnvbyl}XKSUdGOne1^eckd)uKE(ZZ9gb`nGGQeES4XCZ@CV3^Cg%;aik7DM3Z9`vifIcv`l7Iqm0AW=m|rCJI7}s1O!` zc~my~Sc&fzs)BN+2*oZU;Bzt!_!>QPD<1~suLzB7Lw5!hoR{+@TY)ORHxHl^Vb0HT zr4hC%Vtx&KF^hdX;`{MAUci@V#C;sZk7&XJG~*Yv;CCFtpE%6s9JSkUo={iOt`;G} z{s7xiM^8T558`>s6wwH$Nn*Aa4Q!SVe=yE|Hf#zXFj6D?Kg;{&0A(`cUuD#KekHuf zoVRf=qu-R%Z_epAQNM*+N1?2s3|<9?6tpTh%u!;NzoBh~=_>{DBixk~THq1t6qK!7 zM*T8fAEO%=+L+$)9G5ucn-(13|pl@a{1&>QJ&qLM-|yvnO$--;&=$nDth~QV~>~B=6;5Xei zOh~&BlUn(0af~nD6Qq^6BgWt_Am>BU@Pr^I^|Lg+jaxaIw&!Tto~5aD#Gz>nKjS1$ zk#;xmy+hMkeD^p_ZGA!0jDCAgKTFe7@clDQ53HhTM*&Swk*1HZM_NYtGD3x9b>Srz W>LPI4`P|BY0#@4zFOHdUI9B;Xg)VlmQIN^23jkV!f=(L4|S!2 z6$*lM5f?R3&`maOTnR4v1N=oIVm)tCaM6Kx&wc0Jd)~eG&CkC-jsaZ5r5GYOFL6OX z;rE(L;-W-eAac|7+|F%*@JwMtKwI#)9D&g#*K=07&8pK{x2p{@sU^Q=H#Y2+tM;d) z)~UN~f%MXP-ED0x+b`W_w>eC^ArR$hzzXOyo0UREKzLk4&FeOq7}}(-*Zi*6AwG3m zZKAl(s@hJ?_qIp|8UiD09lN%>Y(EQb4vHTWh^_hER?S&-RfXBJMa=Ek&+RxQq5?_f z7aO*>U95N=XWMD9sk12piT{BQsyj}tgFJMOPkkW>rABLTS0oCeKKmWwTW}nsjRd3y zlYV>{Kpf#t;2cJ2nJivG3%GvxRvO`XuClI-ymH;h8ONnqxMXI`OzaE%oRKl-O7Tqm zUA}jS$3#n~v#K1~`-I2=eU8 GnEnSJgp|Gj diff --git a/leetcode/out/production/solution/ThreeSum.class b/leetcode/out/production/solution/ThreeSum.class deleted file mode 100644 index 6084db94872e2394f9f612a35e3b657750b7e4a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1203 zcma)6T~8B16g|`K2Q1}FSrD~+sMSKT1wTNAkf@1BQXsJeg2aS{uCP!F+3u3ylMg&# z{0oKp5+6j3`~d%nKS3hmnJq+A9&9r+ckY~f?!9NG{rdCME`S@jW57Vnz-3&~ z5jPMPYHH321#z-tqbc!tu5-0p32x=C>sqT+UMVcOJW*x0d5zW0e8ggzrY@d3(ExIdcM-NI&c1GR~0G7(j>$xUcQtVflpZY8m+WV=;U zG1V=s$a7OkP9;n=In}M1+6Kzk)Po`>Ozjm-MHDgIp?!fm5hivAT4q9#5rL)3Flp^T z|A?{>#u>oy5_!GEaRliDs)KLEgBNRIQ9PLHc*n98$X4&MF|a8Gb!@esa|15o41ddK zdHLrsfGE;v!Xq?e94&Z)3s@)O4Ptmp{5Il&Ob;o=04&CvlqG@ZJTuAKg=b_mDPR>| zlh@>51|>U`Q(BG8B$&I%Z09L$l;=|PlBbEDW_p@XzK<#$Euvu`h7dn!8J&A*{EpBb P*;|PTu{Oclq;=^RI(i8! diff --git a/leetcode/out/production/solution/ThreeSumClosest.class b/leetcode/out/production/solution/ThreeSumClosest.class deleted file mode 100644 index 6b034833f1b3830b485a4a18d78fae0bfb85afec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 909 zcmZ8eOHUJF6g^)%)9Fly@+eH}kp z2~AwOaOsMebi>BDkhtIn_=^lN)HBe8$V}$Wz301+bI`$6K<>RU$*BM#ZWw zTb>)lJy7x2-KM}`X=&YaoW)jcuG(liO@Epl{Qn_N%B&QN6GcvHwrT=`o@zT)-=aUy zZ-d{afL?cAFInE2<1=>2sNSk^Mreik5x;j3wu8A5&uO-*%?h?7 zr$PoNP|J6#`3Ih7y(K%P+3F*v7qm2drIwef9z zl{+LmL;4T7K#=nc2|S0y3!I0I3)sX6>bQtExP*7C`-scO0&KB<2Ggua(6cejS8~!g zmXRc;^NOExN`f_Gc*$-FPL89=o(bwsfqLQv-UufIino#CX^5HcIZu*%4BHr`r?Lx( fMUN0y6mf)<5aKUJg((g(`UjyyrU;S?E;IcP7z?M$ diff --git a/leetcode/out/production/solution/ThreeSumSmaller.class b/leetcode/out/production/solution/ThreeSumSmaller.class deleted file mode 100644 index f6be4f826abf4118ea712f3d487d3b2c1f5467b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 665 zcmZ8d!EO>!6g>~#41ypnWh&Kzc41OF5f&O;s3dAMB~p!AxWQhNVsI-01>C`&{V#KZUF}F|6Fd362bwJFFRdndZ0){(DLgs=KEBAO$ zyn?^462(0L?W}w2u=Ig=8bE$FxC9xkg zpG1**PdoBt5@{cFUGHHFX?~qvDG-Fom|@jq7R<)ZXNXUW>nn`O+Duv2F=@ogz diff --git a/leetcode/out/production/solution/TopKFrequentElements$1.class b/leetcode/out/production/solution/TopKFrequentElements$1.class deleted file mode 100644 index af2dae8d7a46012e65eddd17f20139ce1c9b751c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1142 zcmZuw+iuf95IyUpbrKws^hV1iEfCt=XxefqQcEQiwZbBWhgNxkmrb%tT{(8JH~lJJ zkZ6&3Ks@tNh*{e-F0v)>Wp?(QnKQG$|NQs~;5lApkwHZbPjbj&J%g6#2SOklT%gcEN;jb)HrRzGkcxpw$c++Aq)5vlIe~@EZn_sF zh}280Rja7=+N)yQRMbkXCf!Dv&N$-K8ONFaaQvbF9R24n$Eg*J&-?A!-4onohVOjm z{odR6zR&yY;dlRi^E!YJU?GHikTfwFf)B|M45Vb2HZdhHkIGBNMAk$ugb?x})Zm;5 zKOV+;Oowp+pOEEZ7@x!?Sss(+QzkwgLOqi5@|iFi@!2qDkd}q+J{Q6|IhzqTGk9EH zKQBv0md8yzVd4uRY!;nHJSM^~hH(U6GV!EHz8u0=a9MU=HSskQU)NyurczF(J85UL zPF91lJCRD{x-|G>%_AE0?)12$p|(Gfat8C0C!Nd@`(%=m)&1!)J2_%!67uc}_1x(M zeKhnRNl*3lWSmFyPAa!Q=}hvG?PRQ+N3J0fJJ#FV+<(SCXSd~ZiDX-UBAcU{mg2u& z4Qq-=Njr6_tv8i(PB|H#>Z$xBgZPe7Lp#evC+(@Su5xq0&Ym8yr>GlX26<*%=Lzzl zh{R8l(KM{`9J%oumfmf8s&v0jkFFbJca0O3Uf37|z*a zXL(aqe$~)UBGSZDCcZ%|Xs8)ZoJ!fbe1saEY}U3)v#&SFilo2)f!&#JPWnQ0T> z{K zmiM&;Zels$v2^oX-nxwAYARiwU2M>|IL8`Rcq_bvl^jdwQ^ceHtiyV02?gx)lnYE* zk-B4^G+dw>tW`cqqpi0eR*!CCLPKacozILpJqa1(Xthb*E)!{CJK7kwGMz5sEqoi_ zvG83yT{`tv%)&Ex*1~ggy0&6_D3eHM61i!Gdoo0|uub<$%;#l!!NT|OeG^wK`~WW! z%@$t5%NAzw3ej!hhq!9tM-u4Actt~fB@l_~tTQh4vG5Zyc@hfUZ&)bcP3BhZ zs-zv|UsZ1C4^!4#g9}elCsVwF7WpH6tO_xiR}K#sT}9nZ;y|2Wu-Z! z)olO2<{H9d=~T{6q_TZN1uMj7zn#swRJ*p6p~7+*0=!a?Vca$tjJsD-iMm0Ras{cK zl5`RD>Y@X7?lie3#@}PM&&=je3gC%ek$AeIh=-pK+xYb(e>ybb39j$wn>;l>11v_zeZ_??aqgG}e9t6G6&uEWmek9{#~?9ePy19uN5AM#P8& zuAn`tM~v-pvo&JA0lm2Txtl}aEf{k!^%LqXI67l!vx~o9K+Vxr!3BhlwzSS8JP)fw zZ=J)60#<712t)$~)M_NMHrcJxKqnnWRF4`3)cG(P)eBgyVZ)0E%XW>1QRTFr*+pnh zS%ZeB5s9ij&kI;fyV=FRM+4V*6J6cD11q@?@ow_nWucqTUdoR1Gw%{2cmfT03Tw%m zQ9RENwppwvCvCv5u~Aj*FfAMTNw*WbSfNX}gS-1#Q&!5YqU<`*sVaK|yQ$}+&2{WS z7yOKqzytUovzf&v?8S!=U=F~YJS%GLD{Jj9YxPj;!_;bnxrj9|O&l=MtC=_`4>tK- z+;yU2 zNzvOedJ97IKUUU1Ue+%`XUFZ(dAJOn`)?s);t@jU77l9KyI5C*&sGn7PL$y@OxGbY zM7RVWe_Y=trN16G{Bbj4MvN=yjs_y;_IR*05@bt-7M5TqUQ;}X)Tk3dQAC%Q=D0p% zk}ZB2(e)F*LVZWT3nxQ*sYs$bB_cm z*Y$D9{~0uk_acrq%0=35U{#a~+!Zl2V=m4v{wZqsHx$s~M}=MvlSaVd53-M8cBF|z zzlQ@q$dMoA?l}85!GV7g`|twxlLUJ3Iu4LtdWo)s_yhXzH}vBl#NdC>$I(8dkadAn zwTENfaa!oi z?Ik!|1I%PMPBB}fLQhIxFjmw$UDoQMmeA8K1Q*Glq#l=^9wtS({M4gBmQWyjKtQ(o l7HY{+TGM;hB2uhy4+w=6}gy#$^Bi diff --git a/leetcode/out/production/solution/TotalHammingDistance.class b/leetcode/out/production/solution/TotalHammingDistance.class deleted file mode 100644 index e369b3ecbdb3249212635e866cec19af9a4ee498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 605 zcmZutO;1xn6g~INOsj>K+VVgQBp5belQt%X4bX))Mv^KE2pe2DeZ0Wb_SKYESH@NU z1Y0(2+_*Av(VZLrh5ido0M9(T?0cDe=brm<&YhpP-zNZ`;ZXq!%XvJ^V?~hLb%{%x z0=2nyEYL3or?Ft6?UMM-sNac)N4C==QfUt&+dH;H=i@1;({pzrSZW^)QrmlF`+b+3 zwcJH&lPKO1ET%JXf!RFS-`W>Qm&bd{<4B&2`WzRW5L3gL*WzJnqxY}vhbdvgALQHwoBZWj4Sf8LKci&>}aO R6RG?~@ef;t1pdvI{sE&KZ5IFl diff --git a/leetcode/out/production/solution/TrappingRainWater.class b/leetcode/out/production/solution/TrappingRainWater.class deleted file mode 100644 index 0ebd30cf158590aff84a09d82788e0175be9245d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 845 zcmZWmOHUI~7(KUl?hKUjY8eC>S`Z{4Qa0Me_d;XR1ZV;T7bJ#DJG6uC(3HWrVnt%& z#)WaAvN9%Y*tpUd!w+!nKhR%65InafVZmhX_c-6V-|PN5{c!}~7AE3Q@ZuOo+K7yU z5eK6J_Wd9XqK5)g&|lc8t^18-yWXdz#y^-G;zg5akH|2N43VTW%oc;Aw$#6a)J!rYg9BZvfTFbUbX9s70WKPMP z?b^(AbH=r^q}dG1oZ~vvG{2zRRV}l$mQ#B+GyitgA^VdsGcBTzvW;Gx<9872;w;@r zq8I&?!;DYB#U1KLxPm+e@SM7Yt0-d#b$Hk%>owANNB;wtYWA~1If4u`^>D>cXt%6g z=ISNpV3TV$m`(Qn`5ujxM2ee~%+$wdjNQEDofMHI-ms?>AFYhr?7?In;O#NAouFNu cqTj(Fe{qcT2`sA2KPVw4k4Y44*u3-5e>`iEfB*mh diff --git a/leetcode/out/production/solution/TrappingRainWaterII$1.class b/leetcode/out/production/solution/TrappingRainWaterII$1.class deleted file mode 100644 index 4a89f574375d89617a65546114d93a120874d0e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 831 zcmZvaOK;Oa5Xb-PIB{YeYSM;=cYr{hhZ2gAIJAm{A}U!5AkiuueA+mxbSu}69EVTE zg##dQK%Dtdh*{gJQ0iUn?#yWRH;>&ve}Dc0@Cw};%6Md=g0_LCNy=jbPYgUY&|#<~ z=W^Y7!O)zZ#eB7r;qoJw;U}Jm*maM{;aG+;88ft;LXYl@L7zkm!LT!xp?JT!oQwF3 z&jYeFrjgHs8IPsXbEB?8GFWaHig*(6^;(d+UqtU5QU-<}U9NacIK%N=&+WPlT69R8 zmr5@g4xH%)|I9}L50|44^9$i8N7pUtV(nBeL!N9DZgAZtvuqL>j3#MRo<#An=Z+~4 z^EBGTzBrMpvQ|O2hAIbY!`sjgqBV8$ok-53g@I=lp5wqm6*UVc919KXQp*b%9jeRT zu7zPQHErd^uvM5H?9Bd6(&=@ekeOrK11< diff --git a/leetcode/out/production/solution/TrappingRainWaterII.class b/leetcode/out/production/solution/TrappingRainWaterII.class deleted file mode 100644 index 0d9e3f9df76faf1760e0d3100d9235444a6af2d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1791 zcmZuxOKcle6g|)Lb0%Xq{S3(zLO&F0$Eib-)<6;hB(&6!)Ge`EIRVj0JW8fGw(CsV z1|bBf5>i){kXWRZkg}jGf)EQRrC_lDA+cb=0wEzGu|i_as(iwE6X(;Ck@DVs_jk_y zIN$&KMIFFljF^a_*T7)|M@%Tln26vp1BqrljwcMX%ezk={U!$Rq=7*LPYGDra@ng5 zm)yBIZ%#lT@XLNMD4-;grv=pEO3@S8HsY7P6Z5l^UM=rVmZ;e=Qkil~r`?(_-wmZ2 z%=pYcOFrWwzlo(V?XDj70bKs!J0&6Cjfk#p_^w`)G|OI@d=ihxS3a*^j$r6gcn z@aO!%D~567(k9E*ie4#j1@61MoQ3LIN%p;I2PU$EvX-&HoqCl#!qUTL?lX2>VRFa`Qpsc%9Fv$`!JXa z;@4Dt5t_1m8N_BYm2Z(QVyUmvE+2|I#cdO0J;V zdaj_+&(_nqTQDMPwsy6+Zl%1*?r73m%{$tvUd>wM*a_&-}nmAf}%<8kudvMK@DGOwx!z*@-wHEC7HRSEMZ0aZ($9n8|?;?g8qMEmL#coc8`gHMgG@s4rjrPPy z(vGtM>vozOBe-m_p|9UqIce+5oVp6R6>nfqxDOgvNlw0%8?l%BkfhX$Hss)-g59`? z`|%ca@1Px5@gSBN_X9nD;u`)&-S2n^f8c;f;GpP6LJS}&PM|{+kP_$7Dc;2)aUE&# zF?z(0)c=el;umDXZCvK&bz*{O4!86QUS5@ihgl*!h%tjpdW+a5|Lv9FMwgJ!wQjXjsrKJ4eFw~Ft`_W*x5yTvznn0^ZOiaH*lq>}lk zIEVx^R`e%3K~}8mGjuT4Kq~ClT8>WUI7H1fOk;%^4FhQdT?QT%!eAV52jhPuBJSX& tfA~+4wiTw1-QyO9LX^auE( zjI)JAV>Y|{=FNNaX7}s+{S&|ij%=9Nc2LBQg}MfN7WM^-DjtWafYncAm!W`rt5leD zq99E*QF-u5g^eYDDNuNcld(Y6p9arCI||gK-OCcGCge)lqf8s;4Dv3Wxspm|*8+BP zkvbVrqLYuR_)>-4+0!sg`oS>b@Twn=f@lyVQsZT^phX4B|BX1kc$SR98>u^O?ea`p za^YglMHvSc4*8zH_Fa@<3wXcQ?}yWHlnI#4+?X!LF~6tCZ!@`B&l7O43V5E@CKB9b zRCs%g?qF~MwbtnzqV)!&<<&o6&QW+}+Q2$bCoj=*7OKQsix$+dLB!@3`|&U9!QN4@OhY^X4-$U( zkqjV(w4dg%Tr$$UtYJjMsDL(aTgBRnDWKo2R!uu!G3s@*E}+=8nj;V_Fu@#ZX5|EY zlUCJorUbmP_yW`N?#G=4t7;ZEA1#~qys=zix$Z)(Y*ZEu+md$EsW@vEYx~@yvY1t^ zn>O2oV}*6&iIJ%o)zwVNv90QAPL>yCK6$ozTC-PV(IZ)mRoxLfN{&%}IBRUUyNo3||qLPsz9bX*5v6`3y(`h_sJyl$3Bf56pX7w{~R+8=8OC6#D* zYWX$8zG>UWbJmK*Wr8ZvDQM@?kz+C+ZyFVbep9y5Fc)7$lounw3nTb&Xs!zPz zEAQGsSKWu%PQWi8dk%~OH8E0>Uh?d+J-Oe3mGe;9}sRCKl_(jp3&JCs(7{kK9$^o zCTH@xGYz1P`yTcRBf{=U_P>EMxI?>$K9q3Qoijna2ogBWm`_gCoLKI7Vw_pU9CL$Y zJ;!(w-hJxg(-6^cUPHfzsGxS=kQDnA&D#nvSzrKzP3$imOk&Uc0Xu#aTlH=o#{8V5 zN83f)7E3iqBW~G#&KV`i04E$o8W(u!qL{*^1C+fj%9$4BOpEf?Us3iQM>*7@{M4kJ z{y$3PFkXsyY2pnNFT>pk@zTT_I~H%cg*Qzh8i$zsS3D0cQfm*D)cFqZI6eGj+JPU` CxaC;@ diff --git a/leetcode/out/production/solution/TrimABinarySearchTree.class b/leetcode/out/production/solution/TrimABinarySearchTree.class deleted file mode 100644 index 477f692e3dab5dd51c39552525ca734646e0fdbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 669 zcmZutO>fgs5S)$eI592_X-Y~-3gt^}EHxLzr3i_FkRpX5HCFF0=FzygF?zU__&bOn zP$UWx2d+q5_(zC&PEa`X;Mv{T*|+2U_2>H!01t6LfR7t>tmCGIj)iW3DmHxF@^M>G zeVk6y;)%f7+CCJx&+^w=uslqsdjIrftWB)O8JXrVPgHiOOls>n=@ygpy`VjeO?vWl zFP$p$VWgEwCb7|aSKt?H?2Tf<+7?Ax@ALWH!C-q)aHq-hLJ<7V$xt8zeg}f3QK6Ez zFV(yG)?k#Mnnb@yt*`Y3)S*@|}+}-nG0l=NFm_ zxY44+@#viII diff --git a/leetcode/out/production/solution/TwoSum.class b/leetcode/out/production/solution/TwoSum.class deleted file mode 100644 index bd13b28deea55b11d4fa4c68154fd593924cd747..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1019 zcmZuwO>YuW6g>}S7=)?)f-1GGRkVdtKy70hY3jn%lmyEHf+5{F(6OBs20~}5?)@Jo zZrs*QYt%F@j0^vVf1>g0yn$9sAmQG3&%5{Bdv4x*|NZe4z%rIY2qCWFRtP@CL(p(r zp5~;P*N~7%Qp19Vlt5tBvMpy#z@JD~1e8auZBt;lVAZS$qTcwx^tG_noD-pS@| z$J{YHEL3c_Nh+VL2slP($8TnxEjSp1{B9zpq4<)ahGHrc+TR^8pNLj-ft%t%!Gjeq1Ev z(o-^H+q(^Xf%ZU+soyXYQ;!jhDsK=`KZmORs8Xyd9#%Z^7`}=lHdG*o%uok7NRZJO zM~%}bIph+fbq-lZ1kVtKNo*f6Ps|2CsW4`E6D7+!W-);)6t{?nJ&baCQswC?>!kc9 uCRyQQFB8`=1wW>V%GGp{86ww-M4_Sa!++z*2HB#aX* zNU!V#L3uAA_35}T5F&~Ab~zg)+}yRy2dP+(4#QZGZN<8C{8^t&1-#a9JnDpv$XLie zs#LrBOwU5W5x9>{LEf}$Jv}(AZMC~$C&p`7ywyAwcpDtX6ssDuFgvT?AlJz_&6xV% zgiAa-#Tj_41T#s;EdL~p$ql<+xlsq}s^qH+ysMO|6<<~N*B#$^d5O%qdYE8|_=4D$ z2^O6n-mYCz`&+xpS4>xvhg-QKlMSQ3j0~fT9CMMXuc-Nks;kK2E#~k6^Z0~9;;v2y zMU*+o(T#;o&U55(v4K31GXBV8yc;ynJ#%ma3!GY5Brd?Yhb!_2FJ$I7^1qUw4@8uR3W!7@SQW(5jSgXe31LEo8Prd4qb{t{ z1skgrMXM~={)wNUg8LmDm#sH@Y)nn3eZ-q1w^8uJArO;g33QJ6DImW+K+b(XDlf#}ri<6_obO{ddjRE&iM62;S!FJyZp0wPUp z(X#zd515y;9pZMS$33+P1UHO=OXb?EW8_xYwR|Ewb zJQLu|4TKJ@JmV zY^-O@CuF1yhpO6M(6W&*^C{Hxi3tAo90d0!MgcTK;h8hz8Y435#Xv*i14QC8 z0{1^ac@OoimwkY19W#IkR7AD?r7JS41C$7pS|Zl0mi2!{zboTjAeI#gH3OyW1J5L?_!8>unvov4nEsv94Z>Ky) a^%rV2bp6JthHmi#Ek9|6K%5@~==ld_WeM^C diff --git a/leetcode/out/production/solution/TwoSumIV.class b/leetcode/out/production/solution/TwoSumIV.class deleted file mode 100644 index 3967c3927b153dcd00b1d46b76458759d742972f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1299 zcmaJ=OHkWvB#u^?zceAJdws)+dD;R8`SQ*lwIjIInclt4(GkmBH)y??=R z!-kEHBcd~oJ7@eyZou=UmY0u3ZoYeS@44sP`{l>(=dS>Uk&7UTw2pxY6r>|)L8b|V z$Vzir$CU_l3^n2^hNZbC-4Xfix^!>oxT)ioK*N~r+Wv$sFRhFB@oTqt~Fg< znX|kZbIxJpM7}a_Iz`j7rT;sq`iu6eKqNo&vQnt7-qE6)E zvD~qm@0e~mn{$1uY)(I(J-Ao;H6nd?%wfs06xs(~?#8<@at zfwmy;usj2IFs|dSfqRG>m_)aM`P$SK$JVzaEYY~k|dc5PW`_Cauoj@ diff --git a/leetcode/out/production/solution/UTFValidation.class b/leetcode/out/production/solution/UTFValidation.class deleted file mode 100644 index 17bbbbdb891804eceb7a290ab452006aff27a6bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 688 zcmY*W&1w@-7(I99&P=U?jp&~*y-MA85kS8F;0wrM7$+`QHYQBD=&ZfOn`<;Hb z>F)&b^eY24PSv?eL&9R&m56|+W0kfFPbyCvr+za+2?igmKLZ>Ii`FKp@D{wS_3seh z;;=(&$D}}le)@j`l1LE=%*70g#d9{Z$o0+5LV5HBVY#reRrH*}2PEY^IYgzH7d3=q_6hwn z6wpI4e)J30=h)w6jl|8FcYEeNnt5roFwZ=boy*e-18+Gg!v%3Y)75G38Wy-ht@k?S b#xTSfIpMnQ7(%2h?>7>E;y<*+3)B>fjTh0qEo(F-$#ILY7F|nhe zu`;pn1NB zwN)BlOdopj_)7K?Vk+%nB$KWjD~%T<&+gQOA!uLslc#+Ah$PiSV-l;i>NljEP9GRp zi=o)bWORQnM~i*GGn|g2_)KYs(o$r9ARlD_4u`>C(hOzYXe2W2H!gdFILfdCi@u|e z1#*N#w;7mD$Olk>Pl#c~Fnal!#4M_Z;VT?_9y+5J_@R?D zXMaDTFhJzMGr-FMe}l_s;P#w$ZD_wO6NZ~$f|x2fZsg_7AsFP>TQn diff --git a/leetcode/out/production/solution/UglyNumberII.class b/leetcode/out/production/solution/UglyNumberII.class deleted file mode 100644 index 1f1ee31f513430ee572a05742458cabd552ee0ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmYjO%Wl(95IqxL+rc<>8ZeKB@)S~vEJuQp4X8q@gs_wlq|j_wfa99lZR()lBC+p} zz=jPhSb-4Y1NbBslyluk!P1>OGw00QGvnWXfBXWliCYd7+77N@-NscL*96wXyvWNf zfzjC*3)J>(Hx+pOyhxuO9Zu5u^LR34rq!P%@pK%|a~&^|s?74Yf|dTx-t_$`J&GO( z8bz5cQ|#J_HX?!KJo+wpUJGh37}UzU+T7FTK1)YsoE!||H`NoB%9g+x&5q_t`Z(88 zR+p`#DBO?V#V$-(Hm~)8e{WK}5c$pf+Wya|bbBZ!M5rwje z!9D4(1}0(A+Kjrqg|~U<8{}&R*J(8jo-?%WDFF`7Ryh|9W>_q@*+@5;wSPK;z)(YD z%jhYiXR4m%TkVe+1-=!mhh`S|Dzviis0F?m*0nPv6js;=SjUD`Va3w1TEv>HV^fYT z`E>FnXsg}uGoLh|W%eiqoJ&ziouZqRbD7>I#Xh3kZQ{?cf)SBdSVclS$N6fkC-l!@ zOw?l~hgb}#y(V+~#W-M1iyL#0lI!u+1}3cch&AyNK0Ol`SiJ`GgcRGxMX_;7_;I_*IN#=f>d*_^c=i<-VcL1xH58z?e$2}i&g2GFi*wMPc zTU^=}sMo`;5ll60V&0DTIwsxHodJTmNyaPy8ATmiA=UfI^NyX`x(8DiXdnY$7yWd zSU1DM4Kh(*ALFv0c$n2a~^Dlo@%M}dhHa;-cwao^%E?F^$$^4 zRZ&>4s;=rry`9#vlFxsC9(%NxVJ-SX0*^$%qfE}Hc#%>8?oeu;Vo&H-m_J83>sY1e z3?5(-x4DU{Pcd@atz8f4qB1eJ<1_M9xb-ya(@?)r@-ZX7;L8>6Uu7RrWhsZd{{W7= BX14$U diff --git a/leetcode/out/production/solution/UniqueBinarySearchTreesII.class b/leetcode/out/production/solution/UniqueBinarySearchTreesII.class deleted file mode 100644 index f7d4104215d6629f1824ebe2bb67838a23fbe52e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1540 zcmZ`(L2naR5dPkJ?X}mN5JDWf*d#6u)Uh$4G)<|KrY(U`w~j$_5)>}&#@-|g?i$wX zs)z%Zw(6xsL< z9KyL6-p9C(UVNZoLWhcTaeRpL^7tr@0w(1#rQu^8I;LYhK9R?#8a~r-K_D{axQ;(9 z5Xy`$3aB%Unk{gss+0tC3SBiCSjSlhZ^Q$P`}(u6m7zFQD%`3xqvqb&W=~Zm&>; zrC=|8ua*`GJb5P^`ZayaqkqVDYciPC3k)74=gzHNf>QrOJ5a8M84VXX8iDj{>OSDh z;wz1oSG8vyIgOz=5`IQ9YoHH@HC!?>Fnq^*SS+hD*}*OLJG}m%b_$EAwRCs*&|XrcG;CmdVlUtk~H@8_aa?*lreXh_+@m z%l3Dyf(y?W)eRm7cKy3CdCQGkWYfL;tI1CY>=1`}_Va0sQc#AoTM)leQE-H3BrrxX zK;39NAb~+X36A0|ddc7gf+>`JN%ax5-=J(})#MgJo3w=joL)*GjxbSTEJ5N8wqrVY zjE0G0#7zcKB8C(d1;_d0)Oj+Mc*fU)LHqhss7qT2my@Y=^yI}hA_}hMH$BT??DamE7%7zK(YT%B3wsO=0vyj4~pGEIredZM57TT8?OK xuN-gXu(Hrz;HZYvFQAB*7@-z?^Z#N?n9?R`B4uJ)Aacj4I{uP?kxXq0$b4< z`rHDgzwguqx(l1ib@rC4s^Y1`MS)JI-Z}_OB?|}Yxyre!TFGtro>Q$Xo<~yK0>a_H z#-A-?=Tms$3xrFxMwLFa!_4T0uS!qusiy%S6GH-4d-N=m>TDI-$B){=4{-;ynubSPN4U{xZ>_Xxx_JNpr&4K z*)3Nq{(i7!@{W}DmAA}PnOsYeU6)_WYsB-^3k{|;LC?=CLZA+{x?5 zijE zRu`W_B22%PK1OJU|67EOqdtMJ*19n-<5J`AFp){ej#M#4S5Jx2X3mqmdiW5wp!VoVE4Xk(o diff --git a/leetcode/out/production/solution/ValidPalindrome.class b/leetcode/out/production/solution/ValidPalindrome.class deleted file mode 100644 index d6957ea0d959488aadf86d4587fcd47a8338d937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmZuvJ#Q015Pj=A`-pupjuZ1~2Lb_nHi{dlLW00iP^1e+GIEh_eLmT1oI7;Bz#qu3 zph2QZlZGZB3Mwi}YW@O0fC9|hizSP|NjtOi_RY+j-TV6c(`Nwpa5oDJm$SHntJ;*c zsbsN?YZk6sSP{rPP=Sg!1&pfG5ipx!&lfoFs=$AGu;2Bg=dwE@QglO4jyf_@I-Y`N zJWykS1-Bzds`rd0=tbeazb;^_@hlc7Ro$U{B^x6d^c(FsQbB*+*%J_oYlmyd#Ztw8 zX#(@@Sb8sZ<;!W?Y&$%NJbznhVM}LvujxKE&SB2N4I4MHYU37e+qi?O1;<7Wbq;tY zOQ0~**Xj;^Fa8TUl`N2pLpOZwM@>1_y{pdu^kznW(2obnopQE}H;~aI)-$U+PE%lU z)~U%8>BW9TMQZH&F}JN~OZ8PkZ#sKeL56RrzZ8TXi#E%sK`-djwGR;Qlj9t1CINZ> z+}o!F%p=c;El{A<$=_hWq;J(vkaCR;I>YR3mMibDQ7@ms{D|}$%pIo0(d0+HG6Rgs z(d2u=NYJ-P8^>fFYW$0N%#sGQjJ3q(kfw-53RtFuRSIZO!hIC+nCKQtc!CSqQ u)+ousHWqlEBL5*dMb@Lt=?Hqa#4N!q5KI3;UWig5|C1LZaFJjNm;L}kOPnhJ diff --git a/leetcode/out/production/solution/ValidParentheses.class b/leetcode/out/production/solution/ValidParentheses.class deleted file mode 100644 index dd2db4beb695b3702819c75e87edb1b485972187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 827 zcmZWm&uwIZU6ZNvlRU`?Zv7@M?eLgi5OFwhNb#f2RR1Z24QytmO(c+cI9K4Z%L<-FMF=-G*)xl46IHl5rPu`g)pdH zPu3qYgsK$9y>^FU*BRnvpWc+6po?ITjKC~Iq}<+f>())%Z&*Lt(Skz- z9DYSfDf>m07d2he)sJ|RQgp3Q6uS6C`40%3kRznW=XKg&5LS%$NG=m&6QdBk&H# zF-ua1@s_I2Q3od|atW~!IrQ%H0x5x$%m>N;8<$x!Sic~CLKWBiS2;x~AuRj_v|^U> diff --git a/leetcode/out/production/solution/ValidPerfectSquare.class b/leetcode/out/production/solution/ValidPerfectSquare.class deleted file mode 100644 index 1322d51307562ec2a06845a6bef4fc7b6aacc01e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 891 zcmZWlOK%cU6#nka9k9r&fV5?X1``uX7n0N(H56iFVp4;T1jE8r2N=s#9!f!*=*C16 ze}JpTbmM|eH?B-vxYzhw+_^DT{O%M9wsSN0o_p>&-{XAy^Z5&ab)*B(k@Caz!xHdq zxE;4&63|z2RRMXc+i(OTWw+zp8?vpSZ_gr!2sxxQ{h%NrEK&aBU>rd|5PbZ+!Q*CQ(XuAy- z-(l41z93H1-DwJ(uDrsUeStuwJLuJ&+pf~Ra8}yoUHiEmgoHs`XP=3y3i2(xvy;DH z+odI3gvOz%PlEI?xchj^^AtRd)lU!~8EEix_jyTybBu#01(-vCH-YnBMm6tGKvS}4 z9wKB~jg2>&HX8pl58#(0Nd1Uax`&t~r6SjO`nUqjMv18yGM=>5gaJq)gfN*jEF!{4 zV|E7{WKUMLSs7g(dDoR%R1Fl->ZTV_=O(wZqbNKE6hCKRrd5>UHzLnd> z5$06TD2>M7XN0bLHbVprQ&5CNQCQrU5kn4ftl(-3 diff --git a/leetcode/out/production/solution/ValidSudoku.class b/leetcode/out/production/solution/ValidSudoku.class deleted file mode 100644 index 5e212fbff77b2197b42cf28bf797de4e5b365534..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1164 zcmaJzFvbv9E({C9Mx$&0gdyTL(?Xhnflj+O0 zL)}+JW^~oMZF!+V*D>rx5F=ikK$k#ml@mi8w@}8)-V9w^T1_VlhfuL#XF?bAdFvkg zR+jAyd9uBDJP<<<=c;npfDEG0DGgd7{ssT)@HWIdDiUfaH5ZiOq3$g^pq3h_*P))0 z!O}F7I^I8mI~RiT#LkSb=A$yL$YIq~{hJtTQ{?xMNKb1uwfch2At~Jim5M> z0{_Nhbw+~>ewK8~U6<3g%jvDM#qMOc$2|PhHTG?=e-BzXk50~FkX9HCI7@wo_$4%B z9wwsnxPew=(1tAa0`dEN&WGs2V|3#Qdhr5%c#VGSaPvP=|4eL`_j~mFjuChICFbp> z-2fk}AHyV%k53sp!mb=)FENBh-Wqs{Giaiw;}Ig2*at{dV)XH9ZM+-RWH%bIRImn()N)xZS36d&v2EhIQme4)#D?uyw_1-%R^yIYs#0@mqgFPn z+h)U7a#yLFrBXxLye|3y3205rRf&2H5*ab*uJttyy1Q#Pm3`Z++LdChQMtriw1+Bo z*|lqq*?2;JM!+QcK`c+|M|c(otBvGA;6%YS%U_UcuM2M?F^OB8uRzdlZaMasEp{A^ z4!0G%N92zQRzU7pu7WIZZj|G2tbky{p+c?IC|lQTkJN$YQ;I4B^SCWA)uXL@E)1MT z#NZ))%fJWtkZtr_$m~!Ebp}2{!N47C8Q4bAz{l8PqXzDxC@|;6_YLiG%dS?ehJkyy zZ{QO=P|K%E{LH}TFj;Z{ufSw4#qH8Vt4tJqs?OQuNrg;N?B;!!;{#HRfXXG~~$4!vA+T+?q|5*QV!BmiSI$g58%7I2km$0iOuA*oVKEe^)o*rpA734 zGX8kPzXyLN5dRH&B+y3SPsogn$iH#=06_+hWn{+|k!^&E5gGCCW88=0x4L+Gxc4jT z=y;iH3gcW)Qkvl3Bo;A+1g5cy8RQVgb)qj2_XFC>M7}`pW%%iHft|gI06ot#>MY;e zMP%?Ab$2trM2bHlfal0cq`lwyL&EZP ztaKN6gM~f9@Er-$s7t9%;|UVdA!0N67v_@tFnFYXz*I7^j}tz852-(euKmo2PV4GF z2H4Of8(HvnUbbW4DZI&Mczrk?)u8XVg^ngcjcQ>W+P{cOoY&UXjQJWch!e$Q7E&cv z5^bFH|Ah1bCODhPgr>JK)y64LUuk1Hp>{fVGt{;bCeXw$jMTgt1(*+Hc7f|`C*v{5 W6|8t56%YyE@;X_g``Z+KxcDDCWu6rP diff --git a/leetcode/out/production/solution/ValidWordAbbreviation.class b/leetcode/out/production/solution/ValidWordAbbreviation.class deleted file mode 100644 index be855ef2aac28efff5f2e54814c92980feefa042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 833 zcmZuv&2AD=7(JJnVJOlvwjHY|YW)dds}Q3kriMtGG&Z5Sz+mF47nr~x4rV&wLN}Uj zd zFp)NKQ6PHX_1vH&pk;G40e!vKbOe$W*K;2AU(_A{iL7@SnXmL3vRjkBtKKI;J!rc- z0!x*e?7GdTJ-=D5*L`Q;%E0Y;YXbJ*BtRgOt#sr-=DX5s<*R}3dabqNk=!!@gBAMh zFE%;cD|S$$9Lpsp*_kw#Pe)+38py`;E%|aXX}sF&`weHqRlB549QT&0nm`n$iAxDw z#&QBzaFt7(NEfjFjq$kNaT>vYq48D}xa)YWpdAX#9iol4^vk5`+0EQKmZ9^zs4D`3 zFll3a%kvaGjT_$}zJ~A&Z8QuD#OWu-1e~G=`m>m$WwIzkBNG^EC9SAyMI*g(fXHXO zvGvu^*;z>+KwGtS+949Vn%LFF=;-%2Vioofgc6r7Enm?myZo3wl-w1v{<1DXpb5+b2Wph^J_fgpj9a2(6o)Hua)is0Oz zfrRLVONGRxs2mVyeiEt*vq`EZQ7!NDd-GLDQU+vhISGNMG>LI9y zE!h>AtJW<~HeYmtX6;?i3Y-!r?2bbM$!xW4?OMfND7|7;cEeKcrGRL2ZE;C~=zC7! zyo-}WfyMFHf7m&dusXpl4{Fcy-C`{ar0`-84{NVVRy7D6>@SE}IG}j?#A-k0u@jlo}=P}Rm-LS>PZdt(tGIcUHu>ym?hq@vV zN;PAGRgq7@XEgr<;(NbsGRFE~4Aacb0Rc0ZWkto9;}Es^1R8%XU|YMNE*v2uu#Y!d zB~wTrL5tuw^g~4V@hEfJOr;B%k=7SPwSzNq<`A*7ewx*1McC8C*MHykB8;E(1HMkD zBw&p$z-7|Q66M@uR;I{Tl=+&N&7MTEZz0b;GkA`9)*8jTNHL2j=|fv8TfidiT_QTL itdPq@t`JGWIHtj4Bt$_h|3#EHuCfuqHB!?3Eb|{eG`}4H diff --git a/leetcode/out/production/solution/ValidateBinarySearchTree.class b/leetcode/out/production/solution/ValidateBinarySearchTree.class deleted file mode 100644 index 9ee1f55d40a32b012fc957492b12da6056250a2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 780 zcmZ`%O>fgc6r7E}+TgUMgrqGLQa(!J0J(sK6ojf0AvFr+kSGUk8+S=uOdPpR5hu9t z4|+jDT;b3Q5>h1&T#@)uz^rR%FSX>i@6C?q&D-^_-`{@#xQ9D=xVY+|V*TOsmajz| z@A&3%4r{ZxhU+@q(BYrj4f%#4_R@>880~Pn=ASANb ziF_IMWgO@_1I=U<>-^=S<&)hHeFG7YU+LYXQ#eE^x-7pmF(x>f%P z%RH=q!_522!6)2Lvyyr65uV3#!4ei26Cn-Vyl`c#UZPWES q(FgRTC-aE1-+x!F%$3HLv66aj;Sw_wm&vqY*v$=nV5_Whxbhcm{gMFy diff --git a/leetcode/out/production/solution/Vector2D.class b/leetcode/out/production/solution/Vector2D.class deleted file mode 100644 index 5e9c1402e3b6b7013080dae500d96d66bf591d71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1388 zcma)6O-~b16g{tbb-MJs<+b!)e+Anew)=ZxmaORWJJ15?w0R zX2Wn=wkc3L#brKVD_eVxcdr|b&EitSF*i-Sw7^F|->I~!erADuAkep-9xTu|Z#67u zK_HzAM9Ffc{JMbhxVb@iiL%u&ms>kk(_S;Gby`y8X3eOt8@46yo>6hOtUUp(yl&RW zeEJEoMfT0w^oBsPH@!giWR5qxexBJL-?MjOu9wAGLtU~B^R*)|l=B*RqSFHX700N( zdS>i;Y}GAeZ`q9q=km`v<`Z!%)onI`4e&nH~;-LDBm{p6fgH?obG^X|s@ zkOjz_I})`zo1XPs(7WsEzEN+PD=#_p+|p_7B?g@z9Kj*PhkU3H@=FXM#UEL9?inc5 zhmfWH96er8hA0z-FA#-^V}t}gA^d@+FwXNFpafzJ)2PQW%$p2m2rgiRQfe1*iD@rW z*D2eU(N57T)YvATvg8`2^cgOEhH`*p;Ugl)=o9z>^(g!m(IdVL7EkcMB8d#S$l~n+ z!(Q<**H>hikrVVPyd^$aVO6I7Np5b1n7})XQx6}5`T<4??TcGl^QcD-|Nd@=r8{8< zP?bX{;rAV2DfR;G&2iHI{uOl8bV)JcLC`i7>(*#3kR5+w4Bq Ss030)yi_4?p5w^5-uZt%)G9;( diff --git a/leetcode/out/production/solution/VerifyPreorderSequenceInBinarySearchTree.class b/leetcode/out/production/solution/VerifyPreorderSequenceInBinarySearchTree.class deleted file mode 100644 index c277617112aad98d97b415171e57296458a7ff7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 798 zcma)3O=}ZT6g@BVUZzQ>Uuh?;njkKOB!dZv6r@tWKnTPSNX??%_%eCgiE&b=lS23X z6J1J$Y_f4xaM2&&PtkuMMLjbKqPs5U-Fwe@=e~3AeEaqF0>C|#^N_ffhlT4lZrCUZ zWFG`!5N``um1;*oJ{|Uqz)~v+&5O~8u8DSZcR-}j8v1(B(NU1pGf>9+!J$B{)iF`< z_V`s~hEdN%ZS!$tLf-%A#3q?!vS~A6rLF*7Du05K zlahS1DP37UL(y|(-7D2UBRfX!M2hk6@2=cbt|IAru1d%=C~I<}$o;5!)VebDbBaQZ z@-nTR!j@x5E3s&$Q{LtCV5Vr&W}Zw|ptTas-DG~7RRgQIk2P#De~k5XoNex>iVds~ zQ|zGs4yI>=CD`O>dP?xa8%1@~BqvThtlgnV^4=x9g Av;Y7A diff --git a/leetcode/out/production/solution/WallsAndGates.class b/leetcode/out/production/solution/WallsAndGates.class deleted file mode 100644 index db49f4c346af47c2f68197f74110bd45723d8207..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1858 zcmZWp%~M-d6#w1#?t3r1JPHLa5G2}aQ6MzbK+`sS$cG=rBGI8AQpOH}q-|(OVhC-S zadgANl`E&?z^3A&3s+q@Ow~cRx_04=3m1-mf*ZAszxxsdT6pi~+;h%7=lss^-1qa7 zZ+8I<;&m4u23!O&=-{*q69YlSaYip^^>WTZmxF})Nu^S8FyvrZz#h)#v*l3%v%BZA zfSfF(GXf3M*?eYZZDlc2x|mwbQPVVCSW4wCr%GA9uPJ5uW_DG3UrFV1tK<3fTd8tp zbx5H8&OrsUbkEOE>G)!q?-bvxfK@6KR(RZ`jcciJhwD-y$K$i*)Y7eYQpH*xGku+Y zbvg+DbR09S6CXL0CMICqJ;i06i&-qt!O)S#UB2tg_u*P*jZltGFQ;y&`q#?YT>pDo z#e$7Aos2ZSS`PzVFYbX=PahkepBiNo`E)oK5pZVkn_0hKhguTV89mhFh==F# zf9h&~)foW*mr z8jL!CPD&=i^kgRc30xt>zX*uX->~@5i>%jx{?05GJ+F0cL3KuUx6u&ZLNKi1eyNdn z#==o0w`-!3$=*n(TnH;E7YJ2v(g!wSxv*~u%XDq?bQg{j)r+jMkL;bKbP7F)@tZJ! zN%rAgoW=*-=`IXbtNS1EwHjhp?Dxaawfj9Xed(CrBaPjH*~*q1Oi^Ri*rc+aM7JDf z^*fkzJCF(Kvr2l;m~mU#q_;bwteCP%Z+l2u-@9|BvXXOB*~v$+3|!f;$?>l~-#{-gcEYiXgm;dWHer9#$Dxx zEV6M^1wxi`qYLq%steh^XMr4YfrOCjvqrD(%r zbQ6U{mUZ?rp2hm_v6?Po?IUjeO{jXEq?aC~G=g@87uR+WbZ`6tEje3k8 j2LV16mKZ$XR@HLl4Fvwd^$PPj&p7CBlfbLYWgzw+PRl=Q diff --git a/leetcode/out/production/solution/WiggleSort.class b/leetcode/out/production/solution/WiggleSort.class deleted file mode 100644 index 5d4435ecf5ff6f5b7108a30125c00883de2dd612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 642 zcmYLFJx?N06g_X|0XmMtps1@uqMb4uXjl`YYhz+Uf=hwX!o~+qa9Cgn4*CcD6Kkxr zu(mSUf*;^d+HBPG0HJvI>)m_Kx%ch;?*Kp%Sql>1ESOkJU_Aj>Aif`Tg6KfN+}b`B zkcZ)=FOVz;9sgIqUGsY_vM5*6kz{ zh;5yhG_VNxN+js?+Z-{@8P8WERsVggx?gbDx2h|U;7DmS)Z|b^#A?{@)%~MDD@jht z@=bN4Y{U?^v4|x$PX7c_`nS+hokpQjYx?yFo7`OT5}>Cv#Ay@E3iN_LmV1SGVPIf} zR)2#7v$Xc80T$+%ac9ia>fr|hne_YSPuCmB%SRO5SoaO_* zo%39Ny~4ON#Pi3S<}`<#%R~bsi>%*ie=y!7m)5Ys9s|2rK$4z}V>LQT!J(cstGvg5 z7-BUw^N(1DKFnBY$XztLLm@lTbG>Z7;$<_kGF>@6yiba44i`-mc5z5u91TtgoiQQ7 WCUP8PD9mK1jb%oXv@4`Du=)uS`CdQ( diff --git a/leetcode/out/production/solution/WiggleSortII.class b/leetcode/out/production/solution/WiggleSortII.class deleted file mode 100644 index 85a2a357c2545a2b8d792eae30ef4c4ac01d0271..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1997 zcmZ8i-%}e^6#j1ZZUSKmrR`!VNn5p4$U>r6gSF+CXxrFOoT;{Ts#6xSg{2{3mO%B* z2mT759NHOP>Vq%f_`vw)j6VA2qko0d85_T|8x{tJz4zRE&yVkX_nezQUjKRk;3{sW z(S=ePDa| zDvNLB^D8q(eRGXgiAR(THwd^}=eNr5sY3U?rn~fX&Rq{<5T-)<$Q`X~-jgPs2LAF2 zXQSrPIJxFkeV0N<-FsH9SG{i~Y`Hwl5T+lkjliS6-gxG&E2M~t$AXHRnJ3h_(_E>z z!Lql(jiellaYv{Z`Ppc?fkgD`ReD|bw;JLvaO*_fxz01c={Ja>?VHx=dyUOt$-C(b zgT2Q|Dy+I&t_2I-yeSJGV>X3PEPRTy795ONxQsyyLl~CjsD&}SuV5Ybpm0ij6l-pM zxj4VL>MaqCxm0V^8SCuOaOLDF?Z2Gn0Oc1!=@fP$3FAZ<9B)V8bKnEBH-5fJq z6*();W_};)X9@}Qa7>1qDV(BgMGEM}X|5E`;4DWPt3GI?xOdyxL*h3Wb0fb%I|q|F zT{UYZ&8cJ>rKFv74t6l;*p$rmAJ9Ew>uudC>>@p4o7-lqFu$EtyRE+^z7fX15c=&V z*bL+MV1P&liC~8FEg}$Hx2bah!?4juyt0lEiu4A~5n~6Y(N9Tox`y-AGx&|sn;;*+ zD6*7Hx-Y1IQb%~|!(*0@@YIj5W45I!fd}V+keQG&`Ms5ga6WDLb@O-COo9Nrn;rgft7`<{(gNj z_mb~C+A^qV5u&iCq}$uUE35^B zS{Wzr7|wyNX7|uhI7%|=y4f(=rARZ5mWiWf!m3S#o=4lB|7=&;6iY0(ht86jv(2hr zkmj@Xk4W0)OOamSRNk>oy}*6Enci2P~rZ&e5zRNe` z^AMsmAV|<*+fBs~r&vgG2Xa~r??5DJHcgKuyi3WXT>~~s7lyP1ZTc%`YC8gXBF7P=i*!nqoB%y6n+0q_i)&C{<{?g&g(+>Y~f_e0I`URbp@BgsnFw%VJP=LY^bDE+3p z6XagG?YeDw^$p9nn{KCZPaxv%gx)QIrF><}+OvvntJ5e}eJ>!Kj}+brh_Kr^G85YZ zN^qB04?y6x=qW9tiK=hetqp5CoGKKyAP}o|cRkyA>;}`DX9v6)+!2Qk!@xou*Kj?K zMcfcboMkd}GS9QxmSg*;LL)s~WZUU9{ARdF&Zyf>%X>ts%&!;LFb~Q72af_KVbDhC z6?qDt+VT&G?_oMhtA{~~AdZg+xIhHr2~5(mSk$1h5ztr5YDp?3O)2S_l_Mx$@!piH zAy{0=96?<*C2b#*BanD-fOt<8Jt+pmKgZO$adPqs##eIe=6TIiiX{RvA;YI;BLAqPROmcPXn(QO}XUOI*Zj zB=MG62ba*oGv3@D4snN;fngKPH?{pzOYA%cWT&2nn?1#&oGHJ p)_r2<6sMTxELlW{4Dm0xY+#13-~$vQxwM#xKMX$3ENKen{sWYyn|=TQ diff --git a/leetcode/out/production/solution/WordBreak.class b/leetcode/out/production/solution/WordBreak.class deleted file mode 100644 index 424a54c0130658cd283dfe9d0fe41b52d706f60a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 zcmah{O-~b16g{t<>6CW(l%iEoQNR|EA|MLIswgB)Dkhd-f*Ypoq#YX(dsHs>G>mB&7YNK)w&kV-{IU3wfby(TFa=sOmTfN7)^nz_XynTDbYv=dqr7A| zmOR&;id(X(0^!W-ic^?%Ok*u6(Dc4>5a^F(R*iQ?qHNg3MAmgIyO=!o)Lg5a$XHc3 z8DACQy`PszM+%R1Ji${kJV|y2_%gR@O5HlVyWSI|UDGk# zio;1Ln|9GHd6U4WX!(ng&qUp=6KGc~eoDVa3hJemjOv2v!O5jxjqo)X*zcXjY9 z#1}8z!ZqMI18Ai!p#-1}?c6B~E-?u&i+T8&7T6rxg)h~ktb9|Zm8jxZ7L`dgqDt>J zmWTJ?7nlx21A9;ewlFI#Rp18#(^^E0YQz;LgOT7T^hK3OaC{5hLy=%a-GwHD!7b?Y ztIFaI0y{_hA62n)v>jD?#y_*T0!es`G{Fv4?mEe}lX?#+Cuz-*a*m`+=)@YjU^C_- z>NWQYLB)3t8I^Ku;wr9D29=q*iSx7SIxAi$pBs!H qizZPwiRz^%3iS}3Lc=Zb8*LhH|H9k>dzWe*l zpMM3g2494+40|-}4a0{$Vcdg#VFa;X!+{W<3*#V+2!@ci)Zas{y*lSfi)#|7kshLajj zDF|*fGp5z8z~8cJw*qx@b~vSAZl9S+?I;`>O67JLLup!~ec7au-fiSenU{>JHEQM+ z%;_7*=7xK6DdTW&Z)h&Hv#xbKKZDd9|`mLOq8R>E?1mFrZb`e}9LX3~A;<0Roi**M zAk()})rnjWAL0gkW?jR})OKUM8dIv3IzckjG>KC%&$H1Im8vktC65^6m7ED6>z_;I z3u%VlJ1z7UsXyj%BSIA~kAtL8#iP4R=$_MW8Og)Mu*GDn|1^8T7UmfZ&r{(FzMhq% zs`#E9{!5Z~Sk5)KPtq>LbSM%KNE*peYHhwJ+sBRks8g72Gp$v&>T$X)+52Wsu?l+k z48>J-Qt-s>;bm9S>7H!M8?C~NFVE&sC`rZSuXiRv0;OQ(G&EYPX2+wDhp&R~?kLBq z5YtxrA0!p-&lYmY)K*i@-g%zmwOtN99rt3ng1V^#utcYh2eDSi3wV)H)6ZQ6(D0Iu zm+=bQOUJ7?tDtrYLj9q-|N z1q-IH*i$gm!>OE(5AY#N*{tIue5~UWT$qtOt0%kqRCcgK$7i^ptZd zmE|pa9TC{~n6v7P=AbD3BeKv6uhc4?z43G(FVKB`757`NRtXR?-Q6~}czdbL0&~(v zjr^(uUWSKz+_^)fAf56T=HrP=W;p)dw* zXt$ATnZ$iWyq|H-T4H&CmesWQ`044BDvO8Ux&c;!~_DLW1jj8f`k63*8dYi zm)jCW)cEil!kubNy@p^+y?hlBCZ>0)ZHbs##2h~cT8pSv&>4sYikPdgKhMi(p2EOj zXD|^9PN420j>hd#U;@$BHtwrai)ls7XJ9B6Dg|zrQ7Nz{rd~xo*J==e##jv#{1Qzi zTXaFm);NKMmk@|*oO4)2%!h$XlRsRV%rjf=Otrb|#$1l;c+^GtN!);DEMU4A?s}$$IgVs$n@p9_r_&@CWchm0?zJDK~`Wu+9VbcvX zY3R9$^%^#F%JC$65Z188Hax0ft7CTGa{!-hdu)<&na$PjxH4*z5(~}*2L5)H^|-C( zUPoEDKt5Dv8!t(DM_W|$s%rvG1M$RFEE;URg1e}Q#ZyYJwbk85zS~)w4x4>piD)jr zahKmXJvMOF5Nq}XwlP+;-$;x2cc9yS*T;8G7i_1ER|=of1@{nJx}ey`Hdt~Iy8JJt z?x*DLUmIu$NRxbxw-ODa;?7{JD6{z@ta!pNrn^Phi$&PiaPW@RT`6qQd84gvkFf0y z@T&W4K)E!TlNJ;jy+ZF~oxn|o*ywd^^Crr51%=v9iq=u4TPeY96yX>J_zkJ~me%hn znh6R+M81#G9;44rTjX2W5RS;(aSBh`B45mV`zbae4o*fz diff --git a/leetcode/out/production/solution/WordDictionary$1.class b/leetcode/out/production/solution/WordDictionary$1.class deleted file mode 100644 index 7f4e9279980c9297eeb821147590a50a26eed1fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmX^0Z`VEs1_l!bZgvKCb_PyH2Cm@z(xT*4x6GVWMh4;V{Gt?>%;b{H{Jg}XO1-Sa zvP4D(e%HL@oc!Xm#Hfiw#P8<6AxVlJQ>Mj*`~zySae CyDW$R diff --git a/leetcode/out/production/solution/WordDictionary$Trie.class b/leetcode/out/production/solution/WordDictionary$Trie.class deleted file mode 100644 index fc51b940f7d156df3225a9157801d190e30484d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701 zcmZWn+e*Vg6r4?CqA}XodcR*LJ}$EkEX>(hkYLfql0r`yT?cIi^E}ppf_of> zL445i+il5?Uezw6`1(*c5*>wp{9F>)4&jeXD->!?|H0pE`QgpxSrY5;hBYg>)$P)j zf|qHQ+O7_DvZqj7%@)@#NP9px3i+B2gOmHadJv!c^%gUQTGa4c7k;cI{!N-9q%e|U z>UgwKQYimZ$zrQJqH8?SuJKeAq0E7+bnTo)_i-aQ(qg694cL$gxX8nEF@QnYm2E8l z!=8Z0uFC!K~3{ z3-rD(!4;@Cy~zzynn)n!j#lCocmtlG7pUQzwPln9E_OU;&Y5$*^E=}|Ui^9lU>+Z3 zVPjfiCJPO3jUb2FEavd`2+eu5yp!cwL!G^=miHvymspTk6tG)S6vWN0zq=dk3K$!4 z81N_V^%4PR^|M~wxe>OLuowC9gNpLD+1<1-I^hvl+x2 z{$`gah1Fi$@80p_P}ze+BiRmFDSs+A(@MY7Q3YAJy1L_k=g)NgXlrIYiNk1XQB@Lc zeoa>VJ`F3JjiN6~)r_tue*5b+|J$@|+VK(*Nqj*4yMZ6KxBsWk7Xn`Ol)8TBXUnx} zj5a8c-I`(434Wl!mIT>k*L(Nlc5pLPBrco;Ijy?0QNV>WuC$VJUA2+Nd5I+(E4XIk zI+kseF>d2B-n7xg4I3Zgrohqe0_K{ zxAxE!kB@(^dru&hAUzc{Ng+yxiBXJW3?9y5na#Cm-)3tYY)uJuDS4dUSMeH!QPx1R z+Hvj_ZQ^6R&YK!8(eFV&reR4;NK8t+AyE+|_c!X|nE3RegTWjht_=FV%0h}!&Q* z_D7h;-a|>wf9gtgpK*gML3N6tMLJ`skmD6hQfCcSERpVA68jQ$>|hFA+A(I+E|+=Z zE@z;~s!1ioeiPn2pYll3&K0zT`CL|=#3$*bjC2+kk+BLZg6uDe7Z{cBgqV0vG#U#k Uv{RG>zGN*GihPE<93O)A55%DkxBvhE diff --git a/leetcode/out/production/solution/WordLadder.class b/leetcode/out/production/solution/WordLadder.class deleted file mode 100644 index 78507ab0f80f01c93b8354ef381e38b34c6b42cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2927 zcmbVOTWnNS6kTWL&fJ+hclx3OUJw;gnF6JXrRYpWp@_Lk{PnYmL0 z-&!B|NDLn;#u$SpXrhU)6f2P!ztj&u^vlGU7!sq=AHP(h#dXe|X$#1Y?aaCR?6dbi zd#}CDx%1W3C#M0l;&}sCV0#QZ&?Sd%9XkzZQqzNOIrPe5myX>!_82g**FY3^$>DA} zy+;oB%4wf8wB^vRBWqxeAC~?*FdzpfhJ6^6!;rLhmhw#V$2oSh$R>GFzhelUG0P1$pEEnSY6Zt4^e4Bc?CB^QSIl?GXU zJNR{(_(7&15GeHvSQk01E4w*AxoE#L=;md<0=knQ@TG|K&bTE{maej$&O{(|pzM?h zLH(?i?NY^BwY+m5ox*;}0&~xY>Ck8us>QRMSz!A`DW=yj+_kf;)E1Ypi+6c;cK>F3 zR5e0J-Y1Jdw96gL+g`cId^i0M;QwD zqHtDXm@xZ7PEkTfLC2_$4dkGJ(N!oHv(5%rvaD9N!za=T*#;9=;wsvkIDn#w61Y+0 zOn=DI{f_DzAu!>gY+?)t1?nzjoWQ&bRTWOiE$%b135QG^#{DK9z=I|p!owyWk$XOh z$4oqqtJwdUjW^n*A(mufT)I7hCs~k*r{w-O;h>49am2(kc-F*oGG$|?tn+f)+CS`M zCFf=$tF9C78I6LjVP@XxIYrwmFl@N!j11jsMOeuD zTK)wgBp*30;;e;F!DndcNr?9;1aLLSuu{gcn6l{`;2K=ZnZR{eLMu84cJacGQ}=80 zvPlF2=xts;i6Eb+pzS`1P)e%`Axoo4m`hq)*wQAU3%r7lq!bbO4AGQ+3dU|rKZ#f> z5^RemqLw}Z^Ee8Yo`_B$-ev^bVu@JY{NvcnhuxPjUPt%@QdT4pRf?k%sIejws7;xc zxqJe3#}G+`wZ3~G{2Md=`Z($i0UL|lN;{>rlB<#fzv4zp0VTC^ z_aLj08LU7D`;lR5Nx(U$Fo*1FOlgW#KHq#z z$O=^$SfN=$((H_Ep_0Cn4W7$`N(CQpqSn$_( EzW|qVg8%>k diff --git a/leetcode/out/production/solution/WordLadderII$WordNode.class b/leetcode/out/production/solution/WordLadderII$WordNode.class deleted file mode 100644 index 98c8d5452a76c385f7579a6eb412197f06bc4358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmZWmOHaZ;5dO9;6tF_6AP--daKQS&gC{j!NK8l?JYeu#=mtt^YubXp%L6g-;1BRe z8E5MQh;4RuX1|&FzMcK}e0v9Qfx|3PsOFGHO?Y)-c2w-C*k@3lgV13xtf@V>+n()@ z+x<9n{qYrHPa&T(WF9D`7dV_j>-s(qJDwdyJYuL=0f|2bF?9dhQ&!HmJ zFvxTthFm|Gg(H6JiuB^@1@I9TEdb}8}7gv#V^QzW5+4cc?WpTaKf_yXp0 BbqoLi diff --git a/leetcode/out/production/solution/WordLadderII.class b/leetcode/out/production/solution/WordLadderII.class deleted file mode 100644 index 61cee7a1cb61331efb1138d2cd68ab43da4a9078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2812 zcmbVOTWl0%6#o8pcV~BYb}5%F3qK>hyNX}gv7L7V>fbG~ywvp+n% z`wf7N_(;VQIHKUFiW0dVQ{j{AaTNiakcX}?40Ow>OF>da7)RuFkDSa9sZOfsMW5ui z8&8$G6-m)#HL7=pvvR%N}=n~Cpv21f+ZlK%D95lL9WSi5HP8z9pBV)<4 zcj~5i8_JsNz3-md~T{}Ib{qPH7UdHt!Z;Imfc%7(@oB?QZ;R+ zQ&(A_aL+AP)*-4G6qr9n)QWMlz= z6OO7cU=)X`fx?y-K@)Zcs@ftdX@y5N5x;5KBz(;j#&IL-XNa@pSY5>7**Yz{K%~tv zlKp#)K{sFBVmPbdoPrlvoGd_=CaaZ|#R#@py|&@xGIZ;O|B6P9QzMflE2$UkQZFRL-k-dWx&y>R&Sq@umB`nzQ`a$=QdwsNha3 z5TO!lcoL|>T2c_8bdX=fS-k2TMM>u{O5?s!__*=M{o|W}9vDTSb4`^PhLY!Zuexdk zp%QdduN{HPbrfN8XmLdki$FZ62fxCsct{Ve&7!DaUj|H__X>BAHDO-3Gtz||m(iPJ_m3;NO8VkD@*YePHHIIeyXtf?4 z!J-me$6}pU(^NgG2R&nTMUUq3SjVM^xHWc1vd1*CUJCPg*;7c@1G+zt#T{~9Qmrc^ zcwFlK@ORyJhYt5a2IUiXUV;!~Ifv0)gk=oGO2%*%>KLXS3{DGg+8LZ*r%Y?{ok+PfP&}T|2ANZHfb|GD>&%#9O4GJ2mKzj tc@Gd#==cYS2{CueJ^24d^e-%CT2NpKp6BRvcZac@t4db{m>A1|e*jU;qC@}y diff --git a/leetcode/out/production/solution/WordSearch.class b/leetcode/out/production/solution/WordSearch.class deleted file mode 100644 index 012def9a5aec75454cc806d4a77d4e1fd300cb60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1029 zcmZWnTTc@~7(LUSZLt(vkd<4PyV8r=fR)5x2!?2EQZ*69M2unEF70A%$x_s3!n=uY zKpHPEyzrtAkodq4@CW!0{1ZylGuui@*zC@HbLRWzobSwj|MTq#KpM#){1^&C$8ZoM z7*)eq0OJ8%67b)0Do$-yK#Ro}1>}6SU<-t^PQ`w(@hWG#kF8vpNLRL+x5|r_>!@`T zl(mwxE)dE-t-6H;+j8@z83EmX>#WxVdSgpV^VwDFwUsJcm11h4<~o()O#GRESml@D z=P*52wcG*)Fq;D2@F+!hrcR(^p=RY@-nZ78^jcws>;sA>lQ~?a3ydaVUDW!EAw>DliIAAJo=1;HZ2XA)TS8sCX%KhuV{zxZ9|v)TT<-({kf%a z{Gsi$Nb`sWsfFy+<3~5+5k_N-jT(en#BUvALthJJB}go?gy=za14+D9ccx(g$!x(S=RXg5_ipP*~| z$>@}s?vsXo0QuoR@H`zE+kF2dk&Mb^Q*Fv+HoSwI3MrgMCWx4F`BaYKA%zoU8v(fo zsZIM8Rr6%S-|}kOyMS)`X0Y!bjIxz+^y4}PaD)ELVF)iUj5WHr$=!E!a)%kp!+VWJ zPyDK%_*M7Z^eG!Whn25&&qL`&{mMn2b)GCy-i-2<|82++k>7Zv&8h##B<925KkdD) ATmS$7 diff --git a/leetcode/out/production/solution/WordSearchII$1.class b/leetcode/out/production/solution/WordSearchII$1.class deleted file mode 100644 index bbacb8de03e2a9fa08907487214a38b066da294b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmX^0Z`VEs1_l!bZgvKCb_PyH2Cm@z(xT*4x6GVWMh3y~{GycL)Wo9X3{OwJti-ZJ zMh1S@yyTqx;>^5s-_(+f{1kQuE=C4EWQ8h*j0`-Ud3mWt&N+$2#i_-N3<4m%`ZH7XjS*gh-Ko!VZ1QZw;8JK`B0Rd(pWB~G57+8Tc3j-UF^aK1T zaW*aV!jjFNbLPyF-SMxr@JOnN^ADPC&Yk3 qOFA-1_eKxV>y}t7(3oV@u!yC^&@v+hE7Sw>JgK}`hW|OnurmJ!R)GWn diff --git a/leetcode/out/production/solution/WordSearchII.class b/leetcode/out/production/solution/WordSearchII.class deleted file mode 100644 index d333e290c316d4ec8d6fa6bd93e398a27d7ea003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2194 zcma)7T~8ZF6g_M2da>DH^RXeOF-;0hjBUOQp#=jCahhOapp8i=p_Q`O4lHr)U`(o3 zeQNjtRbQh%1XZfaQzNCZ8YHB?G*W*-e?oskg=o_=V*++TRV{gE=FYu$&OPVO?r(p; z*aa|%MGt%!^I#nBxuM~*m`&)o;^87LELT17;(Z<0Ja7v~FRtsD^uR!(9#goXBdKFr z$BY6ak zoRwehO_hpvemN!%S8Vm|ZhRuyPV1xuXcWE5B8P$p?UApw2Xvn9cqL?jcXvLesv zTFyRy@S3-dTG!FzsK#SbxuA{^<<>DvQd9PF-YRVrNzLg0Eat?_1f03YVnV@M7%`Tb zNSr{r)Fw?{$i(=+f=)c)zY=*;g^gl5d(9SI)mYs)J%T?2EiiR_VBkaCG?2oafm>j6 z)VRtn60Y+G&f_fuZ{RFljs%#r)>kNkfg!x3pygE8FsD`4z zCqrb1&MvKH(-gR&+M~0d?RJ!wXVt`1x|-K3m(4GiR^;_!XKQ(0FH+yKcmmDzPOn(S z31(7*i7t|TzV`0KYJ>XarSVq_5-;R(#A+Ava?fdH*uv(4M^!Pgt~=z-%a@DzsURYl ze4gfNfTO}u3zeZf<-~zjK0O=(7oF>HhBKq$1V7rO4;45_@Irb4Q_k@~X&fjC+Gr&Q=({x&UpjTczLc5eQ4q< zu>n_EK!PO*WFca7;0gk0XB2T9U=*`AaZci%5^Y1T4(@y4+=oNy-a|9@I`KB`Btn^G z9d+DaJ484W8BzV}?vUmja+xku+d`{fHC@pWJ=E>j%c$FQ5%V8Aa4(eM8Bv`>nyH0% zw{TGggq=~&&5&OWo0{qBE~CB@u&FWZ_Z=7uezlBKKk`sjmfM4R&d(BJfKc06T7V^= z!!Y5;S->o#P0 zZI2(TLB=?6iGSWoJ_X5N5}A;6JMb8-fe86&G}Xs2Of^EboDQh?{}tY_ocxRi2j*q;$Ai9(ufDkz3P%F!T~qaIn-3Hjp%yXba1d`3$0p7iIl@=Rj9ymh_y_0Pzg_?U diff --git a/leetcode/out/production/solution/WordSquares.class b/leetcode/out/production/solution/WordSquares.class deleted file mode 100644 index 96ead8c96b03a0b02aa0ce50c57f07bb5c7784b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2841 zcmbVOU2_vv7=BK&*-euzw1u>!76l8KHYpXV1zM~^wNfapSfui$Y|^D!NRzPH@TDj! zg3fs1jTh)R<8++C8My$*DN{Scc*p23@TWKoA3kR{ZMGje9WQ!v&U>EsJ@5NG?>XB) zpZsOW;LmJ+WAmlAZqd1IrG#t?|7C{6fa{X=;H8>iui=!8XGlw04jJh;9)*e1a+r{)tOiTN83A>-mA9NefncKT zh=9^x7&ir04_SG0xICFQ?ZZYoM@z#{A!Fo@7`7$X6{F&0t&%|P&{)A9A3aw#Y_rrW z5WP@c3T#dsA39^4H#&1hexh^Kv90_>Z<}W-J65i9$SOJXQj4~E+PWx@S^{T!CDW04 zxm&K=s42Y!YY>C{vjjr&T;{W8nFATYmJ#ZF5h@1-0WsvUKV%vpwTrPFX$ zLyn!o7Gt5K)AW%vR#67UDqxP1q+_-78QYB;L#|1X|;`u1|x%Bq+^5STi6!>v*dMm7OC1)%u z?EgwA`G|}b%67&au;h)b^If{F@>=M44jb70)hn{cwv9`&cpZ5Z1nR3>`;1bSH0vnh z99uz$4SAER05;PS2ikNvDC;ycS!DRjOnLFPjt}sm zjw|>`$H%y;;}d*JL3DhEYdSv1bsaaPW7Jpcf-ocLGiHW~uBs+3>s?R@%jBa{1q?c- zZ8!z?l$ta16Hb;bmT2P}Qd26Y*>QZIc;OR+gOx|hR}R}NI3bDIQfU}>&r4$NP4k-w zFO~`4xeVOb!v7h-7-u)fmI=^yjLlxMF0&Wn{{HPRj%D&*Zu6iX~9q;eLE&twgI z50g^}=;zuf7EO6`S`z(BE3e+Kuv73Jae=jor9e^?w&odboI|)z-5m48Xj!8)Y+mH? ziEYEWKt>8^G8#Ror^|%e4^4srFPQo0!ruja8{TOi*!)8bCegQG{7iBWke@tI0zh z60~pUhyOKNhtb53{5qUM92S~+XIpTUd)JBiioAVC4@t@i7Cua`1lpj{V>8;3WaO7| z2q|=sz$6T8V6-3;o<>fKp1koGk_p`cXD!%d+z9!ka38LX8G#XRdY8mH0Z>F`%v ziHD}KZeBw*u0DWrH%_0pK#wNnZ5FtRE;)Nf$S^(OloVDT+n!9Vk1J9-FSas1gBIFv zJ^e#AsHf##>L#m?koh=UvY9%xQiE;e`~ZIsah4{(6XZ5aR&S8gud#!N?!-^ng`dgZ zoQ_+ll~hV4Y9sm?Da_cn=QX?SDkWUo>#k;U_YHakU7J)-VYDwXfH%o%8vC)2F;!Q` zcJ4|1Hl92eV~`q1TNg7?D)=45OGR6tHa|vG!+!A)?XI|ej}X>y;33hTl0%Gikk|l* F{{e`Gs>1*P diff --git a/leetcode/out/production/solution/ZigZagConversion.class b/leetcode/out/production/solution/ZigZagConversion.class deleted file mode 100644 index bf05501d3b46d0b8b28784ad731a0d8267aa598b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1264 zcmZuv+fEZv6kVsCnKP~94IH5e-i1P~Rn)4~yT*hBHHv|V7@f9b9jQ~CP9eVez(>f7 zQC|9FqAzH?@B#jazo0MTIztnYGRd5C_T{X-_gd%2pD!x_PT@)t7KS7;CXObN#jzw} z$VnVe!oZMPPAJc?I-Qg_C2?B7IPdvhcu^pp9-I)+uGPw}!1giEcW*VG7v12VQ>@a{ zF;*)%)d?r?l-+V_;Zv`!VpCpa%Bftd`Ezbi_iBDYK$apa6c|X4J#*%qT-EU_x$!XY z{7PYTu-zvhJpQBnXV_0Y3>0+RRfbtp`ikF{Ramg#yl7xPXfmF5xn0%L3U=#B0~?ABl;2qewxhvB2*1 z=;k_`VQuXl2<%F?qZM!fTlkjM7XyXCHm=)g<+zhi=tG|%K1SgkT#d+SU?nBAWY*Rn z4ll#Z*bHfpmyw{c%;#Whi|DcSUah=@#DXrG=v&ZN<9V%#UAF#4`Bs}zgxCv)Xs$L} zkRy6_#7G${c^S`}wrR^Hbf*m493Dxe^pwJ%TripcGo`c82R0ms8gdG|xh9}<2uV&X zveLnb&9M*jbe*G)(z?UENpv$mg~#ZHi$2U?AAIb`3+B$_2wtHdix|K=?oA9v#7z^s z8;^Lqi#7IOnpPL7U4%)b9!5!Bi&k~oL!Z*(J!^DPCyQu(*voEhyk@=q&{!u+Ee{g! t5Hkx%$W_WBB@Rm*5fc4E5Talv_21A{D6uXiF%V?{zgUc~nGi7y{snyT2&4c2 diff --git a/leetcode/out/production/solution/ZigzagIterator.class b/leetcode/out/production/solution/ZigzagIterator.class deleted file mode 100644 index bdbbde4b418ed59c866dd982e3143e54463d9c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1847 zcma)7OLN;)6#lLyTZyAQYlpUZKrl&dC)7=#f!1l-Qrci}Qd*Z3mkmmyaaH`t$a1FX zl41A}EZJnkhMAO%Vd$`iJ->wwh3`lHZ{MiE2Sz*-a` zWCw8u*9@#jd0!tw7&qj&DaQw*yCu|za@;m>X9&aCFz`_nqsR&Kv1mRqkTf?vI>I*r&P7PhHEQid(>-Pd^<`@R<^38Os?wLCELxe z^QRE0WEAe?{|4 zl!hq8l3(<=WPNR!<4_38#nQ%KF;ZCQmGuXtFkJAg-LE#SeZO4>78O#jWbN<+vRQ(fhVHJ$WR(-3TOGvvPI>qO)IM*0LQ{R=|H6KKz&r^CM@T+|i|MSZDo zg2<1w(J;$%f)Ribp7K%}#p@X3pAmvMyywUX|E8Z`s067H-lA0QKsOKNQwhvd7NA_f z*Wheh*p7KeXtTPwx%6UPTh-(G%=bty#r2h|;d9|842ACyOCLiQZa|@l!4MvPqpPET z{uIQzk9d+b!tYCrd>k3lmvQz#)G_uWMPy>NO0;vlg-T>;4Q32eWX7e)aq%HD!SaqU?1$06r2F&_3>%a=3xo6&2QEY>q$JQ?CM8Ak)AhG}h*s4gC45kLN?{wkWsDO+P5wX({Rp}y gxPpa=_!bxZ{1RDKC}^@o4kI*nLxNl(6T;Ph0cBQ%_5c6? diff --git a/leetcode/out/production/solution/system/DesignTinyURL.class b/leetcode/out/production/solution/system/DesignTinyURL.class deleted file mode 100644 index 7f0d0150cfa27bdf8afbf64da27602cb3a42ed49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmZvWy^6w65QWdg{AkRoh-|-|TA0Sp#l~f;px|GB6EAut-arxsAInOx@Bw@%*-6+& za0U+dd^6`VkLT?UV2GBB3O*b(95e~`x6&#f6Dr-_nqW?njU+S!rRDT^2xYnyVa%i* zB$0^MB2|U|hi1N08R0X?&RH%G{*TPmRxg!4ujavs;4YG58p&T({_rv#?8QlVFkulo z@8X13vEs)&vA?a0E7c}#Nj#R7#KHr3C^1(o%p@oG zd^0C^Uhl^fzz{7L6*L?)9ry%$tWs4@2$gPcLolb=RucSBrE+mTMKWKDC}GkLvsfe> zkt^+g&@2zCAT+|_T9on>%+p;qBDkyUoX2vebg-u3;3zJ_g9(dJ|63-s^dv|`x(}Ao uQN|@YF!(@S#LW>_n_ckrfYrZ)ZVU`KtTtnCpvvlf-xg|c+3{Db2D}eW>@XPs From 30005133c13a85d9a5d7c8cfd8e5a9bdeea8b7ef Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 16 Sep 2018 07:32:08 +0800 Subject: [PATCH 23/96] fd --- leetcode/solution/src/HouseRobberIII.java | 24 +++++++++++++++++++ leetcode/src/Main.java | 28 +++++++++++------------ 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/leetcode/solution/src/HouseRobberIII.java b/leetcode/solution/src/HouseRobberIII.java index 2bf4931..6e0cc3d 100644 --- a/leetcode/solution/src/HouseRobberIII.java +++ b/leetcode/solution/src/HouseRobberIII.java @@ -1,5 +1,8 @@ public class HouseRobberIII { + /** + * 效率堪忧,耗时1000ms + */ public int rob(TreeNode root) { return rob(root, true); } @@ -19,4 +22,25 @@ private int rob(TreeNode root, boolean rob) { return rob(root.left, true) + rob(root.right, true); } } + + /** + * 优化写法如下,耗时1ms + */ + public int rob2(TreeNode root) { + int[] val = helper(root); + return Math.max(val[0], val[1]); + } + + private int[] helper(TreeNode node) { + if (node == null) { + return new int[]{0,0}; + } + int[] left = helper(node.left); + int[] right = helper(node.right); + int[] value = new int[2]; + value[0] = Math.max(left[0], left[1]) + Math.max(right[0], right[1]); + value[1] = node.val + left[0] + right[0]; + return value; + } + } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 197b822..a2dfd8e 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,21 +4,21 @@ public class Main { - public int kthSmallest(TreeNode root, int k) { - Stack stack = new Stack<>(); - while (!stack.isEmpty() || root != null) { - if (root != null) { - stack.push(root); - root = root.left; - } else { - root = stack.pop(); - if (--k == 0) { - return root.val; - } - root = root.right; - } + public int rob(TreeNode root) { + int[] val = helper(root); + return Math.max(val[0], val[1]); + } + + private int[] helper(TreeNode node) { + if (node == null) { + return new int[]{0,0}; } - return 0; + int[] left = helper(node.left); + int[] right = helper(node.right); + int[] value = new int[2]; + value[0] = Math.max(left[0], left[1]) + Math.max(right[0], right[1]); + value[1] = node.val + left[0] + right[0]; + return value; } public static void main(String[] args) { From 67fa6a36b86fbe70fcf85a43343beb46a9e8162b Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 16 Sep 2018 11:48:30 +0800 Subject: [PATCH 24/96] fd --- leetcode/solution/src/PathSumIII.java | 47 ++++++++++++++------------- leetcode/src/Main.java | 32 +++++++++++------- 2 files changed, 45 insertions(+), 34 deletions(-) diff --git a/leetcode/solution/src/PathSumIII.java b/leetcode/solution/src/PathSumIII.java index 81b78e7..50c85ef 100644 --- a/leetcode/solution/src/PathSumIII.java +++ b/leetcode/solution/src/PathSumIII.java @@ -1,3 +1,5 @@ +import java.util.HashMap; + public class PathSumIII { /** @@ -47,35 +49,34 @@ private void helper(TreeNode root, int sum, int[] count) { helper(root.right, sum - root.val, count); } - /* 如果要给路径打出来 - public List pathSum(TreeNode root, int sum) { - List result = new LinkedList<>(); - pathSum(root, sum, result, ""); - return result; + /** + * 更优化的写法,时间复杂度O(n) + * 和Two Sum较类似,都是算出从root到当前节点的和,target为两段和的差值 + */ + public int pathSum2(TreeNode root, int sum) { + HashMap map = new HashMap<>(); + map.put(0, 1); + + int[] count = new int[1]; + helper(root, sum, 0, map, count); + return count[0]; } - private void pathSum(TreeNode root, int sum, List list, String path) { - if (root == null) { + private void helper(TreeNode node, int target, int sum, HashMap map, int[] count) { + if (node == null) { return; } - pathSumWithRoot(root, sum, list, path); - - pathSum(root.left, sum, list, ""); - pathSum(root.right, sum, list, ""); - } - - private void pathSumWithRoot(TreeNode root, int sum, List list, String path) { - if (root == null) { - return; + sum += node.val; + if (map.containsKey(sum - target)) { + count[0] += map.get(sum - target); } - String prefix = path.isEmpty() ? "" : path + "->"; + map.put(sum, map.getOrDefault(sum, 0) + 1); - if (root.val == sum) { - list.add(prefix + root.val); - } - pathSumWithRoot(root.left, sum - root.val, list, prefix + root.val); - pathSumWithRoot(root.right, sum - root.val, list, prefix + root.val); - }*/ + helper(node.left, target, sum, map, count); + helper(node.right, target, sum, map, count); + + map.put(sum, map.getOrDefault(sum, 0) - 1); + } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index a2dfd8e..2546ae0 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,21 +4,31 @@ public class Main { - public int rob(TreeNode root) { - int[] val = helper(root); - return Math.max(val[0], val[1]); + public int pathSum(TreeNode root, int sum) { + HashMap map = new HashMap<>(); + map.put(0, 1); + + int[] count = new int[1]; + helper(root, sum, 0, map, count); + return count[0]; } - private int[] helper(TreeNode node) { + private void helper(TreeNode node, int target, int sum, HashMap map, int[] count) { if (node == null) { - return new int[]{0,0}; + return; + } + + sum += node.val; + if (map.containsKey(sum - target)) { + count[0] += map.get(sum - target); } - int[] left = helper(node.left); - int[] right = helper(node.right); - int[] value = new int[2]; - value[0] = Math.max(left[0], left[1]) + Math.max(right[0], right[1]); - value[1] = node.val + left[0] + right[0]; - return value; + + map.put(sum, map.getOrDefault(sum, 0) + 1); + + helper(node.left, target, sum, map, count); + helper(node.right, target, sum, map, count); + + map.put(sum, map.getOrDefault(sum, 0) - 1); } public static void main(String[] args) { From 1816a9f8a7bdbb3afde72bceae5cc059dfc25ff7 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 18 Sep 2018 15:54:44 +0800 Subject: [PATCH 25/96] fd --- README.md | 1 + .../solution/src/ConvertBSTToGreaterTree.java | 26 ++++++++++++ leetcode/src/Main.java | 40 ++++++++----------- 3 files changed, 43 insertions(+), 24 deletions(-) create mode 100644 leetcode/solution/src/ConvertBSTToGreaterTree.java diff --git a/README.md b/README.md index 3d0edaf..9b303af 100644 --- a/README.md +++ b/README.md @@ -370,6 +370,7 @@ |524|[Longest Word in Dictionary through Deleting](https://leetcode.com/problems/longest-word-in-dictionary-through-deleting/)| [Java](leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java)||| |526|[Beautiful Arrangement](https://leetcode.com/problems/beautiful-arrangement/)| [Java](leetcode/solution/src/BeautifulArrangement.java)|80|| |535|[Encode and Decode TinyURL](https://leetcode.com/problems/encode-and-decode-tinyurl/)| [Java](leetcode/solution/src/EncodeAndDecodeTinyURL.java)|100|| +|538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/)|[Java](leetcode/solution/src/ConvertBSTToGreaterTree.java)|100|| |541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](leetcode/solution/src/ReverseStringII.java)|100|| |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/)|[Java](leetcode/solution/src/DiameterOfBinaryTree.java)|80|这题易错| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| diff --git a/leetcode/solution/src/ConvertBSTToGreaterTree.java b/leetcode/solution/src/ConvertBSTToGreaterTree.java new file mode 100644 index 0000000..f9fe841 --- /dev/null +++ b/leetcode/solution/src/ConvertBSTToGreaterTree.java @@ -0,0 +1,26 @@ +import java.util.Stack; + +/** + * https://leetcode.com/articles/convert-bst-to-greater-tree/ + */ +public class ConvertBSTToGreaterTree { + + public TreeNode convertBST(TreeNode root) { + Stack stack = new Stack<>(); + int sum = 0; + TreeNode node = root; + while (!stack.isEmpty() || node != null) { + if (node != null) { + stack.push(node); + node = node.right; + } else { + node = stack.pop(); + int s = sum; + sum += node.val; + node.val += s; + node = node.left; + } + } + return root; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 2546ae0..7eded55 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,31 +4,23 @@ public class Main { - public int pathSum(TreeNode root, int sum) { - HashMap map = new HashMap<>(); - map.put(0, 1); - - int[] count = new int[1]; - helper(root, sum, 0, map, count); - return count[0]; - } - - private void helper(TreeNode node, int target, int sum, HashMap map, int[] count) { - if (node == null) { - return; - } - - sum += node.val; - if (map.containsKey(sum - target)) { - count[0] += map.get(sum - target); + public TreeNode convertBST(TreeNode root) { + Stack stack = new Stack<>(); + int sum = 0; + TreeNode node = root; + while (!stack.isEmpty() || node != null) { + if (node != null) { + stack.push(node); + node = node.right; + } else { + node = stack.pop(); + int s = sum; + sum += node.val; + node.val += s; + node = node.left; + } } - - map.put(sum, map.getOrDefault(sum, 0) + 1); - - helper(node.left, target, sum, map, count); - helper(node.right, target, sum, map, count); - - map.put(sum, map.getOrDefault(sum, 0) - 1); + return root; } public static void main(String[] args) { From 6324c1cb4717d4b5fc7f0df69e56fb027c868af4 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 18 Sep 2018 17:27:42 +0800 Subject: [PATCH 26/96] fd --- README.md | 1 + .../src/ConstructStringFromBinaryTree.java | 21 ++++++++++++++++ leetcode/src/Main.java | 25 +++++++------------ 3 files changed, 31 insertions(+), 16 deletions(-) create mode 100644 leetcode/solution/src/ConstructStringFromBinaryTree.java diff --git a/README.md b/README.md index 9b303af..66f4121 100644 --- a/README.md +++ b/README.md @@ -375,6 +375,7 @@ |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/)|[Java](leetcode/solution/src/DiameterOfBinaryTree.java)|80|这题易错| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| +|606|[Construct String from Binary Tree](https://leetcode.com/problems/construct-string-from-binary-tree/)|[Java](leetcode/solution/src/ConstructStringFromBinaryTree.java)|90|| |617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)|100|很简单| |637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](leetcode/solution/src/AverageOfLevelsInBinaryTree.java)|100|| |652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](leetcode/solution/src/FindDuplicateSubtrees.java)|70|开始还没思路| diff --git a/leetcode/solution/src/ConstructStringFromBinaryTree.java b/leetcode/solution/src/ConstructStringFromBinaryTree.java new file mode 100644 index 0000000..96747ce --- /dev/null +++ b/leetcode/solution/src/ConstructStringFromBinaryTree.java @@ -0,0 +1,21 @@ +/** + * https://leetcode.com/articles/construct-string-from-binary-tree/ + */ +public class ConstructStringFromBinaryTree { + + /** + * 左子树如果为空'()'是不能省略的 + * 右子树如果为空可以省略 + */ + public String tree2str(TreeNode t) { + if (t == null) { + return ""; + } + if (t.left == null && t.right == null) { + return t.val + ""; + } + String left = "(" + tree2str(t.left) + ")"; + String right = t.right != null ? "(" + tree2str(t.right) + ")" : ""; + return t.val + left + right; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 7eded55..a4ff9b7 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,23 +4,16 @@ public class Main { - public TreeNode convertBST(TreeNode root) { - Stack stack = new Stack<>(); - int sum = 0; - TreeNode node = root; - while (!stack.isEmpty() || node != null) { - if (node != null) { - stack.push(node); - node = node.right; - } else { - node = stack.pop(); - int s = sum; - sum += node.val; - node.val += s; - node = node.left; - } + public String tree2str(TreeNode t) { + if (t == null) { + return ""; } - return root; + if (t.left == null && t.right == null) { + return t.val + ""; + } + String left = "(" + tree2str(t.left) + ")"; + String right = t.right != null ? "(" + tree2str(t.right) + ")" : ""; + return t.val + left + right; } public static void main(String[] args) { From ba976d6f21b0774daa381a0ffbb52be1a8511e26 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 8 Oct 2018 08:11:40 +0800 Subject: [PATCH 27/96] fd --- README.md | 2 +- leetcode/common/src/Utils.java | 10 +++++ .../solution/src/InorderSuccessorInBST.java | 35 ++++++++++++++++-- leetcode/solution/src/PathSumII.java | 32 ++++++---------- .../solution/src/SumRootToLeafNumbers.java | 25 ++++++------- leetcode/solution/src/TwoSum.java | 18 ++++++++- leetcode/solution/src/TwoSumIII.java | 1 + leetcode/src/Main.java | 37 ++++++++++++++----- 8 files changed, 112 insertions(+), 48 deletions(-) create mode 100644 leetcode/common/src/Utils.java diff --git a/README.md b/README.md index 66f4121..80124ae 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ |126|[Word Ladder II](https://leetcode.com/problems/word-ladder-ii/)| [Java](leetcode/solution/src/WordLadderII.java)|| |127|[Word Ladder](https://leetcode.com/problems/word-ladder/)| [Java](leetcode/solution/src/WordLadder.java)|70|此题非常经典,务必连同ii多做几遍,将双端BFS吃透| |128|[Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/)| [Java](leetcode/solution/src/LongestConsecutiveSequence.java)|60| -|129|[Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/)| [Java](leetcode/solution/src/SumRootToLeafNumbers.java)|60|这题错了几次,多做几遍| +|129|[Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/)| [Java](leetcode/solution/src/SumRootToLeafNumbers.java)|100|| |130|[Surrounded Regions](https://leetcode.com/problems/surrounded-regions/)| [Java](leetcode/solution/src/SurroundedRegions.java)|65| |131|[Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning/)| [Java](leetcode/solution/src/PalindromePartitioning.java)|| |132|[Palindrome Partitioning II](https://leetcode.com/problems/palindrome-partitioning-ii/)| [Java](leetcode/solution/src/PalindromePartitioningII.java)|| diff --git a/leetcode/common/src/Utils.java b/leetcode/common/src/Utils.java new file mode 100644 index 0000000..fdedf69 --- /dev/null +++ b/leetcode/common/src/Utils.java @@ -0,0 +1,10 @@ +public class Utils { + + public static int max(int... val) { + int max = Integer.MIN_VALUE; + for (int k : val) { + max = Math.max(max, k); + } + return max; + } +} diff --git a/leetcode/solution/src/InorderSuccessorInBST.java b/leetcode/solution/src/InorderSuccessorInBST.java index 5e0a664..7a83661 100644 --- a/leetcode/solution/src/InorderSuccessorInBST.java +++ b/leetcode/solution/src/InorderSuccessorInBST.java @@ -30,9 +30,10 @@ public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { } /** - * p的下一个节点一定是比p大的,所以这里遍历时当p的值小于当前节点,则当前节点 - * 可作为备选,同时往左走。如果在遍历过程中遇到仍然比p大的,说明更接近p,则更新备选。 - * + * p的下一个节点一定是比p大的,所以如果p没有右子树,则结果是p的父节点,如果有右子树则是右子树中最小的节点。 + * 所以这里遍历时当p的值小于当前节点,则当前节点可作为备选,同时往左走。如果在遍历过程中遇到仍然比p大的,说明更接近p,则更新备选。 + * 如果遇到比p小的,就往右走 + *

* 有两点要注意, * 1, 首先res初始要为null,一个节点时,或root为null时,或p为最大节点时,res都没机会赋值 * 2, 当root迭代到等于p时,走哪个分支呢,为什么选root = root.right,假如root.right为空,则之前的res即可,否则 @@ -52,11 +53,39 @@ public TreeNode inorderSuccessor2(TreeNode root, TreeNode p) { return res; } + // 耗时2ms,简单的递归写法 + /* + public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { + if (root == null) { + return null; + } + if (root.val > p.val) { + TreeNode node = inorderSuccessor(root.left, p); + return node != null ? node : root; + } else { + return inorderSuccessor(root.right, p); + } + } + + public TreeNode predecessor(TreeNode root, TreeNode p) { + if (root == null) + return null; + + if (root.val >= p.val) { + return predecessor(root.left, p); + } else { + TreeNode right = predecessor(root.right, p); + return (right != null) ? right : root; + } + }*/ + /** * http://www.geeksforgeeks.org/?p=9999 * 给定Node,求其successor,步骤如下: * 1, 如果Node.right != null,则在Node.right中找最小的那个节点,即从Node.right开始,最左下角的节点 * 2, 如果Node.right == null,则不断往parent走,直到当前节点是其parent的左节点为止,其parent即为给定Node的successor + */ + /* private TreeNode inOrderSuccessor(TreeNode root, TreeNode node) { if (node.right != null) { return minValue(node.right); diff --git a/leetcode/solution/src/PathSumII.java b/leetcode/solution/src/PathSumII.java index 6841de4..8601018 100644 --- a/leetcode/solution/src/PathSumII.java +++ b/leetcode/solution/src/PathSumII.java @@ -1,3 +1,4 @@ +import java.util.ArrayList; import java.util.LinkedList; import java.util.List; @@ -5,34 +6,25 @@ public class PathSumII { public List> pathSum(TreeNode root, int sum) { List> result = new LinkedList<>(); - pathSum(root, sum, result, new LinkedList()); + helper(root, sum, result, new LinkedList<>()); return result; } - /** - * 这里一定要拷贝一份链表再加到result - * 此时path中已经包含了root,sum中还不包含root - */ - private void pathSum(TreeNode root, int sum, List> result, List list) { - if (root == null) { + private void helper(TreeNode node, int sum, List> result, List list) { + if (node == null) { return; } - list.add(root.val); + list.add(node.val); + sum -= node.val; - if (root.left == null && root.right == null && sum == root.val) { - result.add(new LinkedList<>(list)); - return; - } - - if (root.left != null) { - pathSum(root.left, sum - root.val, result, list); - list.remove(list.size() - 1); + if (node.left == null && node.right == null && sum == 0) { + result.add(new ArrayList<>(list)); + } else { + helper(node.left, sum, result, list); + helper(node.right, sum, result, list); } - if (root.right != null) { - pathSum(root.right, sum - root.val, result, list); - list.remove(list.size() - 1); - } + list.remove(list.size() - 1); } } diff --git a/leetcode/solution/src/SumRootToLeafNumbers.java b/leetcode/solution/src/SumRootToLeafNumbers.java index b0d3b82..6ffc49a 100644 --- a/leetcode/solution/src/SumRootToLeafNumbers.java +++ b/leetcode/solution/src/SumRootToLeafNumbers.java @@ -1,25 +1,24 @@ public class SumRootToLeafNumbers { - private int result; - public int sumNumbers(TreeNode root) { - sumNumbers(root, 0); - return result; + int[] res = new int[1]; + helper(root, 0, res); + return res[0]; } - private void sumNumbers(TreeNode root, int sum) { - if (root == null) { + private void helper(TreeNode node, int sum, int[] res) { + if (node == null) { return; } - sum = sum * 10 + root.val; + int n = sum * 10 + node.val; - if (root.left == null && root.right == null) { - result += sum; - return; + if (node.left == null && node.right == null) { + res[0] += n; + } else { + helper(node.left, n, res); + helper(node.right, n, res); } - - sumNumbers(root.left, sum); - sumNumbers(root.right, sum); } + } diff --git a/leetcode/solution/src/TwoSum.java b/leetcode/solution/src/TwoSum.java index 31e7692..a813858 100644 --- a/leetcode/solution/src/TwoSum.java +++ b/leetcode/solution/src/TwoSum.java @@ -7,7 +7,7 @@ public class TwoSum { /** * 如果符合条件的不止一组呢?则找到一组就从map删除一组 - * @return + * 要注意排除index != i */ public int[] twoSum(int[] nums, int target) { HashMap map = new HashMap<>(); @@ -24,4 +24,20 @@ public int[] twoSum(int[] nums, int target) { } return null; } + + /** + * 只循环一轮 + * 要注意map.put要放在for末尾,对于case[3, 3], target=6的情况,如果放在开头会覆盖第一个3 + */ + public int[] twoSum2(int[] nums, int target) { + HashMap map = new HashMap<>(); + for (int i = 0; i < nums.length; i++) { + int k = map.getOrDefault(target - nums[i], -1); + if (k >= 0 && k != i) { + return new int[] {i, k}; + } + map.put(nums[i], i); + } + return null; + } } diff --git a/leetcode/solution/src/TwoSumIII.java b/leetcode/solution/src/TwoSumIII.java index eda30b5..d385382 100644 --- a/leetcode/solution/src/TwoSumIII.java +++ b/leetcode/solution/src/TwoSumIII.java @@ -2,6 +2,7 @@ /** * 支持相同数存在 + * 如果需要find快,则每次add时都要遍历map中所有key,更新sum的map */ public class TwoSumIII { diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index a4ff9b7..bba5cab 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -1,21 +1,38 @@ -import sun.plugin2.os.windows.FLASHWINFO; - import java.util.*; public class Main { - public String tree2str(TreeNode t) { - if (t == null) { - return ""; + class TwoSum { + + HashMap map; + + /** Initialize your data structure here. */ + public TwoSum() { + map = new HashMap<>(); } - if (t.left == null && t.right == null) { - return t.val + ""; + + /** Add the number to an internal data structure.. */ + public void add(int number) { + map.put(number, map.getOrDefault(number, 0) + 1); + } + + /** Find if there exists any pair of numbers which sum is equal to the value. */ + public boolean find(int value) { + for (int k : map.keySet()) { + int n = map.getOrDefault(value - k, -1); + if (value - k != k && n > 0) { + return true; + } + if (value - k == k && n > 1) { + return true; + } + } + return false; } - String left = "(" + tree2str(t.left) + ")"; - String right = t.right != null ? "(" + tree2str(t.right) + ")" : ""; - return t.val + left + right; } public static void main(String[] args) { + int[] res = twoSum(new int[]{3,2,3}, 6); + System.out.println(String.format("%d - %d", res[0], res[1])); } } From 8493a3d2dc4a7a865aece0fdb6ea332041e0c89c Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 29 Oct 2018 09:09:46 +0800 Subject: [PATCH 28/96] fd --- .../solution/src/InorderSuccessorInBST.java | 41 ++++------ leetcode/solution/src/LRUCache.java | 64 ++++++++++++++++ leetcode/solution/src/TwoSum.java | 30 +------- leetcode/src/Main.java | 75 +++++++++++++------ 4 files changed, 137 insertions(+), 73 deletions(-) create mode 100644 leetcode/solution/src/LRUCache.java diff --git a/leetcode/solution/src/InorderSuccessorInBST.java b/leetcode/solution/src/InorderSuccessorInBST.java index 7a83661..dc0e56d 100644 --- a/leetcode/solution/src/InorderSuccessorInBST.java +++ b/leetcode/solution/src/InorderSuccessorInBST.java @@ -29,32 +29,8 @@ public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { return null; } + // 耗时2ms,简单的递归写法,更容易理解 /** - * p的下一个节点一定是比p大的,所以如果p没有右子树,则结果是p的父节点,如果有右子树则是右子树中最小的节点。 - * 所以这里遍历时当p的值小于当前节点,则当前节点可作为备选,同时往左走。如果在遍历过程中遇到仍然比p大的,说明更接近p,则更新备选。 - * 如果遇到比p小的,就往右走 - *

- * 有两点要注意, - * 1, 首先res初始要为null,一个节点时,或root为null时,或p为最大节点时,res都没机会赋值 - * 2, 当root迭代到等于p时,走哪个分支呢,为什么选root = root.right,假如root.right为空,则之前的res即可,否则 - * 下一个迭代肯定走到root.val > p.val分支中,更新res。 - */ - // 耗时4ms - public TreeNode inorderSuccessor2(TreeNode root, TreeNode p) { - TreeNode res = null; - while (root != null) { - if (root.val > p.val) { - res = root; - root = root.left; - } else { - root = root.right; - } - } - return res; - } - - // 耗时2ms,简单的递归写法 - /* public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { if (root == null) { return null; @@ -79,6 +55,21 @@ public TreeNode predecessor(TreeNode root, TreeNode p) { } }*/ + // 给上面的递归换成迭代写法 + // 耗时4ms + public TreeNode inorderSuccessor2(TreeNode root, TreeNode p) { + TreeNode res = null; + while (root != null) { + if (root.val > p.val) { + res = root; + root = root.left; + } else { + root = root.right; + } + } + return res; + } + /** * http://www.geeksforgeeks.org/?p=9999 * 给定Node,求其successor,步骤如下: diff --git a/leetcode/solution/src/LRUCache.java b/leetcode/solution/src/LRUCache.java new file mode 100644 index 0000000..69b9695 --- /dev/null +++ b/leetcode/solution/src/LRUCache.java @@ -0,0 +1,64 @@ +import java.util.HashMap; + +public class LRUCache { + + private Node mHead; + private HashMap mMap; + private int mCapacity; + + public LRUCache(int capacity) { + mMap = new HashMap<>(); + mCapacity = capacity; + mHead = new Node(0, 0); + } + + public int get(int key) { + if (!mMap.containsKey(key)) { + return -1; + } + Node node = mMap.get(key); + node.remove(); + node.add(mHead); + return node.val; + } + + public void put(int key, int value) { + Node node = mMap.get(key); + if (node == null) { + node = new Node(key, value); + mMap.put(key, node); + } else { + node.val = value; + node.remove(); + } + node.add(mHead); + if (mMap.size() > mCapacity) { + Node prev = mHead.prev; + prev.remove(); + mMap.remove(prev.key); + } + } + + class Node { + Node prev, next; + int key, val; + + Node(int key, int val) { + this.key = key; + this.val = val; + prev = next = this; + } + + void remove() { + prev.next = next; + next.prev = prev; + } + + void add(Node head) { + next = head.next; + head.next.prev = this; + prev = head; + head.next = this; + } + } +} diff --git a/leetcode/solution/src/TwoSum.java b/leetcode/solution/src/TwoSum.java index a813858..44ff8e6 100644 --- a/leetcode/solution/src/TwoSum.java +++ b/leetcode/solution/src/TwoSum.java @@ -1,40 +1,16 @@ import java.util.HashMap; -/** - * https://leetcode.com/articles/two-sum/ - */ public class TwoSum { /** - * 如果符合条件的不止一组呢?则找到一组就从map删除一组 - * 要注意排除index != i - */ - public int[] twoSum(int[] nums, int target) { - HashMap map = new HashMap<>(); - for (int i = 0; i < nums.length; i++) { - map.put(nums[i], i); - } - for (int i = 0; i < nums.length; i++) { - Integer index = map.get(target - nums[i]); - if (index != null && index != i) { - return new int[] { - i, index - }; - } - } - return null; - } - - /** - * 只循环一轮 + * one pass * 要注意map.put要放在for末尾,对于case[3, 3], target=6的情况,如果放在开头会覆盖第一个3 */ public int[] twoSum2(int[] nums, int target) { HashMap map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { - int k = map.getOrDefault(target - nums[i], -1); - if (k >= 0 && k != i) { - return new int[] {i, k}; + if (map.containsKey(target - nums[i])) { + return new int[] {map.get(target - nums[i]), i}; } map.put(nums[i], i); } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index bba5cab..7c7b59f 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,37 +2,70 @@ public class Main { - class TwoSum { + class LRUCache { - HashMap map; + class Node { + Node prev, next; + int key, val; - /** Initialize your data structure here. */ - public TwoSum() { - map = new HashMap<>(); + Node(int key, int val) { + this.key = key; + this.val = val; + prev = next = this; + } + + void remove() { + prev.next = next; + next.prev = prev; + } + + void add(Node head) { + next = head.next; + head.next.prev = this; + prev = head; + head.next = this; + } } - /** Add the number to an internal data structure.. */ - public void add(int number) { - map.put(number, map.getOrDefault(number, 0) + 1); + private Node mHead; + private HashMap mMap; + private int mCapacity; + + public LRUCache(int capacity) { + mMap = new HashMap<>(); + mCapacity = capacity; + mHead = new Node(0, 0); } - /** Find if there exists any pair of numbers which sum is equal to the value. */ - public boolean find(int value) { - for (int k : map.keySet()) { - int n = map.getOrDefault(value - k, -1); - if (value - k != k && n > 0) { - return true; - } - if (value - k == k && n > 1) { - return true; - } + public int get(int key) { + if (!mMap.containsKey(key)) { + return -1; + } + Node node = mMap.get(key); + node.remove(); + node.add(mHead); + return node.val; + } + + public void put(int key, int value) { + Node node = mMap.get(key); + if (node == null) { + node = new Node(key, value); + mMap.put(key, node); + } else { + node.val = value; + node.remove(); + } + node.add(mHead); + if (mMap.size() > mCapacity) { + Node prev = mHead.prev; + prev.remove(); + mMap.remove(prev.key); } - return false; } } public static void main(String[] args) { - int[] res = twoSum(new int[]{3,2,3}, 6); - System.out.println(String.format("%d - %d", res[0], res[1])); + } } From 4a2da8fde603775ddc3e933366e9d9139b1c1aa3 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 29 Oct 2018 17:03:35 +0800 Subject: [PATCH 29/96] fd --- .../solution/src/MedianOfTwoSortedArrays.java | 2 +- leetcode/src/Main.java | 85 +++++++------------ 2 files changed, 30 insertions(+), 57 deletions(-) diff --git a/leetcode/solution/src/MedianOfTwoSortedArrays.java b/leetcode/solution/src/MedianOfTwoSortedArrays.java index 982d443..1edb615 100644 --- a/leetcode/solution/src/MedianOfTwoSortedArrays.java +++ b/leetcode/solution/src/MedianOfTwoSortedArrays.java @@ -24,7 +24,7 @@ private double findKth(int[] nums1, int start1, int end1, int[] nums2, int start if (len1 > len2) { return findKth(nums2, start2, end2, nums1, start1, end1, k); } else if (len1 == 0) { - return nums2[k - 1]; + return nums2[start2 + k - 1]; } else if (k == 1) { return Math.min(nums1[start1], nums2[start2]); } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 7c7b59f..d428413 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,69 +2,42 @@ public class Main { - class LRUCache { - - class Node { - Node prev, next; - int key, val; - - Node(int key, int val) { - this.key = key; - this.val = val; - prev = next = this; - } - - void remove() { - prev.next = next; - next.prev = prev; - } - - void add(Node head) { - next = head.next; - head.next.prev = this; - prev = head; - head.next = this; - } + public double findMedianSortedArrays(int[] nums1, int[] nums2) { + int len1 = nums1.length; + int len2 = nums2.length; + int total = len1 + len2; + if (total % 2 == 0) { + return (findKth(nums1, nums2, 0, len1 - 1, 0, len2 - 1, total/2) + + findKth(nums1, nums2, 0, len1 - 1, 0, len2 - 1, total/2 + 1))/2.0f; + } else { + return findKth(nums1, nums2, 0, len1 - 1, 0, len2 - 1, total/2 + 1); } + } - private Node mHead; - private HashMap mMap; - private int mCapacity; - - public LRUCache(int capacity) { - mMap = new HashMap<>(); - mCapacity = capacity; - mHead = new Node(0, 0); + public double findKth(int[] nums1, int[] nums2, int start1, int end1, int start2, int end2, int k) { + int len1 = end1 - start1 + 1; + int len2 = end2 - start2 + 1; + if (len1 > len2) { + return findKth(nums2, nums1, start2, end2, start1, end1, k); } - - public int get(int key) { - if (!mMap.containsKey(key)) { - return -1; - } - Node node = mMap.get(key); - node.remove(); - node.add(mHead); - return node.val; + if (len1 == 0) { + return nums2[start2 + k - 1]; } - - public void put(int key, int value) { - Node node = mMap.get(key); - if (node == null) { - node = new Node(key, value); - mMap.put(key, node); - } else { - node.val = value; - node.remove(); - } - node.add(mHead); - if (mMap.size() > mCapacity) { - Node prev = mHead.prev; - prev.remove(); - mMap.remove(prev.key); - } + if (k == 1) { + return Math.min(nums1[start1], nums2[start2]); + } + int ia = Math.min(k/2, len1); + int ib = k - ia; + if (nums1[start1 + ia - 1] > nums2[start2 + ib - 1]) { + return findKth(nums1, nums2, start1, end1, start2 + ib, end2, k - ib); + } else if (nums1[start1 + ia - 1] < nums2[start2 + ib - 1]) { + return findKth(nums1, nums2, start1 + ia, end1, start2, end2, k - ia); + } else { + return nums1[start1 + ia - 1]; } } + public static void main(String[] args) { } From 97976863ed74d4d6797d91dd0185a7e36457361b Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 29 Oct 2018 17:30:30 +0800 Subject: [PATCH 30/96] fd --- leetcode/solution/src/ValidParentheses.java | 38 ++++++------- leetcode/src/Main.java | 60 ++++++++++----------- 2 files changed, 43 insertions(+), 55 deletions(-) diff --git a/leetcode/solution/src/ValidParentheses.java b/leetcode/solution/src/ValidParentheses.java index d8d0f1a..86ef6f5 100644 --- a/leetcode/solution/src/ValidParentheses.java +++ b/leetcode/solution/src/ValidParentheses.java @@ -3,40 +3,34 @@ */ public class ValidParentheses { - // 耗时5ms + // 耗时4ms public boolean isValid(String s) { - char[] stack = new char[s.length()]; - int top = -1; - - for (char c : s.toCharArray()) { - switch (c) { + int[] stack = new int[s.length()]; + int index = 0; + for (int i = 0; i < s.length(); i++) { + switch (s.charAt(i)) { + case '(': + case '[': + case '{': + stack[index++] = i; + break; case ')': - if (top >= 0 && stack[top] == '(') { - top--; - } else { + if (index == 0 || s.charAt(stack[--index]) != '(') { return false; } break; - case '}': - if (top >= 0 && stack[top] == '{') { - top--; - } else { + case ']': + if (index == 0 || s.charAt(stack[--index]) != '[') { return false; } break; - case ']': - if (top >= 0 && stack[top] == '[') { - top--; - } else { + case '}': + if (index == 0 || s.charAt(stack[--index]) != '{') { return false; } break; - default: - stack[++top] = c; - break; } } - - return top < 0; + return index == 0; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index d428413..a109740 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,42 +2,36 @@ public class Main { - public double findMedianSortedArrays(int[] nums1, int[] nums2) { - int len1 = nums1.length; - int len2 = nums2.length; - int total = len1 + len2; - if (total % 2 == 0) { - return (findKth(nums1, nums2, 0, len1 - 1, 0, len2 - 1, total/2) + - findKth(nums1, nums2, 0, len1 - 1, 0, len2 - 1, total/2 + 1))/2.0f; - } else { - return findKth(nums1, nums2, 0, len1 - 1, 0, len2 - 1, total/2 + 1); + public boolean isValid(String s) { + int[] stack = new int[s.length()]; + int index = 0; + for (int i = 0; i < s.length(); i++) { + switch (s.charAt(i)) { + case '(': + case '[': + case '{': + stack[index++] = i; + break; + case ')': + if (index == 0 || s.charAt(stack[--index]) != '(') { + return false; + } + break; + case ']': + if (index == 0 || s.charAt(stack[--index]) != '[') { + return false; + } + break; + case '}': + if (index == 0 || s.charAt(stack[--index]) != '{') { + return false; + } + break; + } } + return index == 0; } - public double findKth(int[] nums1, int[] nums2, int start1, int end1, int start2, int end2, int k) { - int len1 = end1 - start1 + 1; - int len2 = end2 - start2 + 1; - if (len1 > len2) { - return findKth(nums2, nums1, start2, end2, start1, end1, k); - } - if (len1 == 0) { - return nums2[start2 + k - 1]; - } - if (k == 1) { - return Math.min(nums1[start1], nums2[start2]); - } - int ia = Math.min(k/2, len1); - int ib = k - ia; - if (nums1[start1 + ia - 1] > nums2[start2 + ib - 1]) { - return findKth(nums1, nums2, start1, end1, start2 + ib, end2, k - ib); - } else if (nums1[start1 + ia - 1] < nums2[start2 + ib - 1]) { - return findKth(nums1, nums2, start1 + ia, end1, start2, end2, k - ia); - } else { - return nums1[start1 + ia - 1]; - } - } - - public static void main(String[] args) { } From 27260633e7292a769ae498b5e39832e52a8c2277 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 29 Oct 2018 18:24:35 +0800 Subject: [PATCH 31/96] fd --- .../src/CopyListWithRandomPointer.java | 33 ++++---- .../src/LongestPalindromicSubstring.java | 27 +++--- leetcode/src/Main.java | 84 +++++++++++++------ 3 files changed, 89 insertions(+), 55 deletions(-) diff --git a/leetcode/solution/src/CopyListWithRandomPointer.java b/leetcode/solution/src/CopyListWithRandomPointer.java index 9b4615d..19c0f75 100644 --- a/leetcode/solution/src/CopyListWithRandomPointer.java +++ b/leetcode/solution/src/CopyListWithRandomPointer.java @@ -5,29 +5,26 @@ public class CopyListWithRandomPointer { public RandomListNode copyRandomList(RandomListNode head) { - for (RandomListNode node = head; node != null; ) { - RandomListNode next = node.next; - - RandomListNode copy = new RandomListNode(node.label); - copy.next = next; - node.next = copy; - node = next; + for (RandomListNode p = head; p != null; ) { + RandomListNode next = p.next; + RandomListNode temp = new RandomListNode(p.label); + temp.next = p.next; + p.next = temp; + p = next; } - - for (RandomListNode node = head; node != null; ) { - node.next.random = node.random != null ? node.random.next : null; - node = node.next.next; + for (RandomListNode p = head; p != null; ) { + if (p.random != null) { + p.next.random = p.random.next; + } + p = p.next.next; } - RandomListNode dummy = new RandomListNode(0), cur = dummy; - for (RandomListNode node = head; node != null; ) { - cur.next = node.next; + for (RandomListNode p = head; p != null; ) { + cur.next = p.next; cur = cur.next; - - node.next = node.next.next; - node = node.next; + p.next = p.next.next; + p = p.next; } - return dummy.next; } } diff --git a/leetcode/solution/src/LongestPalindromicSubstring.java b/leetcode/solution/src/LongestPalindromicSubstring.java index 2d35d2f..9c2d555 100644 --- a/leetcode/solution/src/LongestPalindromicSubstring.java +++ b/leetcode/solution/src/LongestPalindromicSubstring.java @@ -5,21 +5,26 @@ public class LongestPalindromicSubstring { private int begin, maxLen; - // 耗时14ms,平均复杂度O(n) - public String longestPalindrome(String s) { + // 耗时11ms,平均复杂度O(n) + public String longestPalindrome(String s) { + int[] res = new int[2]; for (int i = 0; i < s.length(); i++) { - helper(s, i, i); - helper(s, i, i + 1); + helper(s, i - 1, i + 1, res); + helper(s, i, i + 1, res); } - return s.substring(begin, begin + maxLen); + return s.substring(res[1], res[1] + res[0]); } - private void helper(String s, int i, int j) { - for (; i >= 0 && j < s.length() && s.charAt(i) == s.charAt(j); i--, j++) ; - int len = j - i - 1; - if (len > maxLen) { - maxLen = len; - begin = i + 1; + private void helper(String s, int left, int right, int[] res) { + for ( ; left >= 0 && right < s.length(); left--, right++) { + if (s.charAt(left) != s.charAt(right)) { + break; + } + } + int len = --right - ++left + 1; + if (len > res[0]) { + res[0] = len; + res[1] = left; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index a109740..b50f433 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,37 +2,69 @@ public class Main { - public boolean isValid(String s) { - int[] stack = new int[s.length()]; - int index = 0; + public String longestPalindrome(String s) { + int[] res = new int[2]; for (int i = 0; i < s.length(); i++) { - switch (s.charAt(i)) { - case '(': - case '[': - case '{': - stack[index++] = i; - break; - case ')': - if (index == 0 || s.charAt(stack[--index]) != '(') { - return false; - } - break; - case ']': - if (index == 0 || s.charAt(stack[--index]) != '[') { - return false; - } - break; - case '}': - if (index == 0 || s.charAt(stack[--index]) != '{') { - return false; - } - break; + helper(s, i - 1, i + 1, res); + helper(s, i, i + 1, res); + } + return s.substring(res[1], res[1] + res[0]); + } + + private void helper(String s, int left, int right, int[] res) { + for ( ; left >= 0 && right < s.length(); left--, right++) { + if (s.charAt(left) != s.charAt(right)) { + break; } } - return index == 0; + int len = --right - ++left + 1; + if (len > res[0]) { + res[0] = len; + res[1] = left; + } } - public static void main(String[] args) { +// public static String longestPalindrome(String s) { +// if (s.length() == 0) { +// return ""; +// } +// int max = 0, idx = -1; +// for (int i = 0; i < s.length(); i++) { +// int len = findLen(s, i); +// if (len > max) { +// max = len; +// idx = i; +// } +// } +// if (max % 2 == 0) { +// return s.substring(idx - max / 2 + 1, idx + max / 2 + 1); +// } else { +// return s.substring(idx - max / 2, idx + max / 2 + 1); +// } +// } +// +// private static int findLen(String s, int index) { +// int len1 = 1; +// for (int i = 1; i <= s.length(); i++) { +// int i1 = index - i, i2 = index + i; +// if (i1 < 0 || i2 >= s.length() || s.charAt(i1) != s.charAt(i2)) { +// break; +// } +// len1 += 2; +// } +// int len2 = 0; +// for (int i = 0; i < s.length(); i++) { +// int i1 = index - i, i2 = index + i + 1; +// if (i1 < 0 || i2 >= s.length() || s.charAt(i1) != s.charAt(i2)) { +// break; +// } +// len2 += 2; +// } +// return Math.max(len1, len2); +// } + public static void main(String[] args) { + String s = longestPalindrome("cbbd"); + System.out.println(s); } } From 2b11bc62c99b66b850900781337c0c911568fcd0 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 30 Oct 2018 17:10:10 +0800 Subject: [PATCH 32/96] fd --- leetcode/solution/src/TrappingRainWater.java | 28 +++----- leetcode/src/Main.java | 70 ++++---------------- 2 files changed, 20 insertions(+), 78 deletions(-) diff --git a/leetcode/solution/src/TrappingRainWater.java b/leetcode/solution/src/TrappingRainWater.java index 004aae2..85e6a53 100644 --- a/leetcode/solution/src/TrappingRainWater.java +++ b/leetcode/solution/src/TrappingRainWater.java @@ -5,31 +5,19 @@ public class TrappingRainWater { // 耗时24ms public int trap(int[] height) { - int len = height.length; + int[] left = new int[height.length]; + int[] right = new int[height.length]; - if (len == 0) { - return 0; - } - - int[] left = new int[len]; - int[] right = new int[len]; - - left[0] = 0; - right[len - 1] = 0; - - for (int i = 1; i < len; i++) { + for (int i = 1; i < height.length; i++) { left[i] = Math.max(left[i - 1], height[i - 1]); } - for (int i = len - 2; i>= 0; i--) { + for (int i = height.length - 2; i >= 0; i--) { right[i] = Math.max(right[i + 1], height[i + 1]); } - int sum = 0; - for (int i = 0; i < len; i++) { - int high = Math.min(left[i], right[i]); - if (high > height[i]) { - sum += high - height[i]; - } + int rain = 0; + for (int i = 1; i < height.length - 1; i++) { + rain += Math.max(0, Math.min(left[i], right[i]) - height[i]); } - return sum; + return rain; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index b50f433..7da99e7 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,69 +2,23 @@ public class Main { - public String longestPalindrome(String s) { - int[] res = new int[2]; - for (int i = 0; i < s.length(); i++) { - helper(s, i - 1, i + 1, res); - helper(s, i, i + 1, res); - } - return s.substring(res[1], res[1] + res[0]); - } + public int trap(int[] height) { + int[] left = new int[height.length]; + int[] right = new int[height.length]; - private void helper(String s, int left, int right, int[] res) { - for ( ; left >= 0 && right < s.length(); left--, right++) { - if (s.charAt(left) != s.charAt(right)) { - break; - } + for (int i = 1; i < height.length; i++) { + left[i] = Math.max(left[i - 1], height[i - 1]); } - int len = --right - ++left + 1; - if (len > res[0]) { - res[0] = len; - res[1] = left; + for (int i = height.length - 2; i >= 0; i--) { + right[i] = Math.max(right[i + 1], height[i + 1]); } + int rain = 0; + for (int i = 1; i < height.length - 1; i++) { + rain += Math.max(0, Math.min(left[i], right[i]) - height[i]); + } + return rain; } -// public static String longestPalindrome(String s) { -// if (s.length() == 0) { -// return ""; -// } -// int max = 0, idx = -1; -// for (int i = 0; i < s.length(); i++) { -// int len = findLen(s, i); -// if (len > max) { -// max = len; -// idx = i; -// } -// } -// if (max % 2 == 0) { -// return s.substring(idx - max / 2 + 1, idx + max / 2 + 1); -// } else { -// return s.substring(idx - max / 2, idx + max / 2 + 1); -// } -// } -// -// private static int findLen(String s, int index) { -// int len1 = 1; -// for (int i = 1; i <= s.length(); i++) { -// int i1 = index - i, i2 = index + i; -// if (i1 < 0 || i2 >= s.length() || s.charAt(i1) != s.charAt(i2)) { -// break; -// } -// len1 += 2; -// } -// int len2 = 0; -// for (int i = 0; i < s.length(); i++) { -// int i1 = index - i, i2 = index + i + 1; -// if (i1 < 0 || i2 >= s.length() || s.charAt(i1) != s.charAt(i2)) { -// break; -// } -// len2 += 2; -// } -// return Math.max(len1, len2); -// } - public static void main(String[] args) { - String s = longestPalindrome("cbbd"); - System.out.println(s); } } From c46a5d67923930085e68779bd27b37c6e2f46ece Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 30 Oct 2018 18:29:42 +0800 Subject: [PATCH 33/96] fd --- .../solution/src/ContainerWithMostWater.java | 1 + leetcode/solution/src/ThreeSum.java | 7 +----- leetcode/src/Main.java | 24 ++++++++----------- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/leetcode/solution/src/ContainerWithMostWater.java b/leetcode/solution/src/ContainerWithMostWater.java index 440da17..75232b4 100644 --- a/leetcode/solution/src/ContainerWithMostWater.java +++ b/leetcode/solution/src/ContainerWithMostWater.java @@ -3,6 +3,7 @@ * 一种O(n)的方法是对于区间[left, right],假如height[left] < height[right],则我们可以认定[left, right - 1],[left, right - 2] ... * 都不会比[left, right]装的水更多。原因是木桶的短板没变,所以水平面不会变,但是宽度减小了。 * 所以我们要继续尝试的方向是从较短的一方推进,寄希望于其之后的板子能高一点 + * 如果两边一样高,那随便推进哪一边都行,因为假如之后还能装更多水,一定不会包含这两边任意一块。如果包含了,水量不会超过当前。 */ public class ContainerWithMostWater { diff --git a/leetcode/solution/src/ThreeSum.java b/leetcode/solution/src/ThreeSum.java index 64f9fc8..b1d1403 100644 --- a/leetcode/solution/src/ThreeSum.java +++ b/leetcode/solution/src/ThreeSum.java @@ -3,16 +3,11 @@ import java.util.List; /** - * TestCase - * [-4,-2,1,-5,-4,-4,4,-2,0,4,0,-2,3,1,-5,0] * 这题重要的是查重 + * 两重循环都要查重 */ public class ThreeSum { - /** - * 最底下那个for循环别给j < k掉了 - */ - // 耗时30ms public List> threeSum(int[] nums) { Arrays.sort(nums); diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 7da99e7..d6de467 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,21 +2,17 @@ public class Main { - public int trap(int[] height) { - int[] left = new int[height.length]; - int[] right = new int[height.length]; - - for (int i = 1; i < height.length; i++) { - left[i] = Math.max(left[i - 1], height[i - 1]); - } - for (int i = height.length - 2; i >= 0; i--) { - right[i] = Math.max(right[i + 1], height[i + 1]); - } - int rain = 0; - for (int i = 1; i < height.length - 1; i++) { - rain += Math.max(0, Math.min(left[i], right[i]) - height[i]); + public int maxArea(int[] height) { + int max = 0; + for (int i = 0, j = height.length - 1; i < j; ) { + max = Math.max(max, Math.min(height[i], height[j]) * (j - i)); + if (height[i] < height[j]) { + i++; + } else { + j--; + } } - return rain; + return max; } public static void main(String[] args) { From d6bf5e79aa854c6cda99c86d655ab9bbae30d997 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 30 Oct 2018 20:38:52 +0800 Subject: [PATCH 34/96] fd --- leetcode/solution/src/LinkedListCycle.java | 5 +---- leetcode/solution/src/MaximumSubarray.java | 14 +++++-------- leetcode/src/Main.java | 24 ++++++++++++++-------- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/leetcode/solution/src/LinkedListCycle.java b/leetcode/solution/src/LinkedListCycle.java index a629027..2b6d823 100644 --- a/leetcode/solution/src/LinkedListCycle.java +++ b/leetcode/solution/src/LinkedListCycle.java @@ -1,9 +1,6 @@ -/** - * https://leetcode.com/articles/linked-list-cycle/ - */ - public class LinkedListCycle { + // 注意判空 public boolean hasCycle(ListNode head) { for (ListNode fast = head, slow = head; fast != null && fast.next != null; ) { slow = slow.next; diff --git a/leetcode/solution/src/MaximumSubarray.java b/leetcode/solution/src/MaximumSubarray.java index db0611a..2c7d279 100644 --- a/leetcode/solution/src/MaximumSubarray.java +++ b/leetcode/solution/src/MaximumSubarray.java @@ -2,27 +2,23 @@ public class MaximumSubarray { // dp[i]表示包含第i个元素时的最大和 public int maxSubArray(int[] nums) { - if (nums.length == 0) { - return 0; - } int[] dp = new int[nums.length]; int max = Integer.MIN_VALUE; for (int i = 0; i < nums.length; i++) { - dp[i] = nums[i]; - if (i > 0 && dp[i - 1] > 0) { - dp[i] += dp[i - 1]; - } + dp[i] = Math.max(i > 0 ? dp[i - 1] + nums[i] : nums[i], nums[i]); max = Math.max(max, dp[i]); } return max; } - public int maxSubArray2(int[] nums) { + /* 这里dp其实可以去掉,换成一个普通int变量即可 + public int maxSubArray(int[] nums) { int max = Integer.MIN_VALUE, prev = 0; for (int i = 0; i < nums.length; i++) { - prev = Math.max(nums[i], nums[i] + prev); + prev = Math.max(i > 0 ? prev + nums[i] : nums[i], nums[i]); max = Math.max(max, prev); } return max; } + */ } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index d6de467..7f8a690 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,15 +2,21 @@ public class Main { - public int maxArea(int[] height) { - int max = 0; - for (int i = 0, j = height.length - 1; i < j; ) { - max = Math.max(max, Math.min(height[i], height[j]) * (j - i)); - if (height[i] < height[j]) { - i++; - } else { - j--; - } + public int maxSubArray(int[] nums) { + int[] dp = new int[nums.length]; + int max = Integer.MIN_VALUE; + for (int i = 0; i < nums.length; i++) { + dp[i] = Math.max(i > 0 ? dp[i - 1] + nums[i] : nums[i], nums[i]); + max = Math.max(max, dp[i]); + } + return max; + } + + public int maxSubArray2(int[] nums) { + int max = Integer.MIN_VALUE, prev = 0; + for (int i = 0; i < nums.length; i++) { + prev = Math.max(i > 0 ? prev + nums[i] : nums[i], nums[i]); + max = Math.max(max, prev); } return max; } From 0b43489aa0ea6566e0117046fb925696bdd82aeb Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 1 Nov 2018 06:59:27 +0800 Subject: [PATCH 35/96] fd --- leetcode/solution/src/MergeKSortedList.java | 41 ++++++++++++++++++++- leetcode/src/Main.java | 41 ++++++++++++++------- 2 files changed, 68 insertions(+), 14 deletions(-) diff --git a/leetcode/solution/src/MergeKSortedList.java b/leetcode/solution/src/MergeKSortedList.java index 5cbdd6b..c046b9d 100644 --- a/leetcode/solution/src/MergeKSortedList.java +++ b/leetcode/solution/src/MergeKSortedList.java @@ -8,7 +8,7 @@ public class MergeKSortedList { // 耗时19ms - // 时间复杂度为O(knlgn) + // 时间复杂度为O(knlgn),空间复杂度O(k) /** * 这里要注意lists中可能有node为null */ @@ -39,4 +39,43 @@ public int compare(ListNode node1, ListNode node2) { return dummy.next; } + + /** + * 第二种方法 + * 时间复杂度O(Nlgk),空间O(l) + * 耗时10ms + */ + public ListNode mergeKLists2(ListNode[] lists) { + return helper(lists, 0, lists.length - 1); + } + + private ListNode helper(ListNode[] lists, int start, int end) { + if (start > end) { + return null; + } + if (start == end) { + return lists[start]; + } + int mid = start + (end - start) / 2; + ListNode l1 = helper(lists, start, mid); + ListNode l2 = helper(lists, mid + 1, end); + return mergeTwoLists(l1, l2); + } + + public ListNode mergeTwoLists(ListNode l1, ListNode l2) { + ListNode dummy = new ListNode(0); + ListNode p = l1, q = l2, cur = dummy; + for ( ; p != null && q != null; ) { + if (p.val < q.val) { + cur.next = p; + p = p.next; + } else { + cur.next = q; + q = q.next; + } + cur = cur.next; + } + cur.next = p != null ? p : q; + return dummy.next; + } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 7f8a690..8c0c1b9 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,23 +2,38 @@ public class Main { - public int maxSubArray(int[] nums) { - int[] dp = new int[nums.length]; - int max = Integer.MIN_VALUE; - for (int i = 0; i < nums.length; i++) { - dp[i] = Math.max(i > 0 ? dp[i - 1] + nums[i] : nums[i], nums[i]); - max = Math.max(max, dp[i]); + public ListNode mergeKLists(ListNode[] lists) { + return helper(lists, 0, lists.length - 1); + } + + private ListNode helper(ListNode[] lists, int start, int end) { + if (start > end) { + return null; + } + if (start == end) { + return lists[start]; } - return max; + int mid = start + (end - start) / 2; + ListNode l1 = helper(lists, start, mid); + ListNode l2 = helper(lists, mid + 1, end); + return mergeTwoLists(l1, l2); } - public int maxSubArray2(int[] nums) { - int max = Integer.MIN_VALUE, prev = 0; - for (int i = 0; i < nums.length; i++) { - prev = Math.max(i > 0 ? prev + nums[i] : nums[i], nums[i]); - max = Math.max(max, prev); + public ListNode mergeTwoLists(ListNode l1, ListNode l2) { + ListNode dummy = new ListNode(0); + ListNode p = l1, q = l2, cur = dummy; + for ( ; p != null && q != null; ) { + if (p.val < q.val) { + cur.next = p; + p = p.next; + } else { + cur.next = q; + q = q.next; + } + cur = cur.next; } - return max; + cur.next = p != null ? p : q; + return dummy.next; } public static void main(String[] args) { From 8c6c5164ace564b7d062589edd8fd4643fe22241 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 1 Nov 2018 07:10:40 +0800 Subject: [PATCH 36/96] fd --- .../src/ProductOfArrayExceptSelf.java | 22 +++++----- leetcode/src/Main.java | 40 +++++-------------- 2 files changed, 21 insertions(+), 41 deletions(-) diff --git a/leetcode/solution/src/ProductOfArrayExceptSelf.java b/leetcode/solution/src/ProductOfArrayExceptSelf.java index 50a1086..ca37575 100644 --- a/leetcode/solution/src/ProductOfArrayExceptSelf.java +++ b/leetcode/solution/src/ProductOfArrayExceptSelf.java @@ -1,20 +1,20 @@ public class ProductOfArrayExceptSelf { - // 耗时2ms + // 耗时1ms + /** + * 对于每个数,就是给其左边所有数乘一遍,再给其右边所有数乘一遍 + */ public int[] productExceptSelf(int[] nums) { - if (nums.length == 0) { - return null; + int[] res = new int[nums.length]; + int left = 1, right = 1; + for (int i = 0; i < nums.length; i++) { + res[i] = left; + left *= nums[i]; } - int[] result = new int[nums.length]; - result[0] = 1; - for (int i = 1; i < nums.length; i++) { - result[i] = nums[i - 1] * result[i - 1]; - } - int right = 1; for (int i = nums.length - 1; i >= 0; i--) { - result[i] *= right; + res[i] *= right; right *= nums[i]; } - return result; + return res; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 8c0c1b9..ef0e65e 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,38 +2,18 @@ public class Main { - public ListNode mergeKLists(ListNode[] lists) { - return helper(lists, 0, lists.length - 1); - } - - private ListNode helper(ListNode[] lists, int start, int end) { - if (start > end) { - return null; - } - if (start == end) { - return lists[start]; + public int[] productExceptSelf(int[] nums) { + int[] res = new int[nums.length]; + int left = 1, right = 1; + for (int i = 0; i < nums.length; i++) { + res[i] = left; + left *= nums[i]; } - int mid = start + (end - start) / 2; - ListNode l1 = helper(lists, start, mid); - ListNode l2 = helper(lists, mid + 1, end); - return mergeTwoLists(l1, l2); - } - - public ListNode mergeTwoLists(ListNode l1, ListNode l2) { - ListNode dummy = new ListNode(0); - ListNode p = l1, q = l2, cur = dummy; - for ( ; p != null && q != null; ) { - if (p.val < q.val) { - cur.next = p; - p = p.next; - } else { - cur.next = q; - q = q.next; - } - cur = cur.next; + for (int i = nums.length - 1; i >= 0; i--) { + res[i] *= right; + right *= nums[i]; } - cur.next = p != null ? p : q; - return dummy.next; + return res; } public static void main(String[] args) { From 5124ff24359f7f4f67365432c5883ff602863f30 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 1 Nov 2018 07:20:32 +0800 Subject: [PATCH 37/96] fd --- leetcode/solution/src/PalindromeNumber.java | 16 ++++++++++++++++ leetcode/src/Main.java | 17 +++++++---------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/leetcode/solution/src/PalindromeNumber.java b/leetcode/solution/src/PalindromeNumber.java index ce6e69d..2fd2171 100644 --- a/leetcode/solution/src/PalindromeNumber.java +++ b/leetcode/solution/src/PalindromeNumber.java @@ -1,5 +1,6 @@ public class PalindromeNumber { + // 耗时101ms public boolean isPalindrome(int x) { if (x < 0) { return false; @@ -16,4 +17,19 @@ public boolean isPalindrome(int x) { return true; } + + /** + * 直接给数倒过来看是否相等 + * 耗时103ms + */ + public boolean isPalindrome2(int x) { + if (x < 0) { + return false; + } + int n = 0, m = x; + for ( ; x > 0; x /= 10) { + n = n * 10 + x % 10; + } + return n == m; + } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index ef0e65e..f7f4870 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,18 +2,15 @@ public class Main { - public int[] productExceptSelf(int[] nums) { - int[] res = new int[nums.length]; - int left = 1, right = 1; - for (int i = 0; i < nums.length; i++) { - res[i] = left; - left *= nums[i]; + public boolean isPalindrome(int x) { + if (x < 0) { + return false; } - for (int i = nums.length - 1; i >= 0; i--) { - res[i] *= right; - right *= nums[i]; + int n = 0, m = x; + for ( ; x > 0; x /= 10) { + n = n * 10 + x % 10; } - return res; + return n == m; } public static void main(String[] args) { From edbc9bc72f0ba6d1b251f41f524a0d10a276442c Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 1 Nov 2018 07:35:35 +0800 Subject: [PATCH 38/96] fd --- .../src/LetterCombinationOfPhoneNumber.java | 50 ++++++------------- leetcode/src/Main.java | 30 ++++++++--- 2 files changed, 37 insertions(+), 43 deletions(-) diff --git a/leetcode/solution/src/LetterCombinationOfPhoneNumber.java b/leetcode/solution/src/LetterCombinationOfPhoneNumber.java index 2b0b899..853afbc 100644 --- a/leetcode/solution/src/LetterCombinationOfPhoneNumber.java +++ b/leetcode/solution/src/LetterCombinationOfPhoneNumber.java @@ -1,3 +1,4 @@ +import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; @@ -8,54 +9,31 @@ public class LetterCombinationOfPhoneNumber { * leetcode的测试用例中不包括包含"0"或"1"的情况 */ - private final String[] ARR = { + private static final String[] ARR = { "", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" }; - // 耗时3ms + // 耗时2ms public List letterCombinations(String digits) { - List list = new LinkedList<>(); - if (!digits.isEmpty()) { - helper(digits, 0, list, ""); + List res = new ArrayList<>(); + if (digits.length() == 0) { + return res; } - return list; + dfs(digits, new StringBuilder(), res, 0); + return res; } - private void helper(String digits, int start, List list, String s) { + private void dfs(String digits, StringBuilder sb, List res, int start) { if (start >= digits.length()) { - list.add(s); + res.add(sb.toString()); return; } + int n = digits.charAt(start) - '0'; for (char c : ARR[n].toCharArray()) { - helper(digits, start + 1, list, s + c); - } - } - - /** - * 非递归法,BFS,耗时5ms - */ - public List letterCombinations2(String digits) { - LinkedList queue = new LinkedList(); - if (digits.length() == 0) { - return queue; - } - - Queue next = new LinkedList<>(); - queue.add(""); - - for (int i = 0; i < digits.length() && !queue.isEmpty(); ) { - String s = queue.poll(); - int n = digits.charAt(i) - '0'; - for (char c : ARR[n].toCharArray()) { - next.add(s + c); - } - if (queue.isEmpty()) { - queue.addAll(next); - next.clear(); - i++; - } + sb.append(c); + dfs(digits, sb, res, start + 1); + sb.setLength(sb.length() - 1); } - return queue; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index f7f4870..27e4b8e 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,15 +2,31 @@ public class Main { - public boolean isPalindrome(int x) { - if (x < 0) { - return false; + private static final String[] ARR = { + "", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" + }; + + public List letterCombinations(String digits) { + List res = new ArrayList<>(); + if (digits.length() == 0) { + return res; } - int n = 0, m = x; - for ( ; x > 0; x /= 10) { - n = n * 10 + x % 10; + dfs(digits, new StringBuilder(), res, 0); + return res; + } + + private void dfs(String digits, StringBuilder sb, List res, int start) { + if (start >= digits.length()) { + res.add(sb.toString()); + return; + } + + int n = digits.charAt(start) - '0'; + for (char c : ARR[n].toCharArray()) { + sb.append(c); + dfs(digits, sb, res, start + 1); + sb.setLength(sb.length() - 1); } - return n == m; } public static void main(String[] args) { From 2f42d5a143f9ad36f1d802196281347b315397cd Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 1 Nov 2018 09:10:59 +0800 Subject: [PATCH 39/96] fd --- .../src/SearchInRotatedSortedArray.java | 8 +- leetcode/src/Main.java | 77 ++++++++++++++----- 2 files changed, 61 insertions(+), 24 deletions(-) diff --git a/leetcode/solution/src/SearchInRotatedSortedArray.java b/leetcode/solution/src/SearchInRotatedSortedArray.java index 492cc0f..75b7472 100644 --- a/leetcode/solution/src/SearchInRotatedSortedArray.java +++ b/leetcode/solution/src/SearchInRotatedSortedArray.java @@ -1,9 +1,9 @@ public class SearchInRotatedSortedArray { + /** - * TestCase - * [1, 2], 1/2/3 - * [2, 1], 2/1/3 - * [1], 1/2 + * 给各种情况考虑到位 + * 关键是判断范围时要先固定单调区间 + * 注意Case[3,1],1 */ public int search(int[] nums, int target) { int left = 0, right = nums.length - 1; diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 27e4b8e..2b7d053 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,31 +2,68 @@ public class Main { - private static final String[] ARR = { - "", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" - }; - - public List letterCombinations(String digits) { - List res = new ArrayList<>(); - if (digits.length() == 0) { - return res; + public int search(int[] nums, int target) { + int left = 0, right = nums.length - 1; + + while (left <= right) { + int mid = left + (right - left) / 2; + + if (nums[left] < nums[mid]) { + if (target >= nums[left] && target < nums[mid]) { + right = mid - 1; + } else if (target == nums[mid]) { + return mid; + } else { + left = mid + 1; + } + } else if (nums[left] == nums[mid]) { + if (target == nums[mid]) { + return mid; + } else { + left++; + } + } + else { + if (target > nums[mid] && target <= nums[right]) { + left = mid + 1; + } else if (target == nums[mid]) { + return mid; + } else { + right = mid - 1; + } + } } - dfs(digits, new StringBuilder(), res, 0); - return res; + + return -1; } - private void dfs(String digits, StringBuilder sb, List res, int start) { - if (start >= digits.length()) { - res.add(sb.toString()); - return; - } + // [3,1], 1 + public int search2(int[] nums, int target) { + int left = 0, right = nums.length - 1; - int n = digits.charAt(start) - '0'; - for (char c : ARR[n].toCharArray()) { - sb.append(c); - dfs(digits, sb, res, start + 1); - sb.setLength(sb.length() - 1); + while (left <= right) { + int mid = left + (right - left) / 2; + + if (target == nums[mid]) { + return mid; + } + + if (nums[left] <= nums[mid]) { + if (target >= nums[left] && target < nums[mid]) { + right = mid - 1; + } else { + left = mid + 1; + } + } else { + if (target > nums[mid] && target <= nums[right]) { + left = mid + 1; + } else { + right = mid - 1; + } + } } + + return -1; } public static void main(String[] args) { From 4fc3a7ff1e50125a6e2664146d5f7c4bdc6673d7 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 19 Nov 2018 10:46:32 +0800 Subject: [PATCH 40/96] fd --- README.md | 3 ++- leetcode/solution/src/JewelsAndStones.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 leetcode/solution/src/JewelsAndStones.java diff --git a/README.md b/README.md index 80124ae..fa4724c 100644 --- a/README.md +++ b/README.md @@ -382,4 +382,5 @@ |653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](leetcode/solution/src/TwoSumIV.java)|90|| |654|[Maximum Binary Tree](https://leetcode.com/problems/maximum-binary-tree/description/)|[Java](leetcode/solution/src/MaximumBinaryTree.java)|100|| |669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|[Java](leetcode/solution/src/TrimABinarySearchTree.java)|100|| -|684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| \ No newline at end of file +|684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| +|771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| \ No newline at end of file diff --git a/leetcode/solution/src/JewelsAndStones.java b/leetcode/solution/src/JewelsAndStones.java new file mode 100644 index 0000000..75d2068 --- /dev/null +++ b/leetcode/solution/src/JewelsAndStones.java @@ -0,0 +1,16 @@ +public class JewelsAndStones { + + public int numJewelsInStones(String J, String S) { + int character[] = new int[256]; + for (char c : J.toCharArray()) { + character[c]++; + } + int count = 0; + for (char c : S.toCharArray()) { + if (character[c] > 0) { + count++; + } + } + return count; + } +} From 9aaf89a6a6668267fe8ec7099c7a34c104507aa5 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 19 Nov 2018 11:39:11 +0800 Subject: [PATCH 41/96] fd --- README.md | 1 + leetcode/solution/src/NextClosestTime.java | 62 +++++++++++++++ leetcode/src/Main.java | 87 +++++++++------------- 3 files changed, 99 insertions(+), 51 deletions(-) create mode 100644 leetcode/solution/src/NextClosestTime.java diff --git a/README.md b/README.md index fa4724c..631f817 100644 --- a/README.md +++ b/README.md @@ -382,5 +382,6 @@ |653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](leetcode/solution/src/TwoSumIV.java)|90|| |654|[Maximum Binary Tree](https://leetcode.com/problems/maximum-binary-tree/description/)|[Java](leetcode/solution/src/MaximumBinaryTree.java)|100|| |669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|[Java](leetcode/solution/src/TrimABinarySearchTree.java)|100|| +|681|[Next Closest Time](https://leetcode.com/problems/next-closest-time/)|[Java](leetcode/solution/src/NextClosestTime.java)|80|这题多做几遍| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| \ No newline at end of file diff --git a/leetcode/solution/src/NextClosestTime.java b/leetcode/solution/src/NextClosestTime.java new file mode 100644 index 0000000..7d75759 --- /dev/null +++ b/leetcode/solution/src/NextClosestTime.java @@ -0,0 +1,62 @@ +import java.util.Arrays; +import java.util.TreeSet; + +public class NextClosestTime { + + /** + * 整体思路如下: + * 首先对输入的时间所包含的数要统计一下,并从小到大排序 + * 接下来从时间的高位开始,寻找可替代的更大的数,如果找不到,就看下一位,如果找到了就替换成该数,判断时间是否有效 + * 如果有效,则将该位往上全部替换为全局最小的数,并返回结果。否则还原该位,并继续看下一位。 + */ + public String nextClosestTime(String time) { + int[] number = new int[4]; + + time = time.substring(0, 2) + time.substring(3); + + for (int i = 0; i < time.length(); i++) { + number[i] = time.charAt(i) - '0'; + } + + Arrays.sort(number); + + StringBuilder sb = new StringBuilder(time); + + int i; + for (i = 3; i >= 0; i--) { + char c = time.charAt(i); + int k = nextNumber(number, c - '0'); + if (k >= 0) { + sb.setCharAt(i, (char) (k + '0')); + if (isValid(sb)) { + break; + } + sb.setCharAt(i, c); + } + } + for (i++; i < 4; i++) { + sb.setCharAt(i, (char) (number[0] + '0')); + } + sb.insert(2, ':'); + return sb.toString(); + } + + // 判断时间是否有效 + private boolean isValid(StringBuilder sb) { + boolean flag1 = sb.charAt(0) < '2' || (sb.charAt(0) == '2' && sb.charAt(1) <= '3'); + boolean flag2 = sb.charAt(2) < '5' || (sb.charAt(2) == '5' && sb.charAt(3) <= '9'); + return flag1 && flag2; + } + + /** + * 找比n更大的数,number是一个升序的数组 + */ + private int nextNumber(int[] number, int n) { + for (int i = 0; i < number.length; i++) { + if (number[i] > n) { + return number[i]; + } + } + return -1; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 2b7d053..290a5e3 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,70 +2,55 @@ public class Main { - public int search(int[] nums, int target) { - int left = 0, right = nums.length - 1; + public String nextClosestTime(String time) { + int[] number = new int[4]; - while (left <= right) { - int mid = left + (right - left) / 2; + time = time.substring(0, 2) + time.substring(3); - if (nums[left] < nums[mid]) { - if (target >= nums[left] && target < nums[mid]) { - right = mid - 1; - } else if (target == nums[mid]) { - return mid; - } else { - left = mid + 1; - } - } else if (nums[left] == nums[mid]) { - if (target == nums[mid]) { - return mid; - } else { - left++; - } - } - else { - if (target > nums[mid] && target <= nums[right]) { - left = mid + 1; - } else if (target == nums[mid]) { - return mid; - } else { - right = mid - 1; - } - } + for (int i = 0; i < time.length(); i++) { + number[i] = time.charAt(i) - '0'; } - return -1; - } + Arrays.sort(number); - // [3,1], 1 - public int search2(int[] nums, int target) { - int left = 0, right = nums.length - 1; + StringBuilder sb = new StringBuilder(time); - while (left <= right) { - int mid = left + (right - left) / 2; - - if (target == nums[mid]) { - return mid; - } - - if (nums[left] <= nums[mid]) { - if (target >= nums[left] && target < nums[mid]) { - right = mid - 1; - } else { - left = mid + 1; - } - } else { - if (target > nums[mid] && target <= nums[right]) { - left = mid + 1; - } else { - right = mid - 1; + int i; + for (i = 3; i >= 0; i--) { + char c = time.charAt(i); + int k = nextNumber(number, c - '0'); + if (k >= 0) { + sb.setCharAt(i, (char) (k + '0')); + if (isValid(sb)) { + break; } + sb.setCharAt(i, c); } } + for (i++; i < 4; i++) { + sb.setCharAt(i, (char) (number[0] + '0')); + } + sb.insert(2, ':'); + return sb.toString(); + } + private boolean isValid(StringBuilder sb) { + boolean flag1 = sb.charAt(0) < '2' || (sb.charAt(0) == '2' && sb.charAt(1) <= '3'); + boolean flag2 = sb.charAt(2) < '5' || (sb.charAt(2) == '5' && sb.charAt(3) <= '9'); + return flag1 && flag2; + } + + private int nextNumber(int[] number, int n) { + for (int i = 0; i < number.length; i++) { + if (number[i] > n) { + return number[i]; + } + } return -1; } public static void main(String[] args) { + String s = new NextClosestTime().nextClosestTime("13:55"); + System.out.println(s); } } From e669e5e9e019c225242d45d66e73ede2d079a23b Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 19 Nov 2018 12:33:44 +0800 Subject: [PATCH 42/96] fd --- doc/Attention.md | 2 +- .../solution/src/LicenseKeyFormatting.java | 5 +- leetcode/solution/src/MeetingRoomsII.java | 2 +- leetcode/src/Main.java | 49 ------------------- 4 files changed, 3 insertions(+), 55 deletions(-) diff --git a/doc/Attention.md b/doc/Attention.md index 80997c1..4f3a6e0 100644 --- a/doc/Attention.md +++ b/doc/Attention.md @@ -96,6 +96,6 @@ return -1; 不能直接写return o1 > o2 ? 1 : -1; 因为可能存在重复的数,在TreeMap中查找key时通过comparator等于0,上述写法导致永远找不到key。 -三十,StringBuilder的insert(0, c)不要频繁调用,不如append,最后reverse。 +三十,StringBuilder的insert(0, c)不要频繁调用,看源码要array copy,性能很差。不如append,最后reverse。 三十一,List在allAll一个PriorityQueue时,是不会带顺序的,正确的做法是while(!queue.isEmpty()) {list.add(queue.poll());} \ No newline at end of file diff --git a/leetcode/solution/src/LicenseKeyFormatting.java b/leetcode/solution/src/LicenseKeyFormatting.java index 18b7b58..bbe9cc8 100644 --- a/leetcode/solution/src/LicenseKeyFormatting.java +++ b/leetcode/solution/src/LicenseKeyFormatting.java @@ -2,11 +2,9 @@ * 将字符串s按长度k为一组,从右往左重排,组之间用"-"分隔,还要转成大写 * 注意别在最前面多加一个"-",即下面判断i != 0 */ - - public class LicenseKeyFormatting { - // 耗时22ms + // 耗时13ms public String licenseKeyFormatting(String S, int K) { StringBuilder sb = new StringBuilder(); @@ -14,7 +12,6 @@ public String licenseKeyFormatting(String S, int K) { if (S.charAt(i) != '-') { if (j % K == 0 && sb.length() > 0) { sb.append("-"); - j = 0; } sb.append(Character.toUpperCase(S.charAt(i))); diff --git a/leetcode/solution/src/MeetingRoomsII.java b/leetcode/solution/src/MeetingRoomsII.java index 4d0dd4b..a4281e8 100644 --- a/leetcode/solution/src/MeetingRoomsII.java +++ b/leetcode/solution/src/MeetingRoomsII.java @@ -5,7 +5,7 @@ public class MeetingRoomsII { - // 耗时17ms,时间复杂度O(nlgn) + // 耗时7ms,时间复杂度O(nlgn) public int minMeetingRooms(Interval[] intervals) { Arrays.sort(intervals, new Comparator() { @Override diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 290a5e3..6be9f58 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,55 +2,6 @@ public class Main { - public String nextClosestTime(String time) { - int[] number = new int[4]; - - time = time.substring(0, 2) + time.substring(3); - - for (int i = 0; i < time.length(); i++) { - number[i] = time.charAt(i) - '0'; - } - - Arrays.sort(number); - - StringBuilder sb = new StringBuilder(time); - - int i; - for (i = 3; i >= 0; i--) { - char c = time.charAt(i); - int k = nextNumber(number, c - '0'); - if (k >= 0) { - sb.setCharAt(i, (char) (k + '0')); - if (isValid(sb)) { - break; - } - sb.setCharAt(i, c); - } - } - for (i++; i < 4; i++) { - sb.setCharAt(i, (char) (number[0] + '0')); - } - sb.insert(2, ':'); - return sb.toString(); - } - - private boolean isValid(StringBuilder sb) { - boolean flag1 = sb.charAt(0) < '2' || (sb.charAt(0) == '2' && sb.charAt(1) <= '3'); - boolean flag2 = sb.charAt(2) < '5' || (sb.charAt(2) == '5' && sb.charAt(3) <= '9'); - return flag1 && flag2; - } - - private int nextNumber(int[] number, int n) { - for (int i = 0; i < number.length; i++) { - if (number[i] > n) { - return number[i]; - } - } - return -1; - } - public static void main(String[] args) { - String s = new NextClosestTime().nextClosestTime("13:55"); - System.out.println(s); } } From bbe707b23a35fc82379e70a77e23010ff10d9c70 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 19 Nov 2018 12:53:26 +0800 Subject: [PATCH 43/96] f --- leetcode/solution/src/NextPermutation.java | 24 ++++++++--------- leetcode/src/Main.java | 31 ++++++++++++++++++++++ 2 files changed, 42 insertions(+), 13 deletions(-) diff --git a/leetcode/solution/src/NextPermutation.java b/leetcode/solution/src/NextPermutation.java index 4fccdc6..3c5efb2 100644 --- a/leetcode/solution/src/NextPermutation.java +++ b/leetcode/solution/src/NextPermutation.java @@ -8,26 +8,24 @@ public class NextPermutation { * 然后从升序中找到一个大于nums[i-1]的最小数与i-1交换,然后对升序整体revert为降序即可 */ public void nextPermutation(int[] nums) { - int i = nums.length - 1; + int i, j; - for ( ; i >= 0; i--) { - if (i > 0 && nums[i - 1] < nums[i]) { + for (i = nums.length - 1; i > 0; i--) { + if (nums[i - 1] < nums[i]) { break; } } - if (i < 0) { - revert(nums, 0, nums.length - 1); - return; - } - - for (int j = nums.length - 1; j >= i; j--) { - if (nums[j] > nums[i - 1]) { - swap(nums, j, i - 1); - revert(nums, i, nums.length - 1); - break; + if (i > 0) { + for (j = i; j < nums.length; j++) { + if (nums[j] <= nums[i - 1]) { + break; + } } + swap(nums, i - 1, j - 1); } + + revert(nums, i, nums.length - 1); } private void swap(int[] nums, int left, int right) { diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 6be9f58..dcb9662 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,6 +2,37 @@ public class Main { + // 1 5 1 + public void nextPermutation(int[] nums) { + int i = nums.length - 1, j; + for (i = nums.length - 1; i > 0; i--) { + if (nums[i - 1] < nums[i]) { + break; + } + } + if (i > 0) { + for (j = i; j < nums.length; j++) { + if (nums[j] <= nums[i - 1]) { + break; + } + } + swap(nums, i - 1, j - 1); + } + revert(nums, i, nums.length - 1); + } + + private void revert(int[] nums, int start, int end) { + for ( ; start < end; start++, end--) { + swap(nums, start, end); + } + } + + private void swap(int[] nums, int i, int j) { + int t = nums[i]; + nums[i] = nums[j]; + nums[j] = t; + } + public static void main(String[] args) { } } From 3d5a4286f43c7a28fc9bc238c74c8bdac88657e5 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 20 Nov 2018 11:40:18 +0800 Subject: [PATCH 44/96] fd --- README.md | 3 +- leetcode/solution/src/FruitIntoBaskets.java | 31 +++++++++++++ .../solution/src/MinimumWindowSubstring.java | 2 +- leetcode/solution/src/WordBreak.java | 3 +- leetcode/src/Main.java | 45 +++++++++---------- 5 files changed, 56 insertions(+), 28 deletions(-) create mode 100644 leetcode/solution/src/FruitIntoBaskets.java diff --git a/README.md b/README.md index 631f817..1c04cf8 100644 --- a/README.md +++ b/README.md @@ -384,4 +384,5 @@ |669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|[Java](leetcode/solution/src/TrimABinarySearchTree.java)|100|| |681|[Next Closest Time](https://leetcode.com/problems/next-closest-time/)|[Java](leetcode/solution/src/NextClosestTime.java)|80|这题多做几遍| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| -|771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| \ No newline at end of file +|771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| +|904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| \ No newline at end of file diff --git a/leetcode/solution/src/FruitIntoBaskets.java b/leetcode/solution/src/FruitIntoBaskets.java new file mode 100644 index 0000000..e193da3 --- /dev/null +++ b/leetcode/solution/src/FruitIntoBaskets.java @@ -0,0 +1,31 @@ +import java.util.HashMap; + +/** + * 这题和sliding window较类似 + * 意思是给定一个数组,找出其中的一个最长的连续子数组,只能有两个不同的数 + */ +public class FruitIntoBaskets { + + + public static int totalFruit(int[] tree) { + int max = 0; + HashMap map = new HashMap<>(); + for (int i = 0, j = 0; j < tree.length; j++) { + int value = tree[j]; + + map.put(value, map.getOrDefault(value, 0) + 1); + + for ( ; map.size() > 2; i++) { + int val = tree[i], cnt = map.get(val); + if (cnt == 1) { + map.remove(val); + } else { + map.put(val, cnt - 1); + } + } + max = Math.max(max, j - i + 1); + } + + return max; + } +} diff --git a/leetcode/solution/src/MinimumWindowSubstring.java b/leetcode/solution/src/MinimumWindowSubstring.java index 57186fb..1d3cb68 100644 --- a/leetcode/solution/src/MinimumWindowSubstring.java +++ b/leetcode/solution/src/MinimumWindowSubstring.java @@ -1,6 +1,6 @@ public class MinimumWindowSubstring { - // 耗时8ms,时间复杂度O(n) + // 耗时6ms,时间复杂度O(n) public String minWindow(String s, String t) { int[] tc = new int[256], sc = new int[256]; for (char c : t.toCharArray()) { diff --git a/leetcode/solution/src/WordBreak.java b/leetcode/solution/src/WordBreak.java index 2ab4b26..4c260d9 100644 --- a/leetcode/solution/src/WordBreak.java +++ b/leetcode/solution/src/WordBreak.java @@ -5,7 +5,8 @@ */ public class WordBreak { - // 耗时8ms + // 耗时3ms + // 典型的DP问题 public boolean wordBreak(String s, List wordDict) { int n = s.length(); diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index dcb9662..252c377 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,37 +2,32 @@ public class Main { - // 1 5 1 - public void nextPermutation(int[] nums) { - int i = nums.length - 1, j; - for (i = nums.length - 1; i > 0; i--) { - if (nums[i - 1] < nums[i]) { - break; - } - } - if (i > 0) { - for (j = i; j < nums.length; j++) { - if (nums[j] <= nums[i - 1]) { - break; + public static int totalFruit(int[] tree) { + int max = 0; + HashMap map = new HashMap<>(); + for (int i = 0, j = 0; j < tree.length; j++) { + int value = tree[j]; + + map.put(value, map.getOrDefault(value, 0) + 1); + + for ( ; map.size() > 2; i++) { + int val = tree[i], cnt = map.get(val); + if (cnt == 1) { + map.remove(val); + } else { + map.put(val, cnt - 1); } } - swap(nums, i - 1, j - 1); + max = Math.max(max, j - i + 1); } - revert(nums, i, nums.length - 1); - } - - private void revert(int[] nums, int start, int end) { - for ( ; start < end; start++, end--) { - swap(nums, start, end); - } - } - private void swap(int[] nums, int i, int j) { - int t = nums[i]; - nums[i] = nums[j]; - nums[j] = t; + return max; } public static void main(String[] args) { + int n = totalFruit(new int[]{ + 1, 2, 1 + }); + System.out.println(n); } } From 69481dad35236028811124fe87764229bbbcce0c Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 20 Nov 2018 18:46:57 +0800 Subject: [PATCH 45/96] fd --- README.md | 1 + leetcode/solution/src/FriendCircles.java | 26 +++++++++++++++++ leetcode/src/Main.java | 36 ++++++++++-------------- 3 files changed, 42 insertions(+), 21 deletions(-) create mode 100644 leetcode/solution/src/FriendCircles.java diff --git a/README.md b/README.md index 1c04cf8..1d5219d 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ |538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/)|[Java](leetcode/solution/src/ConvertBSTToGreaterTree.java)|100|| |541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](leetcode/solution/src/ReverseStringII.java)|100|| |543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/)|[Java](leetcode/solution/src/DiameterOfBinaryTree.java)|80|这题易错| +|547|[Friend Circles](https://leetcode.com/problems/friend-circles/)|[Java](leetcode/solution/src/FriendCircles.java)|70|| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| |606|[Construct String from Binary Tree](https://leetcode.com/problems/construct-string-from-binary-tree/)|[Java](leetcode/solution/src/ConstructStringFromBinaryTree.java)|90|| diff --git a/leetcode/solution/src/FriendCircles.java b/leetcode/solution/src/FriendCircles.java new file mode 100644 index 0000000..45878ef --- /dev/null +++ b/leetcode/solution/src/FriendCircles.java @@ -0,0 +1,26 @@ +public class FriendCircles { + + public int findCircleNum(int[][] M) { + int num = 0; + for (int i = 0; i < M.length; i++) { + if (M[i][i] == 1) { + dfs(M, i); + num++; + } + } + return num; + } + + /** + * M[i][i] = 0表示第i个人我们已经访问过了 + * 访问过的人无需重复访问 + */ + private void dfs(int[][] M, int i) { + M[i][i] = 0; + for (int j = 0; j < M.length; j++) { + if (M[j][j] != 0 && M[i][j] == 1) { + dfs(M, j); + } + } + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 252c377..38dbdaa 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,32 +2,26 @@ public class Main { - public static int totalFruit(int[] tree) { - int max = 0; - HashMap map = new HashMap<>(); - for (int i = 0, j = 0; j < tree.length; j++) { - int value = tree[j]; - - map.put(value, map.getOrDefault(value, 0) + 1); - - for ( ; map.size() > 2; i++) { - int val = tree[i], cnt = map.get(val); - if (cnt == 1) { - map.remove(val); - } else { - map.put(val, cnt - 1); - } + public int findCircleNum(int[][] M) { + int num = 0; + for (int i = 0; i < M.length; i++) { + if (M[i][i] == 1) { + dfs(M, i); + num++; } - max = Math.max(max, j - i + 1); } + return num; + } - return max; + private void dfs(int[][] M, int i) { + M[i][i] = 0; + for (int j = 0; j < M.length; j++) { + if (M[j][j] != 0 && M[i][j] == 1) { + dfs(M, j); + } + } } public static void main(String[] args) { - int n = totalFruit(new int[]{ - 1, 2, 1 - }); - System.out.println(n); } } From 8e8a182fbfbae48fbaa2949f33c926135b9a3248 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 20 Nov 2018 18:56:24 +0800 Subject: [PATCH 46/96] fd --- leetcode/solution/src/FriendCircles.java | 43 ++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/leetcode/solution/src/FriendCircles.java b/leetcode/solution/src/FriendCircles.java index 45878ef..56a5144 100644 --- a/leetcode/solution/src/FriendCircles.java +++ b/leetcode/solution/src/FriendCircles.java @@ -23,4 +23,47 @@ private void dfs(int[][] M, int i) { } } } + + public int findCircleNum2(int[][] M) { + int n = M.length; + UnionFind uf = new UnionFind(n); + for (int i = 0; i < n; i++) { + for (int j = i + 1; j < n; j++) { + if (M[i][j] == 1) { + uf.union(i, j); + } + } + } + return uf.count(); + } + + class UnionFind { + int[] path; + int count; + + public UnionFind(int n) { + path = new int[n]; + count = n; + for (int i = 0; i < n; i++) { + path[i] = i; + } + } + + public int find(int i) { + while (i != path[i]) i = path[i]; + return i; + } + + public void union(int i, int j) { + int rootI = find(i); + int rootJ = find(j); + if (rootI == rootJ) return; + path[rootI] = rootJ; + count--; + } + + public int count() { + return count; + } + } } From 6ee4452a686128aee66ae657492d7ff0b601907e Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 21 Nov 2018 11:13:41 +0800 Subject: [PATCH 47/96] fd --- README.md | 4 ++- leetcode/solution/src/GroupAnagrams.java | 1 + leetcode/solution/src/MaxAreaOfIsland.java | 28 ++++++++++++++++ leetcode/solution/src/MoveZeroes.java | 11 ++++--- .../solution/src/UniqueEmailAddresses.java | 25 ++++++++++++++ leetcode/src/Main.java | 33 +++++++++++-------- 6 files changed, 84 insertions(+), 18 deletions(-) create mode 100644 leetcode/solution/src/MaxAreaOfIsland.java create mode 100644 leetcode/solution/src/UniqueEmailAddresses.java diff --git a/README.md b/README.md index 1d5219d..f7240f7 100644 --- a/README.md +++ b/README.md @@ -385,5 +385,7 @@ |669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|[Java](leetcode/solution/src/TrimABinarySearchTree.java)|100|| |681|[Next Closest Time](https://leetcode.com/problems/next-closest-time/)|[Java](leetcode/solution/src/NextClosestTime.java)|80|这题多做几遍| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| +|695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Java](leetcode/solution/src/MaxAreaOfIsland.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| -|904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| \ No newline at end of file +|904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| +|929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90|| \ No newline at end of file diff --git a/leetcode/solution/src/GroupAnagrams.java b/leetcode/solution/src/GroupAnagrams.java index cfc1833..f96d3e4 100644 --- a/leetcode/solution/src/GroupAnagrams.java +++ b/leetcode/solution/src/GroupAnagrams.java @@ -5,6 +5,7 @@ public class GroupAnagrams { + // 12ms public List> groupAnagrams(String[] strs) { HashMap> map = new HashMap<>(); diff --git a/leetcode/solution/src/MaxAreaOfIsland.java b/leetcode/solution/src/MaxAreaOfIsland.java new file mode 100644 index 0000000..9f01d6b --- /dev/null +++ b/leetcode/solution/src/MaxAreaOfIsland.java @@ -0,0 +1,28 @@ +public class MaxAreaOfIsland { + + public int maxAreaOfIsland(int[][] grid) { + int[] area = new int[1]; + int max = 0; + + for (int i = 0; i < grid.length; i++) { + for (int j = 0; j < grid[0].length; j++) { + area[0] = 0; + dfs(grid, i, j, area); + max = Math.max(max, area[0]); + } + } + return max; + } + + private void dfs(int[][] grid, int i, int j, int[] count) { + if (i < 0 || i >= grid.length || j < 0 || j >= grid[0].length || grid[i][j] != 1) { + return; + } + grid[i][j] = 0; + count[0]++; + dfs(grid, i + 1, j, count); + dfs(grid, i - 1, j, count); + dfs(grid, i, j + 1, count); + dfs(grid, i, j - 1, count); + } +} diff --git a/leetcode/solution/src/MoveZeroes.java b/leetcode/solution/src/MoveZeroes.java index 0356ac1..c93b7b5 100644 --- a/leetcode/solution/src/MoveZeroes.java +++ b/leetcode/solution/src/MoveZeroes.java @@ -4,14 +4,16 @@ public class MoveZeroes { /** - * 要保持顺序,写的次数最少 + * 要保持顺序 */ public void moveZeroes(int[] nums) { - for (int i = 0, j = 0; j < nums.length; j++) { - if (nums[j] != 0) { - swap(nums, i++, j); + int j = 0; + for (int i = 0; i < nums.length; i++) { + if (nums[i] != 0) { + nums[j++] = nums[i]; } } + for ( ; j < nums.length; nums[j++] = 0); } private void swap(int[] nums, int i, int j) { @@ -22,6 +24,7 @@ private void swap(int[] nums, int i, int j) { /** * 如果不要求保持顺序,且写的次数最少 + * 从两头开始往中间走,如果左边是0,右边非0,则交换,写的次数是0的个数乘2 */ public void moveZeroes2(int[] nums) { for (int i = 0, j = nums.length - 1; j > i; ) { diff --git a/leetcode/solution/src/UniqueEmailAddresses.java b/leetcode/solution/src/UniqueEmailAddresses.java new file mode 100644 index 0000000..ca967e3 --- /dev/null +++ b/leetcode/solution/src/UniqueEmailAddresses.java @@ -0,0 +1,25 @@ +import java.util.HashSet; +import java.util.Set; + +public class UniqueEmailAddresses { + + public int numUniqueEmails(String[] emails) { + Set set = new HashSet<>(); + for (String email : emails) { + set.add(make(email)); + } + return set.size(); + } + + private String make(String email) { + int index = email.indexOf("@"); + String host = email.substring(index + 1); + String name = email.substring(0, index); + int index2 = name.indexOf("+"); + if (index2 >= 0) { + name = name.substring(0, index2); + } + name = name.replaceAll(".", ""); + return name + "@" + host; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 38dbdaa..cf064b0 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,26 +2,33 @@ public class Main { - public int findCircleNum(int[][] M) { - int num = 0; - for (int i = 0; i < M.length; i++) { - if (M[i][i] == 1) { - dfs(M, i); - num++; + public int maxAreaOfIsland(int[][] grid) { + int[] area = new int[1]; + int max = 0; + + for (int i = 0; i < grid.length; i++) { + for (int j = 0; j < grid[0].length; j++) { + area[0] = 0; + dfs(grid, i, j, area); + max = Math.max(max, area[0]); } } - return num; + return max; } - private void dfs(int[][] M, int i) { - M[i][i] = 0; - for (int j = 0; j < M.length; j++) { - if (M[j][j] != 0 && M[i][j] == 1) { - dfs(M, j); - } + private void dfs(int[][] grid, int i, int j, int[] count) { + if (i < 0 || i >= grid.length || j < 0 || j >= grid[0].length || grid[i][j] != 1) { + return; } + grid[i][j] = 0; + count[0]++; + dfs(grid, i + 1, j, count); + dfs(grid, i - 1, j, count); + dfs(grid, i, j + 1, count); + dfs(grid, i, j - 1, count); } public static void main(String[] args) { + } } From 63ac2f53ae78ec1359c20f3220a825f9d9f2899d Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 22 Nov 2018 10:29:17 +0800 Subject: [PATCH 48/96] fd --- README.md | 1 + leetcode/solution/src/CoinChange.java | 20 ++++++++++++++ leetcode/src/Main.java | 38 +++++++++++---------------- 3 files changed, 36 insertions(+), 23 deletions(-) create mode 100644 leetcode/solution/src/CoinChange.java diff --git a/README.md b/README.md index f7240f7..84dbfd0 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ |317|[Shortest Distance from All Buildings](https://leetcode.com/problems/shortest-distance-from-all-buildings/)| [Java](leetcode/solution/src/ShortestDistanceFromAllBuildings.java)|75|典型的bfs,多做两遍| |319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/)| [Java](leetcode/solution/src/BulbSwitcher.java)|90| |320|[Generalized Abbreviation](https://leetcode.com/problems/generalized-abbreviation/)| [Java](leetcode/solution/src/GeneralizedAbbreviation.java)|70|这题是典型的back tracking,多做几遍| +|322|[Coin Change](https://leetcode.com/problems/coin-change/)|[Java](leetcode/solution/src/CoinChange.java)|80|| |323|[Number of Connected Components in an Undirected Graph](https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/)| [Java](leetcode/solution/src/NumberOfConnectedComponents.java)|90|典型的图,多看两遍| |324|[Wiggle Sort II](https://leetcode.com/problems/wiggle-sort-ii/)| [Java](leetcode/solution/src/WiggleSortII.java)|60| |325|[Maximum Size Subarray Sum Equals k](https://leetcode.com/problems/maximum-size-subarray-sum-equals-k/)| [Java](leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java)|75|这题思路有意思,多做几遍| diff --git a/leetcode/solution/src/CoinChange.java b/leetcode/solution/src/CoinChange.java new file mode 100644 index 0000000..66423ce --- /dev/null +++ b/leetcode/solution/src/CoinChange.java @@ -0,0 +1,20 @@ +import java.util.Arrays; + +public class CoinChange { + + public int coinChange(int[] coins, int amount) { + Arrays.sort(coins); + int[] dp = new int[amount + 1]; + Arrays.fill(dp, -1); + dp[0] = 0; + for (int i = 1; i <= amount; i++) { + for (int coin: coins) { + if (i - coin >= 0 && dp[i - coin] >= 0) { + int k = dp[i - coin] + 1; + dp[i] = dp[i] > 0 ? Math.min(dp[i], k) : k; + } + } + } + return dp[amount]; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index cf064b0..8d5cd29 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,33 +2,25 @@ public class Main { - public int maxAreaOfIsland(int[][] grid) { - int[] area = new int[1]; - int max = 0; - - for (int i = 0; i < grid.length; i++) { - for (int j = 0; j < grid[0].length; j++) { - area[0] = 0; - dfs(grid, i, j, area); - max = Math.max(max, area[0]); + public static int coinChange(int[] coins, int amount) { + Arrays.sort(coins); + int[] dp = new int[amount + 1]; + Arrays.fill(dp, -1); + dp[0] = 0; + for (int i = 1; i <= amount; i++) { + for (int coin: coins) { + if (i - coin >= 0 && dp[i - coin] >= 0) { + int k = dp[i - coin] + 1; + dp[i] = dp[i] > 0 ? Math.min(dp[i], k) : k; + } } } - return max; - } - - private void dfs(int[][] grid, int i, int j, int[] count) { - if (i < 0 || i >= grid.length || j < 0 || j >= grid[0].length || grid[i][j] != 1) { - return; - } - grid[i][j] = 0; - count[0]++; - dfs(grid, i + 1, j, count); - dfs(grid, i - 1, j, count); - dfs(grid, i, j + 1, count); - dfs(grid, i, j - 1, count); + return dp[amount]; } public static void main(String[] args) { - + System.out.println(coinChange(new int[] { + 1, 2, 5 + }, 11)); } } From 7419e850880d31ab4de839dd8745a6c7f3deaf45 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 22 Nov 2018 12:09:06 +0800 Subject: [PATCH 49/96] fd --- ...stringWithAtMostTwoDistinctCharacters.java | 24 ++++---- leetcode/solution/src/String2Integer.java | 55 +++++++++---------- leetcode/src/Main.java | 45 ++++++++++----- 3 files changed, 66 insertions(+), 58 deletions(-) diff --git a/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java b/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java index aa25f8e..dc1675b 100644 --- a/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java @@ -1,24 +1,22 @@ public class LongestSubstringWithAtMostTwoDistinctCharacters { - // 7ms + // 1ms public int lengthOfLongestSubstringTwoDistinct2(String s) { - int[] count = new int[256]; - int distinct = 0, longest = 0; - + if (s.length() == 0) { + return 0; + } + int[] dp = new int[256]; + int count = 0, longest = 0; for (int i = 0, j = 0; j < s.length(); j++) { - if (count[s.charAt(j)]++ == 0) { - distinct++; - } - - for ( ; i < j && distinct > 2; ) { - if (--count[s.charAt(i++)] == 0) { - --distinct; + if (dp[s.charAt(j)]++ == 0) { + for (++count; i <= j && count > 2; ) { + if (--dp[s.charAt(i++)] == 0) { + --count; + } } } - longest = Math.max(longest, j - i + 1); } - return longest; } } diff --git a/leetcode/solution/src/String2Integer.java b/leetcode/solution/src/String2Integer.java index dcf028a..1b0c12d 100644 --- a/leetcode/solution/src/String2Integer.java +++ b/leetcode/solution/src/String2Integer.java @@ -13,40 +13,35 @@ public class String2Integer { public int myAtoi(String str) { - long n = 0; - - str = str.trim(); - - // 这里要防御空串 - if (str.length() == 0) { - return 0; - } - - int sign = 1; - - switch (str.charAt(0)) { - case '-': + int i = 0, sign = 1; + for ( ; i < str.length() && str.charAt(i) == ' '; i++); + if (i < str.length()) { + char csign = str.charAt(i); + if (csign == '-') { sign = -1; - case '+': - str = str.substring(1); - break; + i++; + } else if (csign == '+') { + sign = 1; + i++; + } else if (csign < '0' || csign > '9') { + return 0; + } else {} } - - for (char c : str.toCharArray()) { - if (c >= '0' && c <= '9') { - n = n * 10 + (c - '0'); - - if (n * sign > Integer.MAX_VALUE) { - return Integer.MAX_VALUE; - } else if (n * sign < Integer.MIN_VALUE) { - return Integer.MIN_VALUE; - } - - } else { + long number = 0; + for ( ; i < str.length(); i++) { + char c = str.charAt(i); + if (c < '0' || c > '9') { break; } - } + number = number * 10 + (c - '0'); - return (int) (n * sign); + if (number * sign > Integer.MAX_VALUE) { + return Integer.MAX_VALUE; + } + if (number * sign < Integer.MIN_VALUE) { + return Integer.MIN_VALUE; + } + } + return (int) (number * sign); } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 8d5cd29..f9ee0d8 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,25 +2,40 @@ public class Main { - public static int coinChange(int[] coins, int amount) { - Arrays.sort(coins); - int[] dp = new int[amount + 1]; - Arrays.fill(dp, -1); - dp[0] = 0; - for (int i = 1; i <= amount; i++) { - for (int coin: coins) { - if (i - coin >= 0 && dp[i - coin] >= 0) { - int k = dp[i - coin] + 1; - dp[i] = dp[i] > 0 ? Math.min(dp[i], k) : k; - } + public static int myAtoi(String str) { + int i = 0, sign = 1; + for ( ; i < str.length() && str.charAt(i) == ' '; i++); + if (i < str.length()) { + char csign = str.charAt(i); + if (csign == '-') { + sign = -1; + i++; + } else if (csign == '+') { + sign = 1; + i++; + } else if (csign < '0' || csign > '9') { + return 0; + } else {} + } + long number = 0; + for ( ; i < str.length(); i++) { + char c = str.charAt(i); + if (c < '0' || c > '9') { + break; + } + number = number * 10 + (c - '0'); + + if (number * sign > Integer.MAX_VALUE) { + return Integer.MAX_VALUE; + } + if (number * sign < Integer.MIN_VALUE) { + return Integer.MIN_VALUE; } } - return dp[amount]; + return (int) (number * sign); } public static void main(String[] args) { - System.out.println(coinChange(new int[] { - 1, 2, 5 - }, 11)); + System.out.println(myAtoi("-42")); } } From 3d9bb9b1e8dc1e55a77f0570ea97dd4fed17de5c Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 22 Nov 2018 12:40:05 +0800 Subject: [PATCH 50/96] fd --- .../solution/src/ReverseWordsInAString.java | 56 +++++++------------ leetcode/src/Main.java | 56 +++++++++---------- 2 files changed, 48 insertions(+), 64 deletions(-) diff --git a/leetcode/solution/src/ReverseWordsInAString.java b/leetcode/solution/src/ReverseWordsInAString.java index d88788d..0832ac3 100644 --- a/leetcode/solution/src/ReverseWordsInAString.java +++ b/leetcode/solution/src/ReverseWordsInAString.java @@ -1,48 +1,34 @@ public class ReverseWordsInAString { - - // 耗时10ms - public String reverseWords(String s) { - StringBuilder sb = new StringBuilder(); - - boolean inWord = false; - char[] cc = s.toCharArray(); - for (int i = cc.length - 1, idx = 0; i >= 0; i--) { - if (cc[i] != ' ') { - if (!inWord && sb.length() > 0) { - sb.append(' '); - } - inWord = true; - sb.insert(idx, cc[i]); - } else if (inWord) { - idx = sb.length() + 1; - inWord = false; - } + public static String reverseWords(String s) { + s = s.trim(); + if (s.length() == 0) { + return ""; } - - return sb.toString(); - } - - // 耗时18ms - public String reverseWords2(String s) { StringBuilder sb = new StringBuilder(); - - for (int i = 0, j = 0; i < s.length(); ) { + boolean flag = false; + int i = s.length() - 1, j = i; + for (i = s.length() - 1, j = i; i >= 0; i--) { if (s.charAt(i) == ' ') { - i++; - j = i; - } else if (j >= s.length() || s.charAt(j) == ' ') { - sb.insert(0, s.substring(i, j) + " "); - i = j; + if (!flag) { + continue; + } else { + sb.append(s.substring(i + 1, j + 1)).append(" "); + flag = false; + } } else { - j++; + if (!flag) { + j = i; + flag = true; + } } } - - if (sb.length() > 0) { + if (j > i) { + sb.append(s.substring(i + 1, j + 1)); + } + if (sb.charAt(sb.length() - 1) == ' ') { sb.setLength(sb.length() - 1); } - return sb.toString(); } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index f9ee0d8..0af4cb2 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,40 +2,38 @@ public class Main { - public static int myAtoi(String str) { - int i = 0, sign = 1; - for ( ; i < str.length() && str.charAt(i) == ' '; i++); - if (i < str.length()) { - char csign = str.charAt(i); - if (csign == '-') { - sign = -1; - i++; - } else if (csign == '+') { - sign = 1; - i++; - } else if (csign < '0' || csign > '9') { - return 0; - } else {} - } - long number = 0; - for ( ; i < str.length(); i++) { - char c = str.charAt(i); - if (c < '0' || c > '9') { - break; - } - number = number * 10 + (c - '0'); + public static String reverseWords(String s) { + int i, j = 0; + boolean flag = false; - if (number * sign > Integer.MAX_VALUE) { - return Integer.MAX_VALUE; - } - if (number * sign < Integer.MIN_VALUE) { - return Integer.MIN_VALUE; + StringBuilder sb = new StringBuilder(); + + for (i = s.length() - 1; i >= 0; i--) { + if (s.charAt(i) == ' ') { + if (!flag) { + continue; + } else { + flag = false; + sb.append(s.substring(i + 1, j + 1)).append(" "); + } + } else { + if (!flag) { + flag = true; + j = i; + } } } - return (int) (number * sign); + + if (flag) { + sb.append(s.substring(i + 1, j + 1)); + } + if (sb.length() > 0 && sb.charAt(sb.length() - 1) == ' ') { + sb.setLength(sb.length() - 1); + } + return sb.toString(); } public static void main(String[] args) { - System.out.println(myAtoi("-42")); + System.out.println(reverseWords("the sky is blue")); } } From 9cbb23e9a9758dd792aafff5352d817c316dcd8d Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 22 Nov 2018 12:40:51 +0800 Subject: [PATCH 51/96] fd --- .../solution/src/ReverseWordsInAString.java | 21 ++++++------ leetcode/src/Main.java | 32 ------------------- 2 files changed, 10 insertions(+), 43 deletions(-) diff --git a/leetcode/solution/src/ReverseWordsInAString.java b/leetcode/solution/src/ReverseWordsInAString.java index 0832ac3..161c63b 100644 --- a/leetcode/solution/src/ReverseWordsInAString.java +++ b/leetcode/solution/src/ReverseWordsInAString.java @@ -1,32 +1,31 @@ public class ReverseWordsInAString { public static String reverseWords(String s) { - s = s.trim(); - if (s.length() == 0) { - return ""; - } - StringBuilder sb = new StringBuilder(); + int i, j = 0; boolean flag = false; - int i = s.length() - 1, j = i; - for (i = s.length() - 1, j = i; i >= 0; i--) { + + StringBuilder sb = new StringBuilder(); + + for (i = s.length() - 1; i >= 0; i--) { if (s.charAt(i) == ' ') { if (!flag) { continue; } else { - sb.append(s.substring(i + 1, j + 1)).append(" "); flag = false; + sb.append(s.substring(i + 1, j + 1)).append(" "); } } else { if (!flag) { - j = i; flag = true; + j = i; } } } - if (j > i) { + + if (flag) { sb.append(s.substring(i + 1, j + 1)); } - if (sb.charAt(sb.length() - 1) == ' ') { + if (sb.length() > 0 && sb.charAt(sb.length() - 1) == ' ') { sb.setLength(sb.length() - 1); } return sb.toString(); diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 0af4cb2..6be9f58 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,38 +2,6 @@ public class Main { - public static String reverseWords(String s) { - int i, j = 0; - boolean flag = false; - - StringBuilder sb = new StringBuilder(); - - for (i = s.length() - 1; i >= 0; i--) { - if (s.charAt(i) == ' ') { - if (!flag) { - continue; - } else { - flag = false; - sb.append(s.substring(i + 1, j + 1)).append(" "); - } - } else { - if (!flag) { - flag = true; - j = i; - } - } - } - - if (flag) { - sb.append(s.substring(i + 1, j + 1)); - } - if (sb.length() > 0 && sb.charAt(sb.length() - 1) == ' ') { - sb.setLength(sb.length() - 1); - } - return sb.toString(); - } - public static void main(String[] args) { - System.out.println(reverseWords("the sky is blue")); } } From ea1019d66107a6125eb725ee459caf5771f99c4d Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 22 Nov 2018 15:02:55 +0800 Subject: [PATCH 52/96] fd --- leetcode/solution/src/BSTIterator.java | 21 +-------------------- leetcode/src/Main.java | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/leetcode/solution/src/BSTIterator.java b/leetcode/solution/src/BSTIterator.java index e484df4..1b6519d 100644 --- a/leetcode/solution/src/BSTIterator.java +++ b/leetcode/solution/src/BSTIterator.java @@ -6,12 +6,8 @@ public class BSTIterator { private TreeNode mCurNode; public BSTIterator(TreeNode root) { - mStack = new Stack(); + mStack = new Stack<>(); mCurNode = root; - -// for (mCurNode = root; mCurNode != null; mCurNode = mCurNode.left) { -// mStack.push(mCurNode); -// } } /** @@ -41,19 +37,4 @@ public int next() { return result; } - - /** 这样写也好,不过要注意在构造函数中初始化如上注释部分 - public int next() { - if (mCurNode == null) { - mCurNode = mStack.pop(); - } - - int val = mCurNode.val; - - for (mCurNode = mCurNode.right; mCurNode != null; mCurNode = mCurNode.left) { - mStack.push(mCurNode); - } - - return val; - }*/ } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 6be9f58..2e6d413 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,6 +2,25 @@ public class Main { + public double myPow(double x, int n) { + return myPow(x, n); + } + + private double myPow(double x, long n) { + if (n == 0) { + return 1; + } + if (n < 0) { + return myPow(1 / x, -n); + } + double res = myPow(x, n / 2); + if (n % 2 != 0) { + return res * res * x; + } else { + return res * res; + } + } + public static void main(String[] args) { } } From d0758f796f364d4abd319d0423204c3b62275a9e Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 22 Nov 2018 15:17:34 +0800 Subject: [PATCH 53/96] fd --- leetcode/solution/src/DecodeWays.java | 96 +++------------------------ leetcode/src/Main.java | 28 ++++---- 2 files changed, 21 insertions(+), 103 deletions(-) diff --git a/leetcode/solution/src/DecodeWays.java b/leetcode/solution/src/DecodeWays.java index 6d4a70e..f204f7f 100644 --- a/leetcode/solution/src/DecodeWays.java +++ b/leetcode/solution/src/DecodeWays.java @@ -7,96 +7,18 @@ */ public class DecodeWays { - /** - * 超时了,有大量的字符串复制,不过思路挺直观的 - * 注意这里s为空时要返回0,但是在递归时s为空要返回1,所以为了区分这两种情况,分出了helper - */ + // DP,耗时1ms public int numDecodings(String s) { - if (s.length() == 0) { - return 0; - } - return helper(s); - } - - public int helper(String s) { - /** - * 如果能一直正确匹配到结尾了是合法的 - */ - if (s.length() == 0) { - return 1; - } - - // 以0开头的是非法的 - if (s.charAt(0) == '0') { - return 0; - } - - int ways = 0; - - if (s.length() > 1 && (s.charAt(0) == '1' || (s.charAt(0) == '2' && (s.charAt(1) >= '0' && s.charAt(1) <= '6')))) { - ways += helper(s.substring(2)); - } - - ways += helper(s.substring(1)); - - return ways; - } - - /** - // 这里继续优化,为避免重复运算,对结果进行了缓存,性能非常好,耗时2ms - public int numDecodings(String s) { - if (s.length() == 0) { - return 0; - } - int[] f = new int[s.length()]; - Arrays.fill(f, -1); - return helper(s.toCharArray(), f, 0); - } - - public int helper(char[] s, int[] f, int i) { - if (i >= s.length) { - return 1; - } - - if (s[i] == '0') { - return 0; - } - - // 这里一定要包括等于0,因为0也是要缓存的,表示后面的子串都不可能合法,比如30....... - if (f[i] >= 0) { - return f[i]; - } - - int ways = 0; - - if (i < s.length - 1 && (s[i] == '1' || (s[i] == '2' && (s[i + 1] >= '0' && s[i + 1] <= '6')))) { - ways += helper(s, f, i + 2); - } - - f[i] = ways + helper(s, f, i + 1); - - return f[i]; - } -*/ - - // DP,耗时2ms,复杂度O(n) - public int numDecodings2(String s) { - if (s.length() == 0) { - return 0; - } - int n = s.length(); - int[] f = new int[n + 1]; - f[0] = 1; - f[1] = s.charAt(0) == '0' ? 0 : 1; - - for (int i = 1; i < n; i++) { - if (s.charAt(i - 1) == '1' || (s.charAt(i - 1) == '2' && s.charAt(i) <= '6')) { - f[i + 1] = f[i - 1]; - } + int len = s.length(); + int[] dp = new int[len]; + for (int i = 0; i < len; i++) { if (s.charAt(i) != '0') { - f[i + 1] += f[i]; + dp[i] = i > 0 ? dp[i - 1] : 1; + } + if (i > 0 && (s.charAt(i - 1) == '1' || (s.charAt(i - 1) == '2' && s.charAt(i) <= '6'))) { + dp[i] += i > 1 ? dp[i - 2] : 1; } } - return f[n]; + return dp[len - 1]; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 2e6d413..13b9c62 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,25 +2,21 @@ public class Main { - public double myPow(double x, int n) { - return myPow(x, n); - } - - private double myPow(double x, long n) { - if (n == 0) { - return 1; - } - if (n < 0) { - return myPow(1 / x, -n); - } - double res = myPow(x, n / 2); - if (n % 2 != 0) { - return res * res * x; - } else { - return res * res; + public static int numDecodings(String s) { + int len = s.length(); + int[] dp = new int[len]; + for (int i = 0; i < len; i++) { + if (s.charAt(i) != '0') { + dp[i] += i > 0 ? dp[i - 1] : 1; + } + if (i > 0 && (s.charAt(i - 1) == '1' || (s.charAt(i - 1) == '2' && s.charAt(i) <= '6'))) { + dp[i] += i > 1 ? dp[i - 2] : 1; + } } + return dp[len - 1]; } public static void main(String[] args) { + System.out.println(numDecodings("226")); } } From 4ac74b9894978b096b1635d6c37ab82e59becbf0 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 23 Nov 2018 11:46:32 +0800 Subject: [PATCH 54/96] fd --- leetcode/solution/src/EvaluateDivision.java | 68 +++++++++++-------- leetcode/src/Main.java | 74 ++++++++++++++++++--- 2 files changed, 106 insertions(+), 36 deletions(-) diff --git a/leetcode/solution/src/EvaluateDivision.java b/leetcode/solution/src/EvaluateDivision.java index f772c14..674b27b 100644 --- a/leetcode/solution/src/EvaluateDivision.java +++ b/leetcode/solution/src/EvaluateDivision.java @@ -9,43 +9,59 @@ public class EvaluateDivision { public double[] calcEquation(String[][] equations, double[] values, String[][] queries) { - HashMap> valueMap = new HashMap<>(); - + HashMap> table = new HashMap<>(); for (int i = 0; i < equations.length; i++) { - String[] equation = equations[i]; - HashMap map = valueMap.computeIfAbsent(equation[0], k -> new HashMap<>()); - map.put(equation[1], values[i]); - map = valueMap.computeIfAbsent(equation[1], k -> new HashMap<>()); - map.put(equation[0], 1 / values[i]); + add(table, equations[i], values[i]); } - double[] result = new double[queries.length]; + HashSet visited = new HashSet<>(); for (int i = 0; i < queries.length; i++) { - double[] value = new double[] {1.0}; - result[i] = dfs(valueMap, queries[i][0], queries[i][1], new HashSet<>(), value) ? value[0] : -1.0; + visited.clear(); + result[i] = calc(table, visited, queries[i][0], queries[i][1]); } return result; } - private boolean dfs(HashMap> map, String start, String end, HashSet set, double[] value) { - if (!map.containsKey(start) || !map.containsKey(end) || set.contains(start)) { - return false; + private double calc(HashMap> table, HashSet visited, String a, String b) { + HashMap map = table.get(a); + if (map == null) { + return -1.0; } - if (start.equals(end)) { - return true; + if (a.equals(b)) { + return 1.0; } - set.add(start); - HashMap valueMap = map.get(start); - boolean flag = false; - for (Map.Entry entry : valueMap.entrySet()) { - value[0] *= entry.getValue(); - if (dfs(map, entry.getKey(), end, set, value)) { - flag = true; - break; + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + Double value = entry.getValue(); + + if (visited.contains(key)) { + continue; + } + + visited.add(key); + + double t = calc(table, visited, key, b); + if (t != -1.0) { + return value * t; } - value[0] /= entry.getValue(); + + visited.remove(key); + } + return -1.0; + } + + private void add(HashMap> table, String[] equation, double value) { + HashMap map0 = table.get(equation[0]); + HashMap map1 = table.get(equation[1]); + if (map0 == null) { + map0 = new HashMap<>(); + table.put(equation[0], map0); + } + if (map1 == null) { + map1 = new HashMap<>(); + table.put(equation[1], map1); } - set.remove(start); - return flag; + map0.put(equation[1], value); + map1.put(equation[0], 1 / value); } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 13b9c62..040c195 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -2,21 +2,75 @@ public class Main { - public static int numDecodings(String s) { - int len = s.length(); - int[] dp = new int[len]; - for (int i = 0; i < len; i++) { - if (s.charAt(i) != '0') { - dp[i] += i > 0 ? dp[i - 1] : 1; + public static class Solution { + public double[] calcEquation(String[][] equations, double[] values, String[][] queries) { + HashMap> table = new HashMap<>(); + for (int i = 0; i < equations.length; i++) { + add(table, equations[i], values[i]); } - if (i > 0 && (s.charAt(i - 1) == '1' || (s.charAt(i - 1) == '2' && s.charAt(i) <= '6'))) { - dp[i] += i > 1 ? dp[i - 2] : 1; + double[] result = new double[queries.length]; + HashSet visited = new HashSet<>(); + for (int i = 0; i < queries.length; i++) { + visited.clear(); + result[i] = calc(table, visited, queries[i][0], queries[i][1]); } + return result; + } + + private double calc(HashMap> table, HashSet visited, String a, String b) { + HashMap map = table.get(a); + if (map == null) { + return -1.0; + } + if (a.equals(b)) { + return 1.0; + } + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + Double value = entry.getValue(); + + if (visited.contains(key)) { + continue; + } + + visited.add(key); + + double t = calc(table, visited, key, b); + if (t != -1.0) { + return value * t; + } + + visited.remove(key); + } + return -1.0; + } + + private void add(HashMap> table, String[] equation, double value) { + HashMap map0 = table.get(equation[0]); + HashMap map1 = table.get(equation[1]); + if (map0 == null) { + map0 = new HashMap<>(); + table.put(equation[0], map0); + } + if (map1 == null) { + map1 = new HashMap<>(); + table.put(equation[1], map1); + } + map0.put(equation[1], value); + map1.put(equation[0], 1 / value); } - return dp[len - 1]; } + public static void main(String[] args) { - System.out.println(numDecodings("226")); + Solution s = new Solution(); + double[] res = s.calcEquation(new String[][]{ + {"a", "b"}, {"b", "c"} + }, new double[]{2.0, 3.0}, new String[][]{ + {"a", "c"}, {"b", "a"}, {"a", "e"}, {"a", "a"}, {"x", "x"} + }); + for (double v : res) { + System.out.println(v); + } } } From 3e93d1a99ece904f709c6a997b6fe3d95c5642d6 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 23 Nov 2018 15:15:06 +0800 Subject: [PATCH 55/96] fd --- leetcode/solution/src/RestoreIPAddresses.java | 38 +++++---- leetcode/src/Main.java | 82 ++++++------------- 2 files changed, 48 insertions(+), 72 deletions(-) diff --git a/leetcode/solution/src/RestoreIPAddresses.java b/leetcode/solution/src/RestoreIPAddresses.java index 5cce134..87e7e23 100644 --- a/leetcode/solution/src/RestoreIPAddresses.java +++ b/leetcode/solution/src/RestoreIPAddresses.java @@ -1,3 +1,5 @@ +import java.util.ArrayList; +import java.util.Deque; import java.util.LinkedList; import java.util.List; @@ -7,31 +9,33 @@ public class RestoreIPAddresses { * 注意,0可以,但是00,01, 010这种是不允许的 */ public List restoreIpAddresses(String s) { - List list = new LinkedList<>(); - dfs(s, list, 0, 0, ""); - return list; + List result = new ArrayList<>(); + dfs(s, 0, new LinkedList<>(), result); + return new ArrayList<>(result); } - private void dfs(String s, List list, int index, int count, String cur) { - if (index >= s.length()) { - if (count == 4) { - list.add(cur); - } + private void dfs(String s, int index, Deque ips, List result) { + if (ips.size() > 4) { return; } - - if (count == 4) { + if (index >= s.length()) { + if (ips.size() == 4) { + result.add(String.join(".", ips)); + } return; } - - int[][] RANGES = { - {0, 0}, {0, 9}, {10, 99}, {100, 255} - }; for (int i = 1; i <= 3 && index + i <= s.length(); i++) { String t = s.substring(index, index + i); - int n = Integer.parseInt(t); - if (n >= RANGES[i][0] && n <= RANGES[i][1]) { - dfs(s, list, index + i, count + 1, (cur.isEmpty() ? "" : cur + ".") + t); + int k = Integer.parseInt(t); + if (i == 3 && k > 255) { + break; + } + ips.offer(t); + dfs(s, index + i, ips, result); + ips.pollLast(); + + if (k == 0) { + break; } } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 040c195..40aab03 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -3,74 +3,46 @@ public class Main { public static class Solution { - public double[] calcEquation(String[][] equations, double[] values, String[][] queries) { - HashMap> table = new HashMap<>(); - for (int i = 0; i < equations.length; i++) { - add(table, equations[i], values[i]); - } - double[] result = new double[queries.length]; - HashSet visited = new HashSet<>(); - for (int i = 0; i < queries.length; i++) { - visited.clear(); - result[i] = calc(table, visited, queries[i][0], queries[i][1]); - } - return result; + + public List restoreIpAddresses(String s) { + List result = new ArrayList<>(); + dfs(s, 0, new LinkedList<>(), result); + return new ArrayList<>(result); } - private double calc(HashMap> table, HashSet visited, String a, String b) { - HashMap map = table.get(a); - if (map == null) { - return -1.0; + private void dfs(String s, int index, Deque ips, List result) { + if (ips.size() > 4) { + return; } - if (a.equals(b)) { - return 1.0; + if (index >= s.length()) { + if (ips.size() == 4) { + result.add(String.join(".", ips)); + } + return; } - for (Map.Entry entry : map.entrySet()) { - String key = entry.getKey(); - Double value = entry.getValue(); - - if (visited.contains(key)) { - continue; + for (int i = 1; i <= 3 && index + i <= s.length(); i++) { + String t = s.substring(index, index + i); + int k = Integer.parseInt(t); + if (i == 3 && k > 255) { + break; } + ips.offer(t); + dfs(s, index + i, ips, result); + ips.pollLast(); - visited.add(key); - - double t = calc(table, visited, key, b); - if (t != -1.0) { - return value * t; + if (k == 0) { + break; } - - visited.remove(key); - } - return -1.0; - } - - private void add(HashMap> table, String[] equation, double value) { - HashMap map0 = table.get(equation[0]); - HashMap map1 = table.get(equation[1]); - if (map0 == null) { - map0 = new HashMap<>(); - table.put(equation[0], map0); - } - if (map1 == null) { - map1 = new HashMap<>(); - table.put(equation[1], map1); } - map0.put(equation[1], value); - map1.put(equation[0], 1 / value); } } public static void main(String[] args) { - Solution s = new Solution(); - double[] res = s.calcEquation(new String[][]{ - {"a", "b"}, {"b", "c"} - }, new double[]{2.0, 3.0}, new String[][]{ - {"a", "c"}, {"b", "a"}, {"a", "e"}, {"a", "a"}, {"x", "x"} - }); - for (double v : res) { - System.out.println(v); + Solution solution = new Solution(); + List result = solution.restoreIpAddresses("111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"); + for (String s : result) { + System.out.println(s); } } } From 58ec94d9d89e3d1d9ef5b207f06e794fb58592aa Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 23 Nov 2018 15:51:24 +0800 Subject: [PATCH 56/96] fd --- leetcode/solution/src/WordLadder.java | 51 ++++++++++---------- leetcode/src/Main.java | 69 ++++++++++++++++----------- 2 files changed, 67 insertions(+), 53 deletions(-) diff --git a/leetcode/solution/src/WordLadder.java b/leetcode/solution/src/WordLadder.java index 5a44954..ac66c6b 100644 --- a/leetcode/solution/src/WordLadder.java +++ b/leetcode/solution/src/WordLadder.java @@ -15,45 +15,46 @@ public class WordLadder { /** * 要注意添加节点时要给单词从dict中删掉 */ - // 常规的BFS,耗时141ms + // 常规的BFS,耗时64ms public int ladderLength(String beginWord, String endWord, Set wordList) { - wordList.remove(beginWord); - wordList.add(endWord); - + HashSet words = new HashSet<>(wordList); Queue queue = new LinkedList<>(); - Queue next = new LinkedList<>(); - queue.add(beginWord); + queue.offer(beginWord); - int ladder = 1; + Queue next = new LinkedList<>(); + int length = 1; while (!queue.isEmpty()) { - String word = queue.poll(); - - StringBuilder sb = new StringBuilder(word); - for (int i = 0; i < word.length(); i++) { - char c = word.charAt(i); - for (int j = 0; j < 26; j++) { - if (j + 'a' == c) { - continue; - } - sb.setCharAt(i, (char) (j + 'a')); - String s = sb.toString(); + String s = queue.poll(); - if (s.equals(endWord)) { - return ladder + 1; - } + if (s.equals(endWord)) { + return length; + } + + if (!words.isEmpty()) { + StringBuilder sb = new StringBuilder(s); + for (int i = 0; i < s.length(); i++) { + for (char c = 'a'; c <= 'z'; c++) { + if (c == s.charAt(i)) { + continue; + } + + sb.setCharAt(i, c); + String st = sb.toString(); - if (wordList.remove(s)) { - next.add(s); + if (words.contains(st)) { + next.offer(st); + words.remove(st); + } } + sb.setCharAt(i, s.charAt(i)); } - sb.setCharAt(i, c); } if (queue.isEmpty()) { queue.addAll(next); next.clear(); - ladder++; + length++; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 40aab03..f01ec96 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,45 +4,58 @@ public class Main { public static class Solution { - public List restoreIpAddresses(String s) { - List result = new ArrayList<>(); - dfs(s, 0, new LinkedList<>(), result); - return new ArrayList<>(result); - } + public int ladderLength(String beginWord, String endWord, List wordList) { + HashSet words = new HashSet<>(wordList); + Queue queue = new LinkedList<>(); + queue.offer(beginWord); - private void dfs(String s, int index, Deque ips, List result) { - if (ips.size() > 4) { - return; - } - if (index >= s.length()) { - if (ips.size() == 4) { - result.add(String.join(".", ips)); + Queue next = new LinkedList<>(); + int length = 1; + + while (!queue.isEmpty()) { + String s = queue.poll(); + + if (s.equals(endWord)) { + return length; } - return; - } - for (int i = 1; i <= 3 && index + i <= s.length(); i++) { - String t = s.substring(index, index + i); - int k = Integer.parseInt(t); - if (i == 3 && k > 255) { - break; + + if (!words.isEmpty()) { + StringBuilder sb = new StringBuilder(s); + for (int i = 0; i < s.length(); i++) { + for (char c = 'a'; c <= 'z'; c++) { + if (c == s.charAt(i)) { + continue; + } + + sb.setCharAt(i, c); + String st = sb.toString(); + + if (words.contains(st)) { + next.offer(st); + words.remove(st); + } + } + sb.setCharAt(i, s.charAt(i)); + } } - ips.offer(t); - dfs(s, index + i, ips, result); - ips.pollLast(); - if (k == 0) { - break; + if (queue.isEmpty()) { + queue.addAll(next); + next.clear(); + length++; } } + + return 0; } } public static void main(String[] args) { Solution solution = new Solution(); - List result = solution.restoreIpAddresses("111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"); - for (String s : result) { - System.out.println(s); - } + int len = solution.ladderLength("hit", "cog", Arrays.asList(new String[]{ + "hot", "dot", "dog", "lot", "log" + })); + System.out.println(len); } } From 418bfd20a7b0a71cadd7538636d8a612f52d1171 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 23 Nov 2018 16:14:24 +0800 Subject: [PATCH 57/96] fd --- .../solution/src/TopKFrequentElements.java | 62 +++++++++--------- leetcode/src/Main.java | 64 ++++++------------- 2 files changed, 52 insertions(+), 74 deletions(-) diff --git a/leetcode/solution/src/TopKFrequentElements.java b/leetcode/solution/src/TopKFrequentElements.java index eba3055..01bb7ab 100644 --- a/leetcode/solution/src/TopKFrequentElements.java +++ b/leetcode/solution/src/TopKFrequentElements.java @@ -3,10 +3,39 @@ public class TopKFrequentElements { /** - * 先统计每个元素次数,再用Priority排序 + * 首选方法,时间复杂度O(n),省去了排序 + * 结尾注意list的size大于k了,要截一部分 */ - // 耗时46ms,最差复杂度O(nlgn),当k< topKFrequent(int[] nums, int k) { + Map map = new HashMap(); + int max = 0; + for (int n : nums) { + int count = map.getOrDefault(n, 0) + 1; + map.put(n, count); + max = Math.max(max, count); + } + List[] lists = new LinkedList[max + 1]; + for (int key : map.keySet()) { + int count = map.get(key); + if (lists[count] == null) { + lists[count] = new LinkedList(); + } + lists[count].add(key); + } + List result = new LinkedList(); + for (int i = lists.length - 1; i >= 0 && result.size() < k; i--) { + if (lists[i] != null) { + result.addAll(lists[i]); + } + } + return result.subList(0, k); + } + + /** + * 先统计每个元素次数,再用Priority排序 + */ + // 耗时46ms,最差复杂度O(nlgk),当k< topKFrequent2(int[] nums, int k) { HashMap map = new HashMap<>(); for (int n : nums) { map.put(n, map.getOrDefault(n, 0) + 1); @@ -30,7 +59,7 @@ public int compare(Integer o1, Integer o2) { return list; } - public List topKFrequent2(int[] nums, int k) { + public List topKFrequent3(int[] nums, int k) { Map map = new HashMap<>(); for(int n: nums){ map.put(n, map.getOrDefault(n,0)+1); @@ -52,31 +81,4 @@ public List topKFrequent2(int[] nums, int k) { } return res; } - - // 耗时23ms,时间复杂度O(n),空间复杂度O(n) - // 这里有个问题,result的size可能大于k了 - public List topKFrequent3(int[] nums, int k) { - Map map = new HashMap(); - int max = 0; - for (int n : nums) { - int count = map.getOrDefault(n, 0) + 1; - map.put(n, count); - max = Math.max(max, count); - } - List[] lists = new LinkedList[max + 1]; - for (int key : map.keySet()) { - int count = map.get(key); - if (lists[count] == null) { - lists[count] = new LinkedList(); - } - lists[count].add(key); - } - List result = new LinkedList(); - for (int i = lists.length - 1; i >= 0 && result.size() < k; i--) { - if (lists[i] != null) { - result.addAll(lists[i]); - } - } - return result.subList(0, k); - } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index f01ec96..69db853 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,58 +4,34 @@ public class Main { public static class Solution { - public int ladderLength(String beginWord, String endWord, List wordList) { - HashSet words = new HashSet<>(wordList); - Queue queue = new LinkedList<>(); - queue.offer(beginWord); - - Queue next = new LinkedList<>(); - int length = 1; - - while (!queue.isEmpty()) { - String s = queue.poll(); - - if (s.equals(endWord)) { - return length; - } - - if (!words.isEmpty()) { - StringBuilder sb = new StringBuilder(s); - for (int i = 0; i < s.length(); i++) { - for (char c = 'a'; c <= 'z'; c++) { - if (c == s.charAt(i)) { - continue; - } - - sb.setCharAt(i, c); - String st = sb.toString(); - - if (words.contains(st)) { - next.offer(st); - words.remove(st); - } - } - sb.setCharAt(i, s.charAt(i)); - } + public List topKFrequent(int[] nums, int k) { + HashMap map = new HashMap<>(); + int max = 0; + for (int n : nums) { + int cnt = map.getOrDefault(n, 0) + 1; + map.put(n, cnt); + max = Math.max(max, cnt); + } + List[] lists = new ArrayList[max + 1]; + for (Map.Entry entry : map.entrySet()) { + int freq = entry.getValue(); + if (lists[freq] == null) { + lists[freq] = new ArrayList<>(); } - - if (queue.isEmpty()) { - queue.addAll(next); - next.clear(); - length++; + lists[freq].add(entry.getKey()); + } + List result = new ArrayList<>(); + for (int i = max; i >= 0 && result.size() <= k; i--) { + if (lists[i] != null) { + result.addAll(lists[i]); } } - - return 0; + return result.subList(0, k); } } public static void main(String[] args) { Solution solution = new Solution(); - int len = solution.ladderLength("hit", "cog", Arrays.asList(new String[]{ - "hot", "dot", "dog", "lot", "log" - })); - System.out.println(len); } } From 219b4df1caba1c5cc023cde4d99f8377f9209b5e Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 23 Nov 2018 16:36:07 +0800 Subject: [PATCH 58/96] fd --- README.md | 1 + leetcode/solution/src/MostCommonWord.java | 44 +++++++++++++++++++++++ leetcode/src/Main.java | 27 ++------------ 3 files changed, 48 insertions(+), 24 deletions(-) create mode 100644 leetcode/solution/src/MostCommonWord.java diff --git a/README.md b/README.md index 84dbfd0..e2a358c 100644 --- a/README.md +++ b/README.md @@ -388,5 +388,6 @@ |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| |695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Java](leetcode/solution/src/MaxAreaOfIsland.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| +|819|[Most Common Word](https://leetcode.com/problems/most-common-word/)|[Java](leetcode/solution/src/MostCommonWord.java)|85|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| |929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90|| \ No newline at end of file diff --git a/leetcode/solution/src/MostCommonWord.java b/leetcode/solution/src/MostCommonWord.java new file mode 100644 index 0000000..31649cf --- /dev/null +++ b/leetcode/solution/src/MostCommonWord.java @@ -0,0 +1,44 @@ +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; + +public class MostCommonWord { + + /** + * 要注意结尾的单词 + */ + public String mostCommonWord(String paragraph, String[] banned) { + HashMap map = new HashMap<>(); + HashSet bannes = new HashSet<>(Arrays.asList(banned)); + + String result = null; + int count = 0; + + boolean enterWord = false; + for (int i = 0, j = 0; j <= paragraph.length(); j++) { + char c = j < paragraph.length() ? paragraph.charAt(j) : '.'; + if (Character.isAlphabetic(c)) { + if (!enterWord) { + enterWord = true; + i = j; + } + } else { + if (enterWord) { + enterWord = false; + String word = paragraph.substring(i, j).toLowerCase(); + if (!bannes.contains(word)) { + int cnt = map.getOrDefault(word, 0) + 1; + map.put(word, cnt); + + if (cnt > count) { + count = cnt; + result = word; + } + } + } + } + } + + return result; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 69db853..b102228 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,34 +4,13 @@ public class Main { public static class Solution { - public List topKFrequent(int[] nums, int k) { - HashMap map = new HashMap<>(); - int max = 0; - for (int n : nums) { - int cnt = map.getOrDefault(n, 0) + 1; - map.put(n, cnt); - max = Math.max(max, cnt); - } - List[] lists = new ArrayList[max + 1]; - for (Map.Entry entry : map.entrySet()) { - int freq = entry.getValue(); - if (lists[freq] == null) { - lists[freq] = new ArrayList<>(); - } - lists[freq].add(entry.getKey()); - } - List result = new ArrayList<>(); - for (int i = max; i >= 0 && result.size() <= k; i--) { - if (lists[i] != null) { - result.addAll(lists[i]); - } - } - return result.subList(0, k); - } + } public static void main(String[] args) { Solution solution = new Solution(); + String s = solution.mostCommonWord("Bob", new String[0]); + System.out.println(s); } } From 93e0c52a82d092c78f680d1854ee7f705bf5a622 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 24 Nov 2018 10:07:42 +0800 Subject: [PATCH 59/96] fd --- .../solution/src/InsertDeleteGetRandom.java | 44 +++++++++-------- leetcode/solution/src/ThreeSumClosest.java | 35 ++++++-------- leetcode/src/Main.java | 48 ++++++++++++++++++- 3 files changed, 85 insertions(+), 42 deletions(-) diff --git a/leetcode/solution/src/InsertDeleteGetRandom.java b/leetcode/solution/src/InsertDeleteGetRandom.java index 6f4348d..3be393b 100644 --- a/leetcode/solution/src/InsertDeleteGetRandom.java +++ b/leetcode/solution/src/InsertDeleteGetRandom.java @@ -10,43 +10,47 @@ // 耗时111ms public class InsertDeleteGetRandom { - private HashMap mMap; - private List mList; - private Random mRandom; + ArrayList list; + HashMap map; + Random random; + /** Initialize your data structure here. */ public InsertDeleteGetRandom() { - mList = new ArrayList(); - mMap = new HashMap(); - mRandom = new Random(); + map = new HashMap<>(); + list = new ArrayList<>(); + random = new Random(); } + /** Inserts a value to the set. Returns true if the set did not already contain the specified element. */ public boolean insert(int val) { - if (mMap.containsKey(val)) { + if (map.containsKey(val)) { return false; } - mList.add(val); - mMap.put(val, mList.size() - 1); + list.add(val); + map.put(val, list.size() - 1); return true; } + /** Removes a value from the set. Returns true if the set contained the specified element. */ public boolean remove(int val) { - if (!mMap.containsKey(val)) { + int index = map.getOrDefault(val, -1); + if (index < 0) { return false; } - int index = mMap.remove(val); - int lastIndex = mList.size() - 1; - if (index != lastIndex) { - int lastVal = mList.get(lastIndex); - mList.set(index, lastVal); - // 这里要注意重新设置lastVal的index - mMap.put(lastVal, index); + if (index != list.size() - 1) { + int tail = list.get(list.size() - 1); + list.set(index, tail); + map.put(tail, index); } - mList.remove(lastIndex); + map.remove(val); + list.remove(list.size() - 1); return true; } + /** Get a random element from the set. */ public int getRandom() { - int index = mRandom.nextInt(mList.size()); - return mList.get(index); + int index = random.nextInt(list.size()); + index = (index >= 0 ? index : -index); + return list.get(index); } } diff --git a/leetcode/solution/src/ThreeSumClosest.java b/leetcode/solution/src/ThreeSumClosest.java index 625dc86..7c10b1e 100644 --- a/leetcode/solution/src/ThreeSumClosest.java +++ b/leetcode/solution/src/ThreeSumClosest.java @@ -5,30 +5,25 @@ public class ThreeSumClosest { public int threeSumClosest(int[] nums, int target) { Arrays.sort(nums); - long dis = Integer.MAX_VALUE, result = 0; - - for (int i = 0; i < nums.length - 2; i++) { - int newTarget = target - nums[i]; - - for (int j = i + 1, k = nums.length - 1; j < k; ) { - int sum = nums[j] + nums[k]; - - if (sum > newTarget) { - k--; - } else if (sum < newTarget) { - j++; + int min = Integer.MAX_VALUE, res = 0; + for (int k = 0; k < nums.length - 2; k++) { + + for (int i = k + 1, j = nums.length - 1; i < j; ) { + int sum = nums[k] + nums[i] + nums[j]; + if (sum > target) { + j--; + } else if (sum < target) { + i++; } else { - return target; + return sum; } - - long delta = Math.abs(newTarget - sum); - if (delta < dis) { - dis = delta; - result = sum + nums[i]; + int delta = Math.abs(sum - target); + if (delta < min) { + min = delta; + res = sum; } } } - - return (int) result; + return res; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index b102228..97c85a8 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -7,10 +7,54 @@ public static class Solution { } + class RandomizedSet { + + ArrayList list; + HashMap map; + Random random; + + /** Initialize your data structure here. */ + public RandomizedSet() { + map = new HashMap<>(); + list = new ArrayList<>(); + random = new Random(); + } + + /** Inserts a value to the set. Returns true if the set did not already contain the specified element. */ + public boolean insert(int val) { + if (map.containsKey(val)) { + return false; + } + list.add(val); + map.put(val, list.size() - 1); + return true; + } + + /** Removes a value from the set. Returns true if the set contained the specified element. */ + public boolean remove(int val) { + int index = map.getOrDefault(val, -1); + if (index < 0) { + return false; + } + if (index != list.size() - 1) { + int tail = list.get(list.size() - 1); + list.set(index, tail); + map.put(tail, index); + } + map.remove(val); + list.remove(list.size() - 1); + return true; + } + + /** Get a random element from the set. */ + public int getRandom() { + int index = random.nextInt() % list.size(); + index = (index >= 0 ? index : -index); + return list.get(index); + } + } public static void main(String[] args) { Solution solution = new Solution(); - String s = solution.mostCommonWord("Bob", new String[0]); - System.out.println(s); } } From 5e9b951ae6bb105b69d3cbe23ee2a18d23ac7ca5 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 24 Nov 2018 19:16:55 +0800 Subject: [PATCH 60/96] fd --- leetcode/solution/src/SubarraySumEqualsK.java | 3 + leetcode/src/Main.java | 55 +++---------------- 2 files changed, 12 insertions(+), 46 deletions(-) diff --git a/leetcode/solution/src/SubarraySumEqualsK.java b/leetcode/solution/src/SubarraySumEqualsK.java index bdf26fd..b8fd099 100644 --- a/leetcode/solution/src/SubarraySumEqualsK.java +++ b/leetcode/solution/src/SubarraySumEqualsK.java @@ -8,6 +8,7 @@ public class SubarraySumEqualsK { /** * 注意map.put(0,1),即当前数自己也算是一种 + * TestCase [1], 0,即k=0的情况 */ public int subarraySum(int[] nums, int k) { HashMap map = new HashMap<>(); @@ -15,6 +16,8 @@ public int subarraySum(int[] nums, int k) { int count = 0; for (int i = 0, sum = 0; i < nums.length; i++) { sum += nums[i]; + // 以下两句顺序非常重要,因为两个差要至少相差一个数以上,因此不能刚给当前sum放到Map就参与运算 + // 比如k=0,如果刚给sum放到map就参与运算,那么sum-sum=0的情况是非法的 count += map.getOrDefault(sum - k, 0); map.put(sum, map.getOrDefault(sum, 0) + 1); } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 97c85a8..03c5586 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,53 +4,16 @@ public class Main { public static class Solution { - - } - - class RandomizedSet { - - ArrayList list; - HashMap map; - Random random; - - /** Initialize your data structure here. */ - public RandomizedSet() { - map = new HashMap<>(); - list = new ArrayList<>(); - random = new Random(); - } - - /** Inserts a value to the set. Returns true if the set did not already contain the specified element. */ - public boolean insert(int val) { - if (map.containsKey(val)) { - return false; + public int subarraySum(int[] nums, int k) { + HashMap map = new HashMap<>(); + map.put(0, 1); + int count = 0; + for (int i = 0, sum = 0; i < nums.length; i++) { + sum += nums[i]; + map.put(sum, map.getOrDefault(sum, 0) + 1); + count += map.getOrDefault(sum - k, 0); } - list.add(val); - map.put(val, list.size() - 1); - return true; - } - - /** Removes a value from the set. Returns true if the set contained the specified element. */ - public boolean remove(int val) { - int index = map.getOrDefault(val, -1); - if (index < 0) { - return false; - } - if (index != list.size() - 1) { - int tail = list.get(list.size() - 1); - list.set(index, tail); - map.put(tail, index); - } - map.remove(val); - list.remove(list.size() - 1); - return true; - } - - /** Get a random element from the set. */ - public int getRandom() { - int index = random.nextInt() % list.size(); - index = (index >= 0 ? index : -index); - return list.get(index); + return count; } } From 1cb673257ff72a359b6d49a58687e35e56a45461 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 25 Nov 2018 21:57:43 +0800 Subject: [PATCH 61/96] fd --- README.md | 1 + leetcode/solution/src/TaskScheduler.java | 23 +++++++++++++++++++++++ leetcode/src/Main.java | 17 ++++++++--------- 3 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 leetcode/solution/src/TaskScheduler.java diff --git a/README.md b/README.md index e2a358c..d33e937 100644 --- a/README.md +++ b/README.md @@ -379,6 +379,7 @@ |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| |606|[Construct String from Binary Tree](https://leetcode.com/problems/construct-string-from-binary-tree/)|[Java](leetcode/solution/src/ConstructStringFromBinaryTree.java)|90|| |617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)|100|很简单| +|621|[Task Scheduler](https://leetcode.com/problems/task-scheduler/)|[Java](leetcode/solution/src/TaskScheduler.java)|70|| |637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](leetcode/solution/src/AverageOfLevelsInBinaryTree.java)|100|| |652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](leetcode/solution/src/FindDuplicateSubtrees.java)|70|开始还没思路| |653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](leetcode/solution/src/TwoSumIV.java)|90|| diff --git a/leetcode/solution/src/TaskScheduler.java b/leetcode/solution/src/TaskScheduler.java new file mode 100644 index 0000000..d1b0a17 --- /dev/null +++ b/leetcode/solution/src/TaskScheduler.java @@ -0,0 +1,23 @@ +import java.util.Arrays; + +public class TaskScheduler { + + /** + * 这题关键是先按频率排序,最高频的优先占座,中间隔着stub,然后依次插次低频的 + * 有两种情况, + * 一种是stub不够用,元素不但给stub替换完了,还要多塞元素,如AAAABBBBCCCCDDDD, n=2,这种情况结果是tasks.length + * 第二种是stub太多了,元素替换不完,中间留了不少空,如AABB, n=3,这种情况结果是(count[25] - 1) * n + count[25] + 24 - i + * 这里(count[25] - 1) * n是插入的stub总数,24 - i是除了count[25]外和count[25]同样频率的数的个数 + */ + public int leastInterval(char[] tasks, int n) { + int[] count = new int[26]; + for (char c : tasks) { + count[c - 'A']++; + } + Arrays.sort(count); + int i = 25; + for (; i >= 0 && count[i] == count[25]; i--) ; + // (count[25] - 1) * n + count[25] + 24 - i = (count[25] - 1) * (n + 1) + 25 - i + return Math.max(tasks.length, (count[25] - 1) * (n + 1) + 25 - i); + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 03c5586..ec470ff 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,16 +4,15 @@ public class Main { public static class Solution { - public int subarraySum(int[] nums, int k) { - HashMap map = new HashMap<>(); - map.put(0, 1); - int count = 0; - for (int i = 0, sum = 0; i < nums.length; i++) { - sum += nums[i]; - map.put(sum, map.getOrDefault(sum, 0) + 1); - count += map.getOrDefault(sum - k, 0); + public int leastInterval(char[] tasks, int n) { + int[] count = new int[26]; + for (char c : tasks) { + count[c - 'A']++; } - return count; + Arrays.sort(count); + int i = 25; + for ( ; i >= 0 && count[i] == count[25]; i--); + return Math.max(tasks.length, (count[25] - 1) * (n + 1) + 25 - i); } } From 589b5bcc42d1c53283d24084f0e397f7233b261a Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 26 Nov 2018 11:54:59 +0800 Subject: [PATCH 62/96] fd --- .../src/LargestRectangleInHistogram.java | 7 ++++- leetcode/src/Main.java | 26 +++++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/leetcode/solution/src/LargestRectangleInHistogram.java b/leetcode/solution/src/LargestRectangleInHistogram.java index 237defa..bedb6aa 100644 --- a/leetcode/solution/src/LargestRectangleInHistogram.java +++ b/leetcode/solution/src/LargestRectangleInHistogram.java @@ -23,7 +23,12 @@ public int largestRectangleArea(int[] heights) { return max; } - /** 注意栈中的是index,不是高度 + /** + * 核心思路是用栈保存一个高度递增的index,当出现一个局部最高点时,计算以该最高点为高度的最大面积 + * 该局部最高点的形成可能是新加的柱子较矮,也可能是随着旧的高点不断出栈导致的 + * 该局部高点的特点是"相邻的柱子都比他高",这里相邻的意思是左边延伸到下一个出栈的index,右边延伸到新加的柱子 + * + * 注意栈中的是index,不是高度 * 栈保持递增,当出现小于栈顶的元素时,意味着可以计算栈顶可以延伸的矩形面积了 * 其左边界是次栈顶,右边界是当前元素 */ diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index ec470ff..4c814b2 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,18 +4,28 @@ public class Main { public static class Solution { - public int leastInterval(char[] tasks, int n) { - int[] count = new int[26]; - for (char c : tasks) { - count[c - 'A']++; + public int largestRectangleArea(int[] heights) { + int[] indexes = new int[heights.length + 1]; + int top = -1, max = 0; + + for (int i = 0; i <= heights.length; ) { + int height = i == heights.length ? 0 : heights[i]; + if (top < 0 || height > heights[indexes[top]]) { + indexes[++top] = i++; + } else { + int k = heights[indexes[top--]]; + int left = top < 0 ? 0 : (indexes[top] + 1); + max = Math.max(max, (i - 1 - left + 1) * k); + } } - Arrays.sort(count); - int i = 25; - for ( ; i >= 0 && count[i] == count[25]; i--); - return Math.max(tasks.length, (count[25] - 1) * (n + 1) + 25 - i); + + return max; } + } + + public static void main(String[] args) { Solution solution = new Solution(); } From d53f294ad5459d1613855010375e210de90ca4e3 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 27 Nov 2018 15:22:55 +0800 Subject: [PATCH 63/96] fd --- .../solution/src/FirstMissingPositive.java | 2 +- leetcode/src/Main.java | 29 ++++++++++--------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/leetcode/solution/src/FirstMissingPositive.java b/leetcode/solution/src/FirstMissingPositive.java index aa290f4..8c04de3 100644 --- a/leetcode/solution/src/FirstMissingPositive.java +++ b/leetcode/solution/src/FirstMissingPositive.java @@ -6,7 +6,7 @@ public class FirstMissingPositive { public int firstMissingPositive(int[] nums) { for (int i = 0; i < nums.length; i++) { - while (nums[i] >= 1 && nums[i] <= nums.length && nums[nums[i] - 1] != nums[i]) { + while (nums[i] - 1 >= 0 && nums[i] - 1 < nums.length && nums[nums[i] - 1] != nums[i]) { swap(nums, i, nums[i] - 1); } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 4c814b2..8a2b38d 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,24 +4,25 @@ public class Main { public static class Solution { - public int largestRectangleArea(int[] heights) { - int[] indexes = new int[heights.length + 1]; - int top = -1, max = 0; - - for (int i = 0; i <= heights.length; ) { - int height = i == heights.length ? 0 : heights[i]; - if (top < 0 || height > heights[indexes[top]]) { - indexes[++top] = i++; - } else { - int k = heights[indexes[top--]]; - int left = top < 0 ? 0 : (indexes[top] + 1); - max = Math.max(max, (i - 1 - left + 1) * k); + public int firstMissingPositive(int[] nums) { + for (int i = 0; i < nums.length; i++) { + while (nums[i] - 1 < nums.length && nums[i] - 1 >= 0 && nums[i] != nums[nums[i] - 1]) { + swap(nums, i, nums[i] - 1); } } - - return max; + for (int i = 0; i < nums.length; i++) { + if (nums[i] != i + 1) { + return i + 1; + } + } + return nums.length + 1; } + private void swap(int[] nums, int i, int j) { + int t = nums[i]; + nums[i] = nums[j]; + nums[j] = t; + } } From 845fc374a940d5cc5d539f05e12ab70e45e3561b Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 27 Nov 2018 15:55:44 +0800 Subject: [PATCH 64/96] fd --- leetcode/solution/src/AddBinary.java | 15 ++++---- .../src/LongestIncreasingSubsequence.java | 32 ++++++++--------- leetcode/src/Main.java | 35 ++++++++++--------- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/leetcode/solution/src/AddBinary.java b/leetcode/solution/src/AddBinary.java index e94a5ae..b755a6c 100644 --- a/leetcode/solution/src/AddBinary.java +++ b/leetcode/solution/src/AddBinary.java @@ -2,14 +2,13 @@ public class AddBinary { public String addBinary(String a, String b) { StringBuilder sb = new StringBuilder(); - int i = a.length() - 1, j = b.length() - 1, k = 0; - for ( ; i >= 0 || j >= 0 || k > 0; i--, j--) { - int i0 = i >= 0 ? a.charAt(i) - '0' : 0; - int j0 = j >= 0 ? b.charAt(j) - '0' : 0; - int s = i0 + j0 + k; - sb.insert(0, s & 1); - k = s >> 1; + for (int i = a.length() - 1, j = b.length() - 1, flag = 0; i >= 0 || j >= 0 || flag > 0; i--, j--) { + int k1 = i >= 0 ? a.charAt(i) - '0' : 0; + int k2 = j >= 0 ? b.charAt(j) - '0' : 0; + int sum = k1 + k2 + flag; + sb.append(sum % 2); + flag = sum / 2; } - return sb.toString(); + return sb.reverse().toString(); } } diff --git a/leetcode/solution/src/LongestIncreasingSubsequence.java b/leetcode/solution/src/LongestIncreasingSubsequence.java index b8d1fd8..92e76f3 100644 --- a/leetcode/solution/src/LongestIncreasingSubsequence.java +++ b/leetcode/solution/src/LongestIncreasingSubsequence.java @@ -3,7 +3,7 @@ public class LongestIncreasingSubsequence { /** - * 这题是典型的DP,f[i]包含i的最长子序列长度 + * 这题是典型的DP,f[i]包含i的最长递增子序列长度 */ public int lengthOfLIS(int[] nums) { int n = nums.length; @@ -27,24 +27,22 @@ public int lengthOfLIS(int[] nums) { return max; } + /** + * 核心思路是dp维护了一个递增的序列,dp[i]表示nums中长度为i+1的递增子序列中tail最小的值 + * tail越小意味着之后延长这个序列更容易 + * 为了保证dp[i]是tail最小的,我们遍历nums时,当发现有更小的值时,会替换dp[i] + */ public int lengthOfLIS2(int[] nums) { - int len = 1; - for (int i = 0; i < nums.length; i++) { - /** - * 注意这里要指定区间,且end是开区间 - */ - int k = Arrays.binarySearch(nums, 0, len, nums[i]); - /** - * 只处理k<0的情况 - */ - if (k < 0) { - k = -(k + 1); - if (k == len) { - len++; - } - nums[k] = nums[i]; - } + int[] dp = new int[nums.length]; + int len = 0; + + for(int x : nums) { + int i = Arrays.binarySearch(dp, 0, len, x); + if(i < 0) i = -(i + 1); + dp[i] = x; + if(i == len) len++; } + return len; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 8a2b38d..072eddb 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,29 +4,32 @@ public class Main { public static class Solution { - public int firstMissingPositive(int[] nums) { - for (int i = 0; i < nums.length; i++) { - while (nums[i] - 1 < nums.length && nums[i] - 1 >= 0 && nums[i] != nums[nums[i] - 1]) { - swap(nums, i, nums[i] - 1); - } + class MinStack { + + /** initialize your data structure here. */ + public MinStack() { + } - for (int i = 0; i < nums.length; i++) { - if (nums[i] != i + 1) { - return i + 1; - } + + public void push(int x) { + + } + + public void pop() { + + } + + public int top() { + } - return nums.length + 1; - } - private void swap(int[] nums, int i, int j) { - int t = nums[i]; - nums[i] = nums[j]; - nums[j] = t; + public int getMin() { + + } } } - public static void main(String[] args) { Solution solution = new Solution(); } From 42d155dfa084c4904b288fd4dba741cc4441e0fa Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 27 Nov 2018 17:03:55 +0800 Subject: [PATCH 65/96] fd --- .../src/KthLargestElementInArray.java | 19 ++++++- leetcode/src/Main.java | 52 +++++++++++++------ 2 files changed, 55 insertions(+), 16 deletions(-) diff --git a/leetcode/solution/src/KthLargestElementInArray.java b/leetcode/solution/src/KthLargestElementInArray.java index 119617b..11898be 100644 --- a/leetcode/solution/src/KthLargestElementInArray.java +++ b/leetcode/solution/src/KthLargestElementInArray.java @@ -1,5 +1,6 @@ import java.util.Arrays; import java.util.PriorityQueue; +import java.util.Random; public class KthLargestElementInArray { @@ -26,11 +27,23 @@ public int findKthLargest3(int[] nums, int k) { // T(n) = T(n / 2) + n = O(2n) // 对比快速排序T(n) = 2T(n / 2) + n = O(nlgn) // 区别在于这个被pivot分隔后,只用处理其中的一半,而快排两边都要处理 - // 耗时18ms + + /** + * shuffle非常有必要,性能提升很大 + */ public int findKthLargest(int[] nums, int k) { + shuffle(nums); return findKthLargest(nums, 0, nums.length - 1, k); } + private void shuffle(int[] nums) { + Random rnd = new Random(System.currentTimeMillis()); + for (int i = nums.length - 1; i > 1; i--) { + int index = rnd.nextInt(i + 1); + swap(nums, index, i); + } + } + public int findKthLargest(int[] nums, int start, int end, int k) { int pivot = partition(nums, start, end); @@ -45,6 +58,10 @@ public int findKthLargest(int[] nums, int start, int end, int k) { } } + /** + * 这里两端都是闭区间 + * 这里将数组分为两部分,左边小于pivot,右边大于pivot,中间可能等于pivot + */ public int partition(int[] nums, int start, int end) { int pivot = nums[end], left = start, right = end - 1; diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 072eddb..cb0b1e1 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,28 +4,50 @@ public class Main { public static class Solution { - class MinStack { - - /** initialize your data structure here. */ - public MinStack() { - - } - - public void push(int x) { + public int findKthLargest(int[] nums, int k) { + shuffle(nums); + return findKthLargest(nums, 0, nums.length - 1, k); + } + private void shuffle(int[] nums) { + Random rnd = new Random(System.currentTimeMillis()); + for (int i = nums.length - 1; i > 1; i--) { + int index = rnd.nextInt(i + 1); + swap(nums, index, i); } + } - public void pop() { - + public int findKthLargest(int[] nums, int start, int end, int k) { + int index = partition(nums, start, end); + int count = end - index + 1; + if (count < k) { + return findKthLargest(nums, start, index - 1, k - count); + } else if (count > k) { + return findKthLargest(nums, index + 1, end, k); + } else { + return nums[index]; } + } - public int top() { - + private int partition(int[] nums, int start, int end) { + int left = start, right = end -1, pivot = nums[end]; + for (int i = start; i < right; ) { + if (nums[i] < pivot) { + swap(nums, left++, i++); + } else if (nums[i] > pivot) { + swap(nums, right--, i); + } else { + i++; + } } + swap(nums, left, end); + return left; + } - public int getMin() { - - } + private void swap(int[] nums, int i, int j) { + int t = nums[i]; + nums[i] = nums[j]; + nums[j] = t; } } From 600d7aa6c2df49188927ee2bef494978e7cb76a7 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 27 Nov 2018 17:32:52 +0800 Subject: [PATCH 66/96] fd --- README.md | 1 + .../src/KthLargestElementInAStream.java | 26 +++++++++ .../src/KthLargestElementInArray.java | 3 + leetcode/solution/src/ThirdMaximumNumber.java | 28 ++++------ leetcode/src/Main.java | 55 ++++++------------- 5 files changed, 56 insertions(+), 57 deletions(-) create mode 100644 leetcode/solution/src/KthLargestElementInAStream.java diff --git a/README.md b/README.md index d33e937..1abb555 100644 --- a/README.md +++ b/README.md @@ -388,6 +388,7 @@ |681|[Next Closest Time](https://leetcode.com/problems/next-closest-time/)|[Java](leetcode/solution/src/NextClosestTime.java)|80|这题多做几遍| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| |695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Java](leetcode/solution/src/MaxAreaOfIsland.java)|100|| +|703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| |819|[Most Common Word](https://leetcode.com/problems/most-common-word/)|[Java](leetcode/solution/src/MostCommonWord.java)|85|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| diff --git a/leetcode/solution/src/KthLargestElementInAStream.java b/leetcode/solution/src/KthLargestElementInAStream.java new file mode 100644 index 0000000..27cff7b --- /dev/null +++ b/leetcode/solution/src/KthLargestElementInAStream.java @@ -0,0 +1,26 @@ +import java.util.PriorityQueue; +import java.util.Queue; + +public class KthLargestElementInAStream { + + class KthLargest { + + Queue queue = new PriorityQueue<>(); + int capacity; + + public KthLargest(int k, int[] nums) { + capacity = k; + for (int n : nums) { + queue.offer(n); + } + } + + public int add(int val) { + queue.offer(val); + while (queue.size() > capacity) { + queue.poll(); + } + return queue.peek(); + } + } +} diff --git a/leetcode/solution/src/KthLargestElementInArray.java b/leetcode/solution/src/KthLargestElementInArray.java index 11898be..6a55336 100644 --- a/leetcode/solution/src/KthLargestElementInArray.java +++ b/leetcode/solution/src/KthLargestElementInArray.java @@ -2,6 +2,9 @@ import java.util.PriorityQueue; import java.util.Random; +/** + * 注意本题不是返回第k大的distinct number + */ public class KthLargestElementInArray { // 耗时15ms,时间复杂度O(nlgk),空间复杂度O(k) diff --git a/leetcode/solution/src/ThirdMaximumNumber.java b/leetcode/solution/src/ThirdMaximumNumber.java index 0a84cba..6621e58 100644 --- a/leetcode/solution/src/ThirdMaximumNumber.java +++ b/leetcode/solution/src/ThirdMaximumNumber.java @@ -4,32 +4,24 @@ public class ThirdMaximumNumber { public int thirdMax(int[] nums) { - int count = 0; - long first = (long) Integer.MIN_VALUE - 1; - long second = (long) Integer.MIN_VALUE - 1; - long third = (long) Integer.MIN_VALUE - 1; + long second = first, third = first; - for (int n : nums) { - if (n == first || n == second || n == third) { + for (int i = 0; i < nums.length; i++) { + if (nums[i] == first || nums[i] == second || nums[i] == third) { continue; } - - if (n > first) { - count++; + if (nums[i] > first) { third = second; second = first; - first = n; - } else if (n > second) { - count++; + first = nums[i]; + } else if (nums[i] > second) { third = second; - second = n; - } else if (n >= third) { - count++; - third = n; + second = nums[i]; + } else if (nums[i] > third) { + third = nums[i]; } } - - return (int) (count >= 3 ? third : first); + return (int) (third >= Integer.MIN_VALUE ? third : first); } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index cb0b1e1..be58596 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,54 +4,31 @@ public class Main { public static class Solution { - public int findKthLargest(int[] nums, int k) { - shuffle(nums); - return findKthLargest(nums, 0, nums.length - 1, k); - } - private void shuffle(int[] nums) { - Random rnd = new Random(System.currentTimeMillis()); - for (int i = nums.length - 1; i > 1; i--) { - int index = rnd.nextInt(i + 1); - swap(nums, index, i); - } - } - public int findKthLargest(int[] nums, int start, int end, int k) { - int index = partition(nums, start, end); - int count = end - index + 1; - if (count < k) { - return findKthLargest(nums, start, index - 1, k - count); - } else if (count > k) { - return findKthLargest(nums, index + 1, end, k); - } else { - return nums[index]; - } - } + } + + class KthLargest { + + Queue queue = new PriorityQueue<>(); + int capacity; - private int partition(int[] nums, int start, int end) { - int left = start, right = end -1, pivot = nums[end]; - for (int i = start; i < right; ) { - if (nums[i] < pivot) { - swap(nums, left++, i++); - } else if (nums[i] > pivot) { - swap(nums, right--, i); - } else { - i++; - } + public KthLargest(int k, int[] nums) { + capacity = k; + for (int n : nums) { + queue.offer(n); } - swap(nums, left, end); - return left; } - private void swap(int[] nums, int i, int j) { - int t = nums[i]; - nums[i] = nums[j]; - nums[j] = t; + public int add(int val) { + queue.offer(val); + while (queue.size() > capacity) { + queue.poll(); + } + return queue.peek(); } } - public static void main(String[] args) { Solution solution = new Solution(); } From 0108a40ad3f96f19a2cb83d38d883bc7bc1fb858 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 27 Nov 2018 17:46:26 +0800 Subject: [PATCH 67/96] fd --- README.md | 1 + .../src/FindTheClosestPalindrome.java | 28 ++++++++++++++ leetcode/src/Main.java | 37 ++++++++++--------- 3 files changed, 48 insertions(+), 18 deletions(-) create mode 100644 leetcode/solution/src/FindTheClosestPalindrome.java diff --git a/README.md b/README.md index 1abb555..be3757f 100644 --- a/README.md +++ b/README.md @@ -377,6 +377,7 @@ |547|[Friend Circles](https://leetcode.com/problems/friend-circles/)|[Java](leetcode/solution/src/FriendCircles.java)|70|| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| +|564|[Find the Closest Palindrome](https://leetcode.com/problems/find-the-closest-palindrome/)|[Java](leetcode/solution/src/FindTheClosestPalindrome.java)|80|此题暴力法即可| |606|[Construct String from Binary Tree](https://leetcode.com/problems/construct-string-from-binary-tree/)|[Java](leetcode/solution/src/ConstructStringFromBinaryTree.java)|90|| |617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)|100|很简单| |621|[Task Scheduler](https://leetcode.com/problems/task-scheduler/)|[Java](leetcode/solution/src/TaskScheduler.java)|70|| diff --git a/leetcode/solution/src/FindTheClosestPalindrome.java b/leetcode/solution/src/FindTheClosestPalindrome.java new file mode 100644 index 0000000..dc3156f --- /dev/null +++ b/leetcode/solution/src/FindTheClosestPalindrome.java @@ -0,0 +1,28 @@ +public class FindTheClosestPalindrome { + + /** + * 此题只给出暴力法 + * 此种题目太math了,一般不会问 + */ + public String nearestPalindromic(String n) { + long val = Long.parseLong(n); + for (int i = 0; ; i++) { + long k1 = val - i, k2 = val + i; + if (isPalindrome(k1)) { + return String.valueOf(k1); + } + if (isPalindrome(k2)) { + return String.valueOf(k2); + } + } + } + + private boolean isPalindrome(long k) { + long x = k, rev = 0; + for ( ; k > 0; ) { + rev = rev * 10 + k % 10; + k /= 10; + } + return rev == x; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index be58596..e6c401c 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,32 +4,33 @@ public class Main { public static class Solution { - - - } - - class KthLargest { - - Queue queue = new PriorityQueue<>(); - int capacity; - - public KthLargest(int k, int[] nums) { - capacity = k; - for (int n : nums) { - queue.offer(n); + public String nearestPalindromic(String n) { + long val = Long.parseLong(n); + for (int i = 0; ; i++) { + long k1 = val - i, k2 = val + i; + if (isPalindrome(k1)) { + return String.valueOf(k1); + } + if (isPalindrome(k2)) { + return String.valueOf(k2); + } } } - public int add(int val) { - queue.offer(val); - while (queue.size() > capacity) { - queue.poll(); + private boolean isPalindrome(long k) { + long x = k, rev = 0; + for ( ; k > 0; ) { + rev = rev * 10 + k % 10; + k /= 10; } - return queue.peek(); + return rev == x; } + } public static void main(String[] args) { Solution solution = new Solution(); + String s = solution.nearestPalindromic("807045053224792883"); + System.out.println(s); } } From 0530dc0e1f23837249cd2f698018df526ff96677 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 27 Nov 2018 19:18:59 +0800 Subject: [PATCH 68/96] fd --- README.md | 1 + leetcode/solution/src/KEmptySlots.java | 58 ++++++++++++++++++++++++++ leetcode/src/Main.java | 48 ++++++++++++--------- 3 files changed, 88 insertions(+), 19 deletions(-) create mode 100644 leetcode/solution/src/KEmptySlots.java diff --git a/README.md b/README.md index be3757f..4ebd7db 100644 --- a/README.md +++ b/README.md @@ -387,6 +387,7 @@ |654|[Maximum Binary Tree](https://leetcode.com/problems/maximum-binary-tree/description/)|[Java](leetcode/solution/src/MaximumBinaryTree.java)|100|| |669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|[Java](leetcode/solution/src/TrimABinarySearchTree.java)|100|| |681|[Next Closest Time](https://leetcode.com/problems/next-closest-time/)|[Java](leetcode/solution/src/NextClosestTime.java)|80|这题多做几遍| +|683|[K Empty Slots](https://leetcode.com/problems/k-empty-slots/)|[Java](leetcode/solution/src/KEmptySlots.java)|80|| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| |695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Java](leetcode/solution/src/MaxAreaOfIsland.java)|100|| |703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100|| diff --git a/leetcode/solution/src/KEmptySlots.java b/leetcode/solution/src/KEmptySlots.java new file mode 100644 index 0000000..e63d7a7 --- /dev/null +++ b/leetcode/solution/src/KEmptySlots.java @@ -0,0 +1,58 @@ +import java.util.TreeSet; + +/** + * 这题意思是第i盆花第flowers[i]天开,问第几天的时候存在这么一种情况:有两盆已经开的花中间恰好隔着k盆没开的花 + */ +public class KEmptySlots { + + public int kEmptySlots(int[] flowers, int k) { + TreeSet map = new TreeSet<>(); + for (int i = 0; i < flowers.length; i++) { + int flower = flowers[i] - 1; + map.add(flower); + + Integer key = map.ceiling(flower + 1); + if (key != null && key - flower == k + 1) { + return i + 1; + } + key = map.floor(flower - 1); + if (key != null && flower - key == k + 1) { + return i + 1; + } + } + + return -1; + } + + /** + * 时间复杂度O(n) + * days表示第i盆花第几天开 + * 天数越大,表示花开的越晚 + * 对于(left, right)这个区间,(这个区间刚好相隔k),如果days值都比left和right大,说明(left,right)区间的花都开的比left和right晚 + * 换言之,在left和right开的时候,中间的花都没开,而left和right刚好相隔k,符合条件。 + * 我们选择left和right之中较大的那个值作为备选结果之一,选取较大是因为表示发生的较晚,刚好触发条件 + * 但是题目要返回最早的那一天,所以我们要继续遍历下去 + * + * 此外还要注意,当发现(left,right)区间存在不符合条件的情况,则sliding window要从i开始,因为如果从(left,i)区间的任何一个数开始,都不会符合条件 + * 另外当找到一组符合条件的情况后,sliding window也要从i开始,也就是从right开始,假如从left+1开始,则当前的right就不符合大于sliding window两端的条件了 + */ + public int kEmptySlots2(int[] flowers, int k) { + int[] days = new int[flowers.length]; + for (int i = 0; i < flowers.length; i++) days[flowers[i] - 1] = i + 1; + int left = 0, right = k + 1, res = Integer.MAX_VALUE; + for (int i = left + 1; i <= right && right < days.length; i++) { + if (i == right) { + res = Math.min(res, Math.max(days[left], days[right])); + left = i; + right = k + 1 + i; + continue; + } + + if (days[i] < days[left] || days[i] < days[right]) { + left = i; + right = k + 1 + i; + } + } + return (res == Integer.MAX_VALUE) ? -1 : res; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index e6c401c..249264f 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -1,36 +1,46 @@ +import com.sun.org.apache.xpath.internal.operations.Bool; + import java.util.*; public class Main { public static class Solution { - public String nearestPalindromic(String n) { - long val = Long.parseLong(n); - for (int i = 0; ; i++) { - long k1 = val - i, k2 = val + i; - if (isPalindrome(k1)) { - return String.valueOf(k1); - } - if (isPalindrome(k2)) { - return String.valueOf(k2); + public int kEmptySlots(int[] flowers, int k) { + int[] days = new int[flowers.length]; + for (int i = 0; i < flowers.length; i++) days[flowers[i] - 1] = i + 1; + int left = 0, right = k + 1, res = Integer.MAX_VALUE; + for (int i = left + 1; i <= right && right < days.length; i++) { + if (i == right) { + res = Math.min(res, Math.max(days[left], days[right])); } - } - } - private boolean isPalindrome(long k) { - long x = k, rev = 0; - for ( ; k > 0; ) { - rev = rev * 10 + k % 10; - k /= 10; + if (days[i] < days[left] || days[i] < days[right]) { + left = i; + right = k + 1 + i; + } } - return rev == x; + return (res == Integer.MAX_VALUE) ? -1 : res; } } public static void main(String[] args) { Solution solution = new Solution(); - String s = solution.nearestPalindromic("807045053224792883"); - System.out.println(s); + + TreeMap map = new TreeMap<>(); + int[] nums = {4, 1, 7, 5, 2, 8, 10, 0}; + for (int n : nums) { + map.put(n, true); + } + for (int k : map.keySet()) { + System.out.print(k + " "); + } + + int n = solution.kEmptySlots(new int[]{ + 1, 2, 3 + }, 1); + System.out.println(n); + } } From 05cd469466cb597205b1e874007d981d6b3836f6 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 4 Dec 2018 23:29:45 +0800 Subject: [PATCH 69/96] good problem --- README.md | 1 + .../src/MinimumCostToHireKWorkers.java | 55 +++++++++++++++ leetcode/src/Main.java | 68 +++++++++++-------- 3 files changed, 97 insertions(+), 27 deletions(-) create mode 100644 leetcode/solution/src/MinimumCostToHireKWorkers.java diff --git a/README.md b/README.md index 4ebd7db..473aa08 100644 --- a/README.md +++ b/README.md @@ -393,5 +393,6 @@ |703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| |819|[Most Common Word](https://leetcode.com/problems/most-common-word/)|[Java](leetcode/solution/src/MostCommonWord.java)|85|| +|857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java|70|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| |929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90|| \ No newline at end of file diff --git a/leetcode/solution/src/MinimumCostToHireKWorkers.java b/leetcode/solution/src/MinimumCostToHireKWorkers.java new file mode 100644 index 0000000..2741a11 --- /dev/null +++ b/leetcode/solution/src/MinimumCostToHireKWorkers.java @@ -0,0 +1,55 @@ +import java.util.Comparator; +import java.util.PriorityQueue; +import java.util.Queue; + +public class MinimumCostToHireKWorkers { + + class Man { + int quality; + int wage; + + Man(int a, int b) { + quality = a; + wage = b; + } + + double ratio() { + return (double) wage / quality; + } + } + + /** + * 这题意思是选取K个工人,保证付给他们的工资和quality的比例都是一样的,且不低于他们的期望工资,问最少付的工资是多少 + * 定义性价比为wage/quality,这个值越小表示性价比越高 + * 将所有工人按性价比排序,显然要少付工资,当然尽可能选取更多的高性价比工人 + * 为了满足所有人工资和quality比例都一样,这个比例显然是所选的K个工人中性价比最低的那个 + * 不能完全按性价比来,因为可能存在的情况是高性价比quality也高,在ratio一定的情况下,要付出的总工资也多 + * 所以要对性价比从高到低地遍历工人,边遍历边当满足K个人数的时候计算要付出的工资,人数超的时候踢掉quality最高的那个人,因为越往后遍历ratio越大,那么总体的quality + * 要尽可能小才行 + */ + public double mincostToHireWorkers(int[] quality, int[] wage, int K) { + Queue queue = new PriorityQueue<>(new Comparator() { + @Override + public int compare(Man o1, Man o2) { + return o1.ratio() > o2.ratio() ? 1 : -1; + } + }); + for (int i = 0; i < quality.length; i++) { + queue.offer(new Man(quality[i], wage[i])); + } + double money = Integer.MAX_VALUE, qsum = 0; + Queue queue2 = new PriorityQueue<>(Comparator.reverseOrder()); + while (!queue.isEmpty()) { + Man man = queue.poll(); + qsum += man.quality; + queue2.offer(man.quality); + if (queue2.size() > K) { + qsum -= queue2.poll(); + } + if (queue2.size() == K) { + money = Math.min(money, qsum * man.ratio()); + } + } + return money; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 249264f..2be7409 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,43 +4,57 @@ public class Main { - public static class Solution { + static class Man { + int quality; + int wage; - public int kEmptySlots(int[] flowers, int k) { - int[] days = new int[flowers.length]; - for (int i = 0; i < flowers.length; i++) days[flowers[i] - 1] = i + 1; - int left = 0, right = k + 1, res = Integer.MAX_VALUE; - for (int i = left + 1; i <= right && right < days.length; i++) { - if (i == right) { - res = Math.min(res, Math.max(days[left], days[right])); - } + Man(int a, int b) { + quality = a; + wage = b; + } - if (days[i] < days[left] || days[i] < days[right]) { - left = i; - right = k + 1 + i; + double ratio() { + return (double) wage / quality; + } + } + + public static class Solution { + public double mincostToHireWorkers(int[] quality, int[] wage, int K) { + Queue queue = new PriorityQueue<>(new Comparator() { + @Override + public int compare(Man o1, Man o2) { + return o1.ratio() > o2.ratio() ? 1 : -1; } + }); + for (int i = 0; i < quality.length; i++) { + queue.offer(new Man(quality[i], wage[i])); } - return (res == Integer.MAX_VALUE) ? -1 : res; + double money = Integer.MAX_VALUE, qsum = 0; + Queue queue2 = new PriorityQueue<>(Comparator.reverseOrder()); + while (!queue.isEmpty()) { + Man man = queue.poll(); + qsum += man.quality; + queue2.offer(man.quality); + if (queue2.size() > K) { + qsum -= queue2.poll(); + } + if (queue2.size() == K) { + money = Math.min(money, qsum * man.ratio()); + } + } + return money; } - } public static void main(String[] args) { Solution solution = new Solution(); - TreeMap map = new TreeMap<>(); - int[] nums = {4, 1, 7, 5, 2, 8, 10, 0}; - for (int n : nums) { - map.put(n, true); - } - for (int k : map.keySet()) { - System.out.print(k + " "); - } - - int n = solution.kEmptySlots(new int[]{ - 1, 2, 3 - }, 1); - System.out.println(n); + double s = solution.mincostToHireWorkers(new int[] { + 3,1,10,10,1 + }, new int[] { + 4,8,2,2,7 + },3); + System.out.println(s); } } From 2a01dfefd1eec4b9899f6af82693b7fd44d9ef4d Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 5 Dec 2018 08:27:42 +0800 Subject: [PATCH 70/96] fd --- README.md | 1 + .../solution/src/BackspaceStringCompare.java | 35 +++++++++++ leetcode/src/Main.java | 60 ++++++++----------- 3 files changed, 62 insertions(+), 34 deletions(-) create mode 100644 leetcode/solution/src/BackspaceStringCompare.java diff --git a/README.md b/README.md index 473aa08..78aac6d 100644 --- a/README.md +++ b/README.md @@ -393,6 +393,7 @@ |703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| |819|[Most Common Word](https://leetcode.com/problems/most-common-word/)|[Java](leetcode/solution/src/MostCommonWord.java)|85|| +|844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/)|[Java](leetcode/solution/src/BackspaceStringCompare.java)|100|| |857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java|70|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| |929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90|| \ No newline at end of file diff --git a/leetcode/solution/src/BackspaceStringCompare.java b/leetcode/solution/src/BackspaceStringCompare.java new file mode 100644 index 0000000..8d00fe6 --- /dev/null +++ b/leetcode/solution/src/BackspaceStringCompare.java @@ -0,0 +1,35 @@ +import java.util.Stack; + +public class BackspaceStringCompare { + + public boolean backspaceCompare(String S, String T) { + Stack stack1 = new Stack<>(); + Stack stack2 = new Stack<>(); + for (int i = 0; i < S.length(); i++) { + helper(stack1, S, i); + } + for (int i = 0; i < T.length(); i++) { + helper(stack2, T, i); + } + while (!stack1.isEmpty() && !stack2.isEmpty()) { + if (!stack1.pop().equals(stack2.pop())) { + return false; + } + } + return stack1.isEmpty() && stack2.isEmpty(); + } + + private void helper(Stack stack, String s, int i) { + if (i >= s.length()) { + return; + } + char c = s.charAt(i); + if (c == '#') { + if (!stack.isEmpty()) { + stack.pop(); + } + } else { + stack.push(c); + } + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 2be7409..5a6ec83 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,45 +4,37 @@ public class Main { - static class Man { - int quality; - int wage; - - Man(int a, int b) { - quality = a; - wage = b; - } - - double ratio() { - return (double) wage / quality; - } - } - public static class Solution { - public double mincostToHireWorkers(int[] quality, int[] wage, int K) { - Queue queue = new PriorityQueue<>(new Comparator() { - @Override - public int compare(Man o1, Man o2) { - return o1.ratio() > o2.ratio() ? 1 : -1; - } - }); - for (int i = 0; i < quality.length; i++) { - queue.offer(new Man(quality[i], wage[i])); + public boolean backspaceCompare(String S, String T) { + if (S.length() < T.length()) { + return backspaceCompare(T, S); + } + Stack stack1 = new Stack<>(); + Stack stack2 = new Stack<>(); + for (int i = 0; i < S.length(); i++) { + helper(stack1, S, i); + helper(stack2, T, i); } - double money = Integer.MAX_VALUE, qsum = 0; - Queue queue2 = new PriorityQueue<>(Comparator.reverseOrder()); - while (!queue.isEmpty()) { - Man man = queue.poll(); - qsum += man.quality; - queue2.offer(man.quality); - if (queue2.size() > K) { - qsum -= queue2.poll(); + while (!stack1.isEmpty() && !stack2.isEmpty()) { + if (!stack1.pop().equals(stack2.pop())) { + return false; } - if (queue2.size() == K) { - money = Math.min(money, qsum * man.ratio()); + } + return stack1.isEmpty() && stack2.isEmpty(); + } + + private void helper(Stack stack, String s, int i) { + if (i >= s.length()) { + return; + } + char c = s.charAt(i); + if (c == '#') { + if (!stack.isEmpty()) { + stack.pop(); } + } else { + stack.push(c); } - return money; } } From 0a0e27ca8d39bcc48f9ac38097f7c3c96562c4c6 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 5 Dec 2018 09:33:00 +0800 Subject: [PATCH 71/96] new problem --- README.md | 1 + leetcode/solution/src/GuessTheWord.java | 41 +++++++++++++++++++++ leetcode/src/Main.java | 47 ++++++++++++------------- 3 files changed, 65 insertions(+), 24 deletions(-) create mode 100644 leetcode/solution/src/GuessTheWord.java diff --git a/README.md b/README.md index 78aac6d..7bb9458 100644 --- a/README.md +++ b/README.md @@ -393,6 +393,7 @@ |703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| |819|[Most Common Word](https://leetcode.com/problems/most-common-word/)|[Java](leetcode/solution/src/MostCommonWord.java)|85|| +|843|[Guess the Word](https://leetcode.com/problems/guess-the-word/)|[Java](leetcode/solution/src/GuessTheWord.java)|90|| |844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/)|[Java](leetcode/solution/src/BackspaceStringCompare.java)|100|| |857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java|70|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| diff --git a/leetcode/solution/src/GuessTheWord.java b/leetcode/solution/src/GuessTheWord.java new file mode 100644 index 0000000..2a413fe --- /dev/null +++ b/leetcode/solution/src/GuessTheWord.java @@ -0,0 +1,41 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class GuessTheWord { + + public interface Master { + int guess(String word); + } + + /** + * 这题的意思是有一个word列表,取其中一个作为secret,现在让你来猜哪个是secret,最多猜10次, + * 你每猜一个单词,就告诉你这个单词和secret匹配的字母数。 + * 这里的思路很直接,就是随机取一个单词开始,获得了匹配的字母数后在单词列表中找到可能的候选项 + * 然后再迭代一次,这样猜10次 + */ + public void findSecretWord(String[] wordlist, Master master) { + Random random = new Random(); + for (int i = 0; i < 10; i++) { + String word = wordlist[random.nextInt(wordlist.length)]; + int match = master.guess(word); + List list = new ArrayList<>(); + for (String s : wordlist) { + if (match(s, word) == match) { + list.add(s); + } + } + wordlist = list.toArray(new String[0]); + } + } + + private int match(String s, String t) { + int match = 0; + for (int i = 0; i < s.length(); i++) { + if (s.charAt(i) == t.charAt(i)) { + match++; + } + } + return match; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 5a6ec83..13c5f7f 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -5,36 +5,35 @@ public class Main { public static class Solution { - public boolean backspaceCompare(String S, String T) { - if (S.length() < T.length()) { - return backspaceCompare(T, S); - } - Stack stack1 = new Stack<>(); - Stack stack2 = new Stack<>(); - for (int i = 0; i < S.length(); i++) { - helper(stack1, S, i); - helper(stack2, T, i); - } - while (!stack1.isEmpty() && !stack2.isEmpty()) { - if (!stack1.pop().equals(stack2.pop())) { - return false; + + public interface Master { + int guess(String word); + } + + + public void findSecretWord(String[] wordlist, Master master) { + Random random = new Random(); + for (int i = 0; i < 10; i++) { + String word = wordlist[random.nextInt(wordlist.length)]; + int match = master.guess(word); + List list = new ArrayList<>(); + for (String s : wordlist) { + if (match(s, word) == match) { + list.add(s); + } } + wordlist = list.toArray(new String[0]); } - return stack1.isEmpty() && stack2.isEmpty(); } - private void helper(Stack stack, String s, int i) { - if (i >= s.length()) { - return; - } - char c = s.charAt(i); - if (c == '#') { - if (!stack.isEmpty()) { - stack.pop(); + private int match(String s, String t) { + int match = 0; + for (int i = 0; i < s.length(); i++) { + if (s.charAt(i) == t.charAt(i)) { + match++; } - } else { - stack.push(c); } + return match; } } From 0d35982b677c3a31f5244bffb943de07c291e7c4 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 5 Dec 2018 10:07:10 +0800 Subject: [PATCH 72/96] new problem --- README.md | 1 + leetcode/solution/src/BullsAndCows.java | 44 ++++++++++++++++++ leetcode/src/Main.java | 60 +++++++++++++------------ 3 files changed, 76 insertions(+), 29 deletions(-) create mode 100644 leetcode/solution/src/BullsAndCows.java diff --git a/README.md b/README.md index 7bb9458..1184d92 100644 --- a/README.md +++ b/README.md @@ -269,6 +269,7 @@ |295|[Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/)| [Java](leetcode/solution/src/FindMedianFromDataStream.java)|| |297|[Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/)|[Java](leetcode/solution/src/Codec.java)|80|好题目,多做做,递归的非递归的| |298|[Binary Tree Longest Consecutive Sequence](https://leetcode.com/problems/binary-tree-longest-consecutive-sequence/)| [Java](leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java)|70|多做三遍,尽可能简洁| +|299|[Bulls and Cows](https://leetcode.com/problems/bulls-and-cows/)|[Java](leetcode/solution/src/BullsAndCows.java)|| |300|[Longest Increasing Subsequence](https://leetcode.com/problems/longest-increasing-subsequence/)| [Java](leetcode/solution/src/LongestIncreasingSubsequence.java)|| |301|[Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses/)| [Java](leetcode/solution/src/RemoveInvalidParentheses.java)|70|比较难,多做几遍| |302|[Smallest Rectangle Enclosing Black Pixels](https://leetcode.com/problems/smallest-rectangle-enclosing-black-pixels/)| [Java](leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java)||| diff --git a/leetcode/solution/src/BullsAndCows.java b/leetcode/solution/src/BullsAndCows.java new file mode 100644 index 0000000..4e1c7b1 --- /dev/null +++ b/leetcode/solution/src/BullsAndCows.java @@ -0,0 +1,44 @@ +import java.util.HashMap; +import java.util.HashSet; +import java.util.Set; + +public class BullsAndCows { + + public String getHint(String secret, String guess) { + HashMap> map1 = new HashMap<>(); + HashMap> map2 = new HashMap<>(); + for (int i = 0; i < secret.length(); i++) { + Set set = map1.getOrDefault(secret.charAt(i), new HashSet<>()); + set.add(i); + map1.put(secret.charAt(i), set); + } + for (int i = 0; i < guess.length(); i++) { + Set set = map2.getOrDefault(guess.charAt(i), new HashSet<>()); + set.add(i); + map2.put(guess.charAt(i), set); + } + int bulls = 0, cows = 0; + for (Character c : map2.keySet()) { + Set set1 = map1.get(c); + + if (set1 == null) { + continue; + } + + Set set2 = map2.get(c); + + int count = 0; + + for (Integer index : set2) { + if (set1.contains(index)) { + count++; + } + } + + bulls += count; + cows += Math.min(set1.size(), set2.size()) - count; + } + + return String.format("%dA%dB", bulls, cows); + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 13c5f7f..58fac0c 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,46 +6,48 @@ public class Main { public static class Solution { - public interface Master { - int guess(String word); - } + public String getHint(String secret, String guess) { + HashMap> map1 = new HashMap<>(); + HashMap> map2 = new HashMap<>(); + for (int i = 0; i < secret.length(); i++) { + Set set = map1.getOrDefault(secret.charAt(i), new HashSet<>()); + set.add(i); + map1.put(secret.charAt(i), set); + } + for (int i = 0; i < guess.length(); i++) { + Set set = map2.getOrDefault(guess.charAt(i), new HashSet<>()); + set.add(i); + map2.put(guess.charAt(i), set); + } + int bulls = 0, cows = 0; + for (Character c : map2.keySet()) { + Set set1 = map1.get(c); + + if (set1 == null) { + continue; + } + + Set set2 = map2.get(c); + int count = 0; - public void findSecretWord(String[] wordlist, Master master) { - Random random = new Random(); - for (int i = 0; i < 10; i++) { - String word = wordlist[random.nextInt(wordlist.length)]; - int match = master.guess(word); - List list = new ArrayList<>(); - for (String s : wordlist) { - if (match(s, word) == match) { - list.add(s); + for (Integer index : set2) { + if (set1.contains(index)) { + count++; } } - wordlist = list.toArray(new String[0]); - } - } - private int match(String s, String t) { - int match = 0; - for (int i = 0; i < s.length(); i++) { - if (s.charAt(i) == t.charAt(i)) { - match++; - } + bulls += count; + cows += Math.min(set1.size(), set2.size()) - count; } - return match; + + return String.format("%dA%dB", bulls, cows); } } public static void main(String[] args) { Solution solution = new Solution(); - - double s = solution.mincostToHireWorkers(new int[] { - 3,1,10,10,1 - }, new int[] { - 4,8,2,2,7 - },3); - + String s = solution.getHint("1123", "0111"); System.out.println(s); } } From 47b18231827bdeac44a965f015d0a3a314e6d1a4 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 5 Dec 2018 10:59:32 +0800 Subject: [PATCH 73/96] new problem --- README.md | 1 + leetcode/solution/src/Candy.java | 50 ++++++++++++++++++++++++++++++++ leetcode/src/Main.java | 49 ++++++++++--------------------- 3 files changed, 67 insertions(+), 33 deletions(-) create mode 100644 leetcode/solution/src/Candy.java diff --git a/README.md b/README.md index 1184d92..6e6dfa0 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,7 @@ |131|[Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning/)| [Java](leetcode/solution/src/PalindromePartitioning.java)|| |132|[Palindrome Partitioning II](https://leetcode.com/problems/palindrome-partitioning-ii/)| [Java](leetcode/solution/src/PalindromePartitioningII.java)|| |133|[Clone Graph](https://leetcode.com/problems/clone-graph/)| [Java](leetcode/solution/src/CloneGraph.java)|70|这题不难,多看两遍,BFS方法再做两遍| +|135|[Candy](https://leetcode.com/problems/candy/)|[Java](leetcode/solution/src/Candy.java)|80|| |138|[Copy List with Random Pointer](https://leetcode.com/problems/copy-list-with-random-pointer/)| [Java](leetcode/solution/src/CopyListWithRandomPointer.java)|95|有一个易错点| |139|[Word Break](https://leetcode.com/problems/word-break/)| [Java](leetcode/solution/src/WordBreak.java)|80|多看两遍| |140|[Word Break II](https://leetcode.com/problems/word-break-ii/)| [Java](leetcode/solution/src/WordBreakII.java)|75|这题多做两遍,很典型| diff --git a/leetcode/solution/src/Candy.java b/leetcode/solution/src/Candy.java new file mode 100644 index 0000000..2540129 --- /dev/null +++ b/leetcode/solution/src/Candy.java @@ -0,0 +1,50 @@ +import java.util.Arrays; + +public class Candy { + + public int candy(int[] ratings) { + int[] left = new int[ratings.length]; + int[] right = new int[ratings.length]; + + Arrays.fill(left, 1); + Arrays.fill(right, 1); + + for (int i = 1; i < ratings.length; i++) { + if (ratings[i] > ratings[i - 1]) { + left[i] = left[i - 1] + 1; + } + } + for (int i = ratings.length - 2; i >= 0; i--) { + if (ratings[i] > ratings[i + 1]) { + right[i] = right[i + 1] + 1; + } + } + int sum = 0; + for (int i = 0; i < ratings.length; i++) { + sum += Math.max(left[i], right[i]); + } + return sum; + } + + /** + * 在上面的基础上优化了一下,去掉了一个数组 + */ + public int candy2(int[] ratings) { + int[] candys = new int[ratings.length]; + + Arrays.fill(candys, 1); + + for (int i = 1; i < ratings.length; i++) { + if (ratings[i] > ratings[i - 1]) { + candys[i] = candys[i - 1] + 1; + } + } + int sum = candys[ratings.length - 1], prev = 1; + for (int i = ratings.length - 2; i >= 0; i--) { + int cur = ratings[i] > ratings[i + 1] ? prev + 1 : 1; + sum += Math.max(cur, candys[i]); + prev = cur; + } + return sum; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 58fac0c..9bd45a7 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,48 +6,31 @@ public class Main { public static class Solution { - public String getHint(String secret, String guess) { - HashMap> map1 = new HashMap<>(); - HashMap> map2 = new HashMap<>(); - for (int i = 0; i < secret.length(); i++) { - Set set = map1.getOrDefault(secret.charAt(i), new HashSet<>()); - set.add(i); - map1.put(secret.charAt(i), set); - } - for (int i = 0; i < guess.length(); i++) { - Set set = map2.getOrDefault(guess.charAt(i), new HashSet<>()); - set.add(i); - map2.put(guess.charAt(i), set); - } - int bulls = 0, cows = 0; - for (Character c : map2.keySet()) { - Set set1 = map1.get(c); - - if (set1 == null) { - continue; - } - Set set2 = map2.get(c); + public int candy(int[] ratings) { + int[] candys = new int[ratings.length]; - int count = 0; + Arrays.fill(candys, 1); - for (Integer index : set2) { - if (set1.contains(index)) { - count++; - } + for (int i = 1; i < ratings.length; i++) { + if (ratings[i] > ratings[i - 1]) { + candys[i] = candys[i - 1] + 1; } - - bulls += count; - cows += Math.min(set1.size(), set2.size()) - count; } - - return String.format("%dA%dB", bulls, cows); + int sum = candys[ratings.length - 1]; + for (int i = ratings.length - 2; i >= 0; i--) { + if (ratings[i] > ratings[i + 1]) { + candys[i] = Math.max(candys[i], candys[i + 1] + 1); + } + sum += candys[i]; + } + return sum; } } public static void main(String[] args) { Solution solution = new Solution(); - String s = solution.getHint("1123", "0111"); - System.out.println(s); + System.out.println(solution.candy(new int[] {1, 3, 2, 2, 1})); +// System.out.println(solution.candy(new int[] {1, 2, 2})); } } From d38d588b52352346064033ae0fdb34eecaddc965 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 5 Dec 2018 15:19:23 +0800 Subject: [PATCH 74/96] fd --- README.md | 1 + .../src/MaximizeDistanceToClosestPerson.java | 46 +++++++++++++++++ leetcode/src/Main.java | 49 ++++++++++++------- 3 files changed, 79 insertions(+), 17 deletions(-) create mode 100644 leetcode/solution/src/MaximizeDistanceToClosestPerson.java diff --git a/README.md b/README.md index 6e6dfa0..d3b6836 100644 --- a/README.md +++ b/README.md @@ -397,6 +397,7 @@ |819|[Most Common Word](https://leetcode.com/problems/most-common-word/)|[Java](leetcode/solution/src/MostCommonWord.java)|85|| |843|[Guess the Word](https://leetcode.com/problems/guess-the-word/)|[Java](leetcode/solution/src/GuessTheWord.java)|90|| |844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/)|[Java](leetcode/solution/src/BackspaceStringCompare.java)|100|| +|849|[Maximize Distance to Closest Person](https://leetcode.com/problems/maximize-distance-to-closest-person/)|[Java](leetcode/solution/src/MaximizeDistanceToClosestPerson.java)|80|| |857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java|70|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| |929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90|| \ No newline at end of file diff --git a/leetcode/solution/src/MaximizeDistanceToClosestPerson.java b/leetcode/solution/src/MaximizeDistanceToClosestPerson.java new file mode 100644 index 0000000..f69e27a --- /dev/null +++ b/leetcode/solution/src/MaximizeDistanceToClosestPerson.java @@ -0,0 +1,46 @@ +import java.util.Arrays; + +public class MaximizeDistanceToClosestPerson { + + /** + * 这题要注意两个边界的情况,因为如果是非边界的情况,要坐在中间的 + */ + public int maxDistToClosest(int[] seats) { + int max = 0; + + int[] zone = new int[2]; + for (int index = 0; index < seats.length; ) { + Arrays.fill(zone, -1); + index = nextFree(seats, index, zone); + if (zone[0] == 0 || zone[1] == seats.length - 1) { + max = Math.max(max, zone[1] - zone[0] + 1); + } else { + max = Math.max(max, (zone[1] - zone[0] + 2) / 2); + } + } + + return max; + } + + /** + * 返回从start开始的连续的0区间 + */ + private int nextFree(int[] seats, int start, int[] zone) { + boolean enter = false; + for (int i = start, j = 0; i <= seats.length; i++) { + if (i < seats.length && seats[i] == 0) { + if (!enter) { + enter = true; + j = i; + } + } else { + if (enter) { + zone[0] = j; + zone[1] = i - 1; + return i + 1; + } + } + } + return seats.length; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 9bd45a7..1a7f06f 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,31 +6,46 @@ public class Main { public static class Solution { - - public int candy(int[] ratings) { - int[] candys = new int[ratings.length]; - - Arrays.fill(candys, 1); - - for (int i = 1; i < ratings.length; i++) { - if (ratings[i] > ratings[i - 1]) { - candys[i] = candys[i - 1] + 1; + public int maxDistToClosest(int[] seats) { + int max = 0; + + int[] zone = new int[2]; + for (int index = 0; index < seats.length; ) { + Arrays.fill(zone, -1); + index = nextFree(seats, index, zone); + if (zone[0] == 0 || zone[1] == seats.length - 1) { + max = Math.max(max, zone[1] - zone[0] + 1); + } else { + max = Math.max(max, (zone[1] - zone[0] + 2) / 2); } } - int sum = candys[ratings.length - 1]; - for (int i = ratings.length - 2; i >= 0; i--) { - if (ratings[i] > ratings[i + 1]) { - candys[i] = Math.max(candys[i], candys[i + 1] + 1); + + return max; + } + + private int nextFree(int[] seats, int start, int[] zone) { + boolean enter = false; + for (int i = start, j = 0; i <= seats.length; i++) { + if (i < seats.length && seats[i] == 0) { + if (!enter) { + enter = true; + j = i; + } + } else { + if (enter) { + zone[0] = j; + zone[1] = i - 1; + return i + 1; + } } - sum += candys[i]; } - return sum; + return seats.length; } } public static void main(String[] args) { Solution solution = new Solution(); - System.out.println(solution.candy(new int[] {1, 3, 2, 2, 1})); -// System.out.println(solution.candy(new int[] {1, 2, 2})); + int s = solution.maxDistToClosest(new int[]{1,0,0,0,1,0,1}); + System.out.println(s); } } From f8d4d611dc593c587bf0598d442b77de21076621 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Wed, 5 Dec 2018 15:20:52 +0800 Subject: [PATCH 75/96] fd --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3b6836..7b8bf56 100644 --- a/README.md +++ b/README.md @@ -398,6 +398,6 @@ |843|[Guess the Word](https://leetcode.com/problems/guess-the-word/)|[Java](leetcode/solution/src/GuessTheWord.java)|90|| |844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/)|[Java](leetcode/solution/src/BackspaceStringCompare.java)|100|| |849|[Maximize Distance to Closest Person](https://leetcode.com/problems/maximize-distance-to-closest-person/)|[Java](leetcode/solution/src/MaximizeDistanceToClosestPerson.java)|80|| -|857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java|70|| +|857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java)|70|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| |929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90|| \ No newline at end of file From 99e8e95156e354405bb063aaec5bfacf6a6c2844 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 7 Dec 2018 21:06:11 +0800 Subject: [PATCH 76/96] fd --- .../solution/src/TrimABinarySearchTree.java | 18 +++---- leetcode/src/Main.java | 48 ++++++------------- 2 files changed, 21 insertions(+), 45 deletions(-) diff --git a/leetcode/solution/src/TrimABinarySearchTree.java b/leetcode/solution/src/TrimABinarySearchTree.java index 073bce0..f501905 100644 --- a/leetcode/solution/src/TrimABinarySearchTree.java +++ b/leetcode/solution/src/TrimABinarySearchTree.java @@ -3,20 +3,14 @@ public class TrimABinarySearchTree { public TreeNode trimBST(TreeNode root, int L, int R) { if (root == null) { return root; - } - - if (root.val > R) { - root.right = null; + } else if (root.val > R) { return trimBST(root.left, L, R); - } - - if (root.val < L) { - root.left = null; + } else if (root.val < L) { return trimBST(root.right, L, R); + } else { + root.left = trimBST(root.left, L, R); + root.right = trimBST(root.right, L, R); + return root; } - - root.left = trimBST(root.left, L, R); - root.right = trimBST(root.right, L, R); - return root; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 1a7f06f..262aa7b 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,46 +6,28 @@ public class Main { public static class Solution { - public int maxDistToClosest(int[] seats) { - int max = 0; - - int[] zone = new int[2]; - for (int index = 0; index < seats.length; ) { - Arrays.fill(zone, -1); - index = nextFree(seats, index, zone); - if (zone[0] == 0 || zone[1] == seats.length - 1) { - max = Math.max(max, zone[1] - zone[0] + 1); - } else { - max = Math.max(max, (zone[1] - zone[0] + 2) / 2); - } - } - - return max; + public TreeNode constructMaximumBinaryTree(int[] nums) { + return helper(nums, 0, nums.length - 1); } - private int nextFree(int[] seats, int start, int[] zone) { - boolean enter = false; - for (int i = start, j = 0; i <= seats.length; i++) { - if (i < seats.length && seats[i] == 0) { - if (!enter) { - enter = true; - j = i; - } - } else { - if (enter) { - zone[0] = j; - zone[1] = i - 1; - return i + 1; - } + private TreeNode helper(int[] nums, int start, int end) { + if (start > end) { + return null; + } + int index, max = start; + for (index = start + 1; index <= end; index++) { + if (nums[index] > nums[max]) { + max = index; } } - return seats.length; + TreeNode root = new TreeNode(nums[max]); + root.left = helper(nums, start, max - 1); + root.right = helper(nums, max + 1, end); + return root; } } public static void main(String[] args) { - Solution solution = new Solution(); - int s = solution.maxDistToClosest(new int[]{1,0,0,0,1,0,1}); - System.out.println(s); + } } From 48fc7a0561b23e4e6c86f9c9dca99d927e75e8f0 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 8 Dec 2018 14:30:09 +0800 Subject: [PATCH 77/96] udpate some solution --- .../solution/src/DiameterOfBinaryTree.java | 25 ++++++++----- leetcode/solution/src/TwoSumIV.java | 23 ++++++++++++ leetcode/src/Main.java | 37 +++++++++++-------- 3 files changed, 60 insertions(+), 25 deletions(-) diff --git a/leetcode/solution/src/DiameterOfBinaryTree.java b/leetcode/solution/src/DiameterOfBinaryTree.java index ca696c4..3974e27 100644 --- a/leetcode/solution/src/DiameterOfBinaryTree.java +++ b/leetcode/solution/src/DiameterOfBinaryTree.java @@ -2,23 +2,30 @@ public class DiameterOfBinaryTree { /** * 这题和 124. Binary Tree Maximum Path Sum比较像 - * 都是分两种情况,一种是必须包括root的,带上必须包括left和right的单边结果; - * 还有不是必须包括root的,对比left和right的双边结果 - * flag为true表示必须包括root,false表示不是必须包括root */ public int diameterOfBinaryTree(TreeNode root) { if (root == null) { return 0; } - return dfs(root, false); + return dfs(root, new int[1]) - 1; } - public int dfs(TreeNode root, boolean flag) { + /** + * len表示带上root的最大深度 + */ + private int dfs(TreeNode root, int[] len) { if (root == null) { - return -1; + return 0; } - return flag ? Math.max(dfs(root.left, true) + 1, dfs(root.right, true) + 1) : - Math.max(Math.max(dfs(root.left, false), dfs(root.right, false)), - dfs(root.left, true) + 2 + dfs(root.right, true)); + + int[] lt = new int[1]; + int[] rt = new int[1]; + + int left = dfs(root.left, lt); + int right = dfs(root.right, rt); + + len[0] = Math.max(lt[0], rt[0]) + 1; + + return Math.max(Math.max(left, right), lt[0] + rt[0] + 1); } } diff --git a/leetcode/solution/src/TwoSumIV.java b/leetcode/solution/src/TwoSumIV.java index b54ffce..70651e4 100644 --- a/leetcode/solution/src/TwoSumIV.java +++ b/leetcode/solution/src/TwoSumIV.java @@ -1,4 +1,5 @@ import java.util.ArrayList; +import java.util.HashSet; import java.util.List; /** @@ -6,6 +7,9 @@ */ public class TwoSumIV { + /** + * 先遍历一遍,生成一个递增序列,再从两端往中间检查 + */ public boolean findTarget(TreeNode root, int k) { List nums = new ArrayList<>(); inorder(root, nums); @@ -23,4 +27,23 @@ public void inorder(TreeNode root, List nums) { nums.add(root.val); inorder(root.right, nums); } + + /** + * 更简单一点,遍历树,用一个hashset记录每个元素 + * 时间空间都是O(n) + */ + public boolean findTarget2(TreeNode root, int k) { + return visit(root, k, new HashSet<>()); + } + + private boolean visit(TreeNode root, int k, HashSet set) { + if (root == null) { + return false; + } + if (set.contains(k - root.val)) { + return true; + } + set.add(root.val); + return visit(root.left, k, set) || visit(root.right, k, set); + } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 262aa7b..95987eb 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,28 +6,33 @@ public class Main { public static class Solution { - public TreeNode constructMaximumBinaryTree(int[] nums) { - return helper(nums, 0, nums.length - 1); + public int diameterOfBinaryTree(TreeNode root) { + if (root == null) { + return 0; + } + return dfs(root, new int[1]) - 1; } - private TreeNode helper(int[] nums, int start, int end) { - if (start > end) { - return null; - } - int index, max = start; - for (index = start + 1; index <= end; index++) { - if (nums[index] > nums[max]) { - max = index; - } + private int dfs(TreeNode root, int[] len) { + if (root == null) { + return 0; } - TreeNode root = new TreeNode(nums[max]); - root.left = helper(nums, start, max - 1); - root.right = helper(nums, max + 1, end); - return root; + + int[] lt = new int[1]; + int[] rt = new int[1]; + + int left = dfs(root.left, lt); + int right = dfs(root.right, rt); + + len[0] = Math.max(lt[0], rt[0]) + 1; + + return Math.max(Math.max(left, right), lt[0] + rt[0] + 1); } } public static void main(String[] args) { - + Solution s = new Solution(); + TreeNode root1 = new TreeNode(1); + System.out.println(f); } } From 655e51c594b8888db97afb8c72d0f69104789b08 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 8 Dec 2018 14:54:58 +0800 Subject: [PATCH 78/96] fd --- leetcode/solution/src/HouseRobberIII.java | 2 ++ leetcode/src/Main.java | 21 +-------------------- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/leetcode/solution/src/HouseRobberIII.java b/leetcode/solution/src/HouseRobberIII.java index 6e0cc3d..3a2eb8f 100644 --- a/leetcode/solution/src/HouseRobberIII.java +++ b/leetcode/solution/src/HouseRobberIII.java @@ -25,6 +25,8 @@ private int rob(TreeNode root, boolean rob) { /** * 优化写法如下,耗时1ms + * 这里将两种情况都保存下来并返回给上层,避免了多次重复计算 + * val[0]表示不rob当前节点,val[1]表示rob当前节点 */ public int rob2(TreeNode root) { int[] val = helper(root); diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 95987eb..89cff68 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,27 +6,8 @@ public class Main { public static class Solution { - public int diameterOfBinaryTree(TreeNode root) { - if (root == null) { - return 0; - } - return dfs(root, new int[1]) - 1; - } - - private int dfs(TreeNode root, int[] len) { - if (root == null) { - return 0; - } - - int[] lt = new int[1]; - int[] rt = new int[1]; - - int left = dfs(root.left, lt); - int right = dfs(root.right, rt); - - len[0] = Math.max(lt[0], rt[0]) + 1; + public List generateTrees(int n) { - return Math.max(Math.max(left, right), lt[0] + rt[0] + 1); } } From d68d090b99eaf4513fbf4efe1653cf7d68d82d43 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 8 Dec 2018 15:25:18 +0800 Subject: [PATCH 79/96] fd --- README.md | 1 + .../solution/src/CountUnivalueSubtrees.java | 3 +++ leetcode/src/Main.java | 23 ++++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b8bf56..360b942 100644 --- a/README.md +++ b/README.md @@ -391,6 +391,7 @@ |681|[Next Closest Time](https://leetcode.com/problems/next-closest-time/)|[Java](leetcode/solution/src/NextClosestTime.java)|80|这题多做几遍| |683|[K Empty Slots](https://leetcode.com/problems/k-empty-slots/)|[Java](leetcode/solution/src/KEmptySlots.java)|80|| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| +|687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/)|[Java](leetcode/solution/src/longestUnivaluePath.java)|70|| |695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Java](leetcode/solution/src/MaxAreaOfIsland.java)|100|| |703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| diff --git a/leetcode/solution/src/CountUnivalueSubtrees.java b/leetcode/solution/src/CountUnivalueSubtrees.java index b0071b2..be56ecc 100644 --- a/leetcode/solution/src/CountUnivalueSubtrees.java +++ b/leetcode/solution/src/CountUnivalueSubtrees.java @@ -1,5 +1,8 @@ public class CountUnivalueSubtrees { + /** + * 先分别判断左右子树是不是unival,如果是再判断带上root后是不是unival + */ public int countUnivalSubtrees(TreeNode root) { int[] count = new int[1]; helper(root, count); diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 89cff68..5c5e499 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,8 +6,29 @@ public class Main { public static class Solution { - public List generateTrees(int n) { + public int longestUnivaluePath(TreeNode root) { + int[] res = new int[1]; + dfs(root, res); + return res[0]; + } + + private int dfs(TreeNode node, int[] res) { + if (node == null) { + return 0; + } + int left = dfs(node.left, res); + int right = dfs(node.right, res); + + int lval = 0, rval = 0; + if (node.left != null && node.left.val == node.val) { + lval = left + 1; + } + if (node.right != null && node.right.val == node.val) { + rval = right + 1; + } + res[0] = Math.max(res[0], lval + rval); + return Math.max(lval, rval); } } From 944de735ccbe37fd9eb8cd6252fc0d9f838a9c2e Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 8 Dec 2018 15:26:26 +0800 Subject: [PATCH 80/96] fd --- .../solution/src/LongestUnivaluePath.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 leetcode/solution/src/LongestUnivaluePath.java diff --git a/leetcode/solution/src/LongestUnivaluePath.java b/leetcode/solution/src/LongestUnivaluePath.java new file mode 100644 index 0000000..8d950c1 --- /dev/null +++ b/leetcode/solution/src/LongestUnivaluePath.java @@ -0,0 +1,27 @@ +public class LongestUnivaluePath { + + public int longestUnivaluePath(TreeNode root) { + int[] res = new int[1]; + dfs(root, res); + return res[0]; + } + + private int dfs(TreeNode node, int[] res) { + if (node == null) { + return 0; + } + int left = dfs(node.left, res); + int right = dfs(node.right, res); + + int lval = 0, rval = 0; + + if (node.left != null && node.left.val == node.val) { + lval = left + 1; + } + if (node.right != null && node.right.val == node.val) { + rval = right + 1; + } + res[0] = Math.max(res[0], lval + rval); + return Math.max(lval, rval); + } +} From 5aa7fa0869418df9b17f5bdc1beced6cb16e8120 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 8 Dec 2018 15:26:51 +0800 Subject: [PATCH 81/96] fd --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 360b942..e93072f 100644 --- a/README.md +++ b/README.md @@ -391,7 +391,7 @@ |681|[Next Closest Time](https://leetcode.com/problems/next-closest-time/)|[Java](leetcode/solution/src/NextClosestTime.java)|80|这题多做几遍| |683|[K Empty Slots](https://leetcode.com/problems/k-empty-slots/)|[Java](leetcode/solution/src/KEmptySlots.java)|80|| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| -|687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/)|[Java](leetcode/solution/src/longestUnivaluePath.java)|70|| +|687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/)|[Java](leetcode/solution/src/LongestUnivaluePath.java)|70|| |695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Java](leetcode/solution/src/MaxAreaOfIsland.java)|100|| |703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| From 301b8416f691c52dc658e87b3d138999c91fad46 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sat, 8 Dec 2018 20:34:00 +0800 Subject: [PATCH 82/96] fd --- .../solution/src/KthSmallestElementInBST.java | 75 ++++++++++++------- leetcode/src/Main.java | 38 ++++------ 2 files changed, 65 insertions(+), 48 deletions(-) diff --git a/leetcode/solution/src/KthSmallestElementInBST.java b/leetcode/solution/src/KthSmallestElementInBST.java index 31e34d0..461a001 100644 --- a/leetcode/solution/src/KthSmallestElementInBST.java +++ b/leetcode/solution/src/KthSmallestElementInBST.java @@ -32,35 +32,58 @@ public int kthSmallest(TreeNode root, int k) { throw new IllegalStateException(); } - /** - * Morris - */ - private int kthSmallest2(TreeNode root, int k) { - TreeNode temp; + public int kthSmallest2(TreeNode root, int k) { + TreeNodeWithCount rootWithCount = buildTreeWithCount(root); + return kthSmallest(rootWithCount, k); + } - while (root != null) { - if (root.left == null) { - if (--k == 0) { - return root.val; - } - root = root.right; + public int kthSmallest(TreeNodeWithCount root, int k) { + if (root == null) { + return -1; + } + + if (root.left != null) { + if (k <= root.left.count) { + return kthSmallest(root.left, k); + } else if (k == root.left.count + 1) { + return root.val; } else { - temp = root.left; - while (temp.right != null && temp.right != root) { - temp = temp.right; - } - if (temp.right == null) { - temp.right = root; - root = root.left; - } else { - temp.right = null; - if (--k == 0) { - return root.val; - } - root = root.right; - } + return kthSmallest(root.right, k - root.left.count - 1); } } - throw new IllegalStateException(); + + if (k == 1) { + return root.val; + } else { + return kthSmallest(root.right, k - 1); + } + } + + private TreeNodeWithCount buildTreeWithCount(TreeNode root) { + if (root == null) { + return null; + } + TreeNodeWithCount nroot = new TreeNodeWithCount(root.val); + nroot.left = buildTreeWithCount(root.left); + nroot.right = buildTreeWithCount(root.right); + + if (nroot.left != null) { + nroot.count += nroot.left.count; + } + + if (nroot.right != null) { + nroot.count += nroot.right.count; + } + return nroot; + } + + class TreeNodeWithCount { + TreeNodeWithCount left, right; + int count, val; + + TreeNodeWithCount(int val) { + this.val = val; + this.count = 1; + } } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 5c5e499..5d11b67 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,29 +6,23 @@ public class Main { public static class Solution { - public int longestUnivaluePath(TreeNode root) { - int[] res = new int[1]; - dfs(root, res); - return res[0]; - } - - private int dfs(TreeNode node, int[] res) { - if (node == null) { - return 0; - } - int left = dfs(node.left, res); - int right = dfs(node.right, res); - - int lval = 0, rval = 0; - - if (node.left != null && node.left.val == node.val) { - lval = left + 1; - } - if (node.right != null && node.right.val == node.val) { - rval = right + 1; + public int kthSmallest(TreeNode root, int k) { + Stack stack = new Stack<>(); + while (!stack.isEmpty() || root != null) { + if (root != null) { + stack.push(root); + root = root.left; + } else { + root = stack.pop(); + + if (--k == 0) { + return root.val; + } + + root = root.right; + } } - res[0] = Math.max(res[0], lval + rval); - return Math.max(lval, rval); + return -1; } } From cb6e2479f140286dcd272c181ef144c41ddc9606 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 9 Dec 2018 10:38:58 +0800 Subject: [PATCH 83/96] update --- .../src/ConstructStringFromBinaryTree.java | 8 ++++++++ leetcode/src/Main.java | 19 +------------------ 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/leetcode/solution/src/ConstructStringFromBinaryTree.java b/leetcode/solution/src/ConstructStringFromBinaryTree.java index 96747ce..0aed8b5 100644 --- a/leetcode/solution/src/ConstructStringFromBinaryTree.java +++ b/leetcode/solution/src/ConstructStringFromBinaryTree.java @@ -1,6 +1,14 @@ /** * https://leetcode.com/articles/construct-string-from-binary-tree/ */ + +/** + * 这题不难,主要是搞清楚题目意思 + * 即返回root + (左子树) + (右子树) + * 不过要注意几个特殊情况,如果左右子树都为null,则只返回root + * 如果左子树为null,右子树非null,则返回root + () + (右子树) + * 如果左子树非null,右子树为null,则返回root + (左子树) + */ public class ConstructStringFromBinaryTree { /** diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 5d11b67..003fa58 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,29 +6,12 @@ public class Main { public static class Solution { - public int kthSmallest(TreeNode root, int k) { - Stack stack = new Stack<>(); - while (!stack.isEmpty() || root != null) { - if (root != null) { - stack.push(root); - root = root.left; - } else { - root = stack.pop(); - if (--k == 0) { - return root.val; - } - root = root.right; - } - } - return -1; - } } public static void main(String[] args) { Solution s = new Solution(); - TreeNode root1 = new TreeNode(1); - System.out.println(f); + System.out.println(a); } } From 036597d02f2982f6aeb88422098a8234b62bd1a9 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 9 Dec 2018 15:54:46 +0800 Subject: [PATCH 84/96] udpate --- .../src/BinaryTreePostorderTraversal.java | 68 +++++++++++++++++-- .../solution/src/BinaryTreeUpsideDown.java | 1 + leetcode/solution/src/Codec.java | 7 +- leetcode/src/Main.java | 4 +- 4 files changed, 72 insertions(+), 8 deletions(-) diff --git a/leetcode/solution/src/BinaryTreePostorderTraversal.java b/leetcode/solution/src/BinaryTreePostorderTraversal.java index 2d9558b..350a3de 100644 --- a/leetcode/solution/src/BinaryTreePostorderTraversal.java +++ b/leetcode/solution/src/BinaryTreePostorderTraversal.java @@ -1,7 +1,4 @@ -import java.util.ArrayDeque; -import java.util.Deque; -import java.util.LinkedList; -import java.util.List; +import java.util.*; public class BinaryTreePostorderTraversal { @@ -25,4 +22,67 @@ public List postorderTraversal(TreeNode root) { } return results; } + + + public ArrayList postorderTraversal2(TreeNode root) { + ArrayList result = new ArrayList(); + Stack stack = new Stack(); + TreeNode prev = null; // previously traversed node + TreeNode curr = root; + + if (root == null) { + return result; + } + + stack.push(root); + while (!stack.empty()) { + curr = stack.peek(); + if (prev == null || prev.left == curr || prev.right == curr) { // traverse down the tree + if (curr.left != null) { + stack.push(curr.left); + } else if (curr.right != null) { + stack.push(curr.right); + } + } else if (curr.left == prev) { // traverse up the tree from the left + if (curr.right != null) { + stack.push(curr.right); + } + } else { // traverse up the tree from the right + result.add(curr.val); + stack.pop(); + } + prev = curr; + } + + return result; + } + + public List postorderTraversal3(TreeNode root) { + List result = new ArrayList<>(); + + if (root == null) { + return result; + } + + Stack stack = new Stack<>(); + + TreeNode last = null; + + while (!stack.isEmpty() || root != null) { + if (root != null) { + stack.push(root); + root = root.left; + } else { + TreeNode peek = stack.peek(); + if (peek.right != null && last != peek.right) { + root = peek.right; + } else { + result.add(peek.val); + last = stack.pop(); + } + } + } + + return result; + } } diff --git a/leetcode/solution/src/BinaryTreeUpsideDown.java b/leetcode/solution/src/BinaryTreeUpsideDown.java index f86829c..808936d 100644 --- a/leetcode/solution/src/BinaryTreeUpsideDown.java +++ b/leetcode/solution/src/BinaryTreeUpsideDown.java @@ -3,6 +3,7 @@ public class BinaryTreeUpsideDown { /** * 将root的左子树看作一个整体,root.left就作为倒置后的root和root.right的新parent * 注意若root的左子树为空,则无法倒置了,什么也不做 + * 注意最后要给root的左右清零 */ public TreeNode upsideDownBinaryTree(TreeNode root) { if(root == null || root.left == null) { diff --git a/leetcode/solution/src/Codec.java b/leetcode/solution/src/Codec.java index 588c86e..377fdb4 100644 --- a/leetcode/solution/src/Codec.java +++ b/leetcode/solution/src/Codec.java @@ -50,7 +50,7 @@ private TreeNode helper(Queue queue) { return root; } - /** 下面是非递归版的DFS */ + /** 下面是非递归版的,前序遍历 */ public String serialize2(TreeNode root) { StringBuilder sb = new StringBuilder(); if (root == null) { @@ -74,7 +74,10 @@ public String serialize2(TreeNode root) { return sb.toString(); } - // Decodes your encoded data to tree. + /** + * 前序访问一遍所有结点 + * 在设置node时,从queue中取出值 + */ public TreeNode deserialize2(String data) { String[] texts = data.split(SEP); Queue queue = new LinkedList(Arrays.asList(texts)); diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 003fa58..86d40fc 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,12 +6,12 @@ public class Main { public static class Solution { + public int sumOfLeftLeaves(TreeNode root) { - + } } public static void main(String[] args) { Solution s = new Solution(); - System.out.println(a); } } From 87a6409ad0123d3cceba7048d89068e56183c545 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 9 Dec 2018 16:17:43 +0800 Subject: [PATCH 85/96] fd --- leetcode/solution/src/PathSumII.java | 7 +++---- leetcode/src/Main.java | 21 ++++++++++++++++++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/leetcode/solution/src/PathSumII.java b/leetcode/solution/src/PathSumII.java index 8601018..a3de058 100644 --- a/leetcode/solution/src/PathSumII.java +++ b/leetcode/solution/src/PathSumII.java @@ -16,13 +16,12 @@ private void helper(TreeNode node, int sum, List> result, List(list)); } else { - helper(node.left, sum, result, list); - helper(node.right, sum, result, list); + helper(node.left, sum - node.val, result, list); + helper(node.right, sum - node.val, result, list); } list.remove(list.size() - 1); diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 86d40fc..79e0573 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,8 +6,27 @@ public class Main { public static class Solution { - public int sumOfLeftLeaves(TreeNode root) { + public List> pathSum(TreeNode root, int sum) { + List> result = new ArrayList<>(); + helpr(root, sum, new ArrayList<>(), result); + return result; + } + + private void helpr(TreeNode root, int sum, List list, List> result) { + if (root == null) { + return; + } + + list.add(root.val); + + if (root.left == null && root.right == null && root.val == sum) { + result.add(new ArrayList<>(list)); + } else { + helpr(root.left, sum - root.val, list, result); + helpr(root.right, sum - root.val, list, result); + } + list.remove(list.size() - 1); } } From 4ce3026b4aef3a26351702ead94f778b341f6f12 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 9 Dec 2018 16:38:37 +0800 Subject: [PATCH 86/96] fd --- README.md | 1 + .../solution/src/SubtreeOfAnotherTree.java | 19 ++++++++++++++ leetcode/src/Main.java | 25 ++++++------------- 3 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 leetcode/solution/src/SubtreeOfAnotherTree.java diff --git a/README.md b/README.md index e93072f..4496cea 100644 --- a/README.md +++ b/README.md @@ -380,6 +380,7 @@ |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| |564|[Find the Closest Palindrome](https://leetcode.com/problems/find-the-closest-palindrome/)|[Java](leetcode/solution/src/FindTheClosestPalindrome.java)|80|此题暴力法即可| +|572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/)|[Java](leetcode/solution/src/SubtreeOfAnotherTree.java)|80|| |606|[Construct String from Binary Tree](https://leetcode.com/problems/construct-string-from-binary-tree/)|[Java](leetcode/solution/src/ConstructStringFromBinaryTree.java)|90|| |617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)|100|很简单| |621|[Task Scheduler](https://leetcode.com/problems/task-scheduler/)|[Java](leetcode/solution/src/TaskScheduler.java)|70|| diff --git a/leetcode/solution/src/SubtreeOfAnotherTree.java b/leetcode/solution/src/SubtreeOfAnotherTree.java new file mode 100644 index 0000000..5096804 --- /dev/null +++ b/leetcode/solution/src/SubtreeOfAnotherTree.java @@ -0,0 +1,19 @@ +public class SubtreeOfAnotherTree { + + /** + * 非递归的办法是拼成字符串,看是否是子串 + */ + public boolean isSubtree(TreeNode s, TreeNode t) { + return isEqual(s, t) || (s != null && (isSubtree(s.left, t) || isSubtree(s.right, t))); + } + + private boolean isEqual(TreeNode s, TreeNode t) { + if (t == null && s == null) { + return true; + } + if (t == null || s == null) { + return false; + } + return s.val == t.val && isEqual(s.left, t.left) && isEqual(s.right, t.right); + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 79e0573..0d2e0a9 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,27 +6,18 @@ public class Main { public static class Solution { - public List> pathSum(TreeNode root, int sum) { - List> result = new ArrayList<>(); - helpr(root, sum, new ArrayList<>(), result); - return result; + public boolean isSubtree(TreeNode s, TreeNode t) { + return isEqual(s, t) || (s != null && (isSubtree(s.left, t) || isSubtree(s.right, t))); } - private void helpr(TreeNode root, int sum, List list, List> result) { - if (root == null) { - return; + private boolean isEqual(TreeNode s, TreeNode t) { + if (t == null && s == null) { + return true; } - - list.add(root.val); - - if (root.left == null && root.right == null && root.val == sum) { - result.add(new ArrayList<>(list)); - } else { - helpr(root.left, sum - root.val, list, result); - helpr(root.right, sum - root.val, list, result); + if (t == null || s == null) { + return false; } - - list.remove(list.size() - 1); + return s.val == t.val && isEqual(s.left, t.left) && isEqual(s.right, t.right); } } From 31ec7aab6fa9156b7d96af595b103109a1e24720 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 9 Dec 2018 17:15:15 +0800 Subject: [PATCH 87/96] fd --- README.md | 1 + leetcode/solution/src/BinaryTreeTilt.java | 19 +++++++++++++++++++ leetcode/src/Main.java | 21 ++++++++++++--------- 3 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 leetcode/solution/src/BinaryTreeTilt.java diff --git a/README.md b/README.md index 4496cea..bfe70fb 100644 --- a/README.md +++ b/README.md @@ -379,6 +379,7 @@ |547|[Friend Circles](https://leetcode.com/problems/friend-circles/)|[Java](leetcode/solution/src/FriendCircles.java)|70|| |557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100|| |560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70|| +|563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/)|[Java](leetcode/solution/src/BinaryTreeTilt.java)|90|| |564|[Find the Closest Palindrome](https://leetcode.com/problems/find-the-closest-palindrome/)|[Java](leetcode/solution/src/FindTheClosestPalindrome.java)|80|此题暴力法即可| |572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/)|[Java](leetcode/solution/src/SubtreeOfAnotherTree.java)|80|| |606|[Construct String from Binary Tree](https://leetcode.com/problems/construct-string-from-binary-tree/)|[Java](leetcode/solution/src/ConstructStringFromBinaryTree.java)|90|| diff --git a/leetcode/solution/src/BinaryTreeTilt.java b/leetcode/solution/src/BinaryTreeTilt.java new file mode 100644 index 0000000..67dca6c --- /dev/null +++ b/leetcode/solution/src/BinaryTreeTilt.java @@ -0,0 +1,19 @@ +public class BinaryTreeTilt { + + int tilt = 0; + + public int findTilt(TreeNode root) { + helper(root); + return tilt; + } + + private int helper(TreeNode root) { + if (root == null) { + return 0; + } + int left = helper(root.left); + int right = helper(root.right); + tilt += Math.abs(left - right); + return left + right + root.val; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 0d2e0a9..12d56c8 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,18 +6,21 @@ public class Main { public static class Solution { - public boolean isSubtree(TreeNode s, TreeNode t) { - return isEqual(s, t) || (s != null && (isSubtree(s.left, t) || isSubtree(s.right, t))); + int tilt = 0; + + public int findTilt(TreeNode root) { + helper(root); + return tilt; } - private boolean isEqual(TreeNode s, TreeNode t) { - if (t == null && s == null) { - return true; - } - if (t == null || s == null) { - return false; + private int helper(TreeNode root) { + if (root == null) { + return 0; } - return s.val == t.val && isEqual(s.left, t.left) && isEqual(s.right, t.right); + int left = helper(root.left); + int right = helper(root.right); + tilt += Math.abs(left - right); + return left + right + root.val; } } From 8e0c0d7cc722ada9d68e5aeeaf84b91e864853e7 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Sun, 9 Dec 2018 18:45:12 +0800 Subject: [PATCH 88/96] update --- README.md | 2 + leetcode/solution/src/BinaryTreePruning.java | 21 ++++++++ leetcode/solution/src/BinaryTreeTilt.java | 4 ++ .../src/FindModeInBinarySearchTree.java | 47 ---------------- .../solution/src/InorderSuccessorInBST.java | 4 +- leetcode/solution/src/LeafSimilarTrees.java | 53 +++++++++++++++++++ leetcode/src/Main.java | 15 +----- 7 files changed, 83 insertions(+), 63 deletions(-) create mode 100644 leetcode/solution/src/BinaryTreePruning.java create mode 100644 leetcode/solution/src/LeafSimilarTrees.java diff --git a/README.md b/README.md index bfe70fb..b39150e 100644 --- a/README.md +++ b/README.md @@ -397,10 +397,12 @@ |695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Java](leetcode/solution/src/MaxAreaOfIsland.java)|100|| |703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100|| |771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100|| +|814|[Binary Tree Pruning](https://leetcode.com/problems/binary-tree-pruning/)|[Java](leetcode/solution/src/JewelsAndStones.java)|80|| |819|[Most Common Word](https://leetcode.com/problems/most-common-word/)|[Java](leetcode/solution/src/MostCommonWord.java)|85|| |843|[Guess the Word](https://leetcode.com/problems/guess-the-word/)|[Java](leetcode/solution/src/GuessTheWord.java)|90|| |844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/)|[Java](leetcode/solution/src/BackspaceStringCompare.java)|100|| |849|[Maximize Distance to Closest Person](https://leetcode.com/problems/maximize-distance-to-closest-person/)|[Java](leetcode/solution/src/MaximizeDistanceToClosestPerson.java)|80|| |857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java)|70|| +|872|[Leaf-Similar Trees](https://leetcode.com/problems/leaf-similar-trees/)|[Java](leetcode/solution/src/LeafSimilarTrees.java)|80|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| |929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90|| \ No newline at end of file diff --git a/leetcode/solution/src/BinaryTreePruning.java b/leetcode/solution/src/BinaryTreePruning.java new file mode 100644 index 0000000..4853336 --- /dev/null +++ b/leetcode/solution/src/BinaryTreePruning.java @@ -0,0 +1,21 @@ +public class BinaryTreePruning { + + public TreeNode pruneTree(TreeNode root) { + return helper(root) ? root : null; + } + + private boolean helper(TreeNode root) { + if (root == null) { + return false; + } + boolean left = helper(root.left); + boolean right = helper(root.right); + if (!left) { + root.left = null; + } + if (!right) { + root.right = null; + } + return root.val == 1 || left || right; + } +} diff --git a/leetcode/solution/src/BinaryTreeTilt.java b/leetcode/solution/src/BinaryTreeTilt.java index 67dca6c..43a56f1 100644 --- a/leetcode/solution/src/BinaryTreeTilt.java +++ b/leetcode/solution/src/BinaryTreeTilt.java @@ -2,6 +2,10 @@ public class BinaryTreeTilt { int tilt = 0; + /** + * 这题意思是遍历所有结点,对每个节点计算tilt,然后求和 + * 对于给定root,其tilt为左子树所有节点的和与右子树所有结点的和的差的绝对值 + */ public int findTilt(TreeNode root) { helper(root); return tilt; diff --git a/leetcode/solution/src/FindModeInBinarySearchTree.java b/leetcode/solution/src/FindModeInBinarySearchTree.java index be9319f..3d30fcf 100644 --- a/leetcode/solution/src/FindModeInBinarySearchTree.java +++ b/leetcode/solution/src/FindModeInBinarySearchTree.java @@ -62,51 +62,4 @@ private void inorderTraverse(TreeNode root) { inorderTraverse(root.right); } - - - /** - * 如下是空间为O(l)的写法 - */ - int mCurVal; - int mMaxElemSize; - int idx; - int[] modes; - - public int[] findMode2(TreeNode root) { - helper(root); - modes = new int[mMaxElemSize]; - mCurCount = 0; - helper(root); - return modes; - } - - private void helper(TreeNode node) { - if (node == null) { - return; - } - - helper(node.left); - - if (node.val == mCurVal) { - mCurCount++; - } else { - mCurCount = 1; - mCurVal = node.val; - } - - if (modes == null) { - if (mCurCount == mMaxCount) { - mMaxElemSize++; - } else if (mCurCount > mMaxCount) { - mMaxElemSize = 1; - mMaxCount = mCurCount; - } - } else { - if (mCurCount == mMaxCount) { - modes[idx++] = mCurVal; - } - } - - helper(node.right); - } } diff --git a/leetcode/solution/src/InorderSuccessorInBST.java b/leetcode/solution/src/InorderSuccessorInBST.java index dc0e56d..a68bb64 100644 --- a/leetcode/solution/src/InorderSuccessorInBST.java +++ b/leetcode/solution/src/InorderSuccessorInBST.java @@ -35,7 +35,7 @@ public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { if (root == null) { return null; } - if (root.val > p.val) { + if (p.val < root.val) { TreeNode node = inorderSuccessor(root.left, p); return node != null ? node : root; } else { @@ -60,7 +60,7 @@ public TreeNode predecessor(TreeNode root, TreeNode p) { public TreeNode inorderSuccessor2(TreeNode root, TreeNode p) { TreeNode res = null; while (root != null) { - if (root.val > p.val) { + if (p.val < root.val) { res = root; root = root.left; } else { diff --git a/leetcode/solution/src/LeafSimilarTrees.java b/leetcode/solution/src/LeafSimilarTrees.java new file mode 100644 index 0000000..ca54857 --- /dev/null +++ b/leetcode/solution/src/LeafSimilarTrees.java @@ -0,0 +1,53 @@ +import java.util.Stack; + +public class LeafSimilarTrees { + + public boolean leafSimilar(TreeNode root1, TreeNode root2) { + TreeIterator iterator1 = new TreeIterator(root1); + TreeIterator iterator2 = new TreeIterator(root2); + + while (true) { + TreeNode node1 = iterator1.nextLeaf(); + TreeNode node2 = iterator2.nextLeaf(); + + if (node1 == null && node2 == null) { + return true; + } + if (node1 == null || node2 == null) { + return false; + } + if (node1.val != node2.val) { + return false; + } + } + } + + public class TreeIterator { + Stack stack; + TreeNode root; + + TreeIterator(TreeNode root) { + this.root = root; + stack = new Stack<>(); + } + + TreeNode nextLeaf() { + TreeNode ret; + while (!stack.isEmpty() || root != null) { + if (root != null) { + stack.push(root); + ret = root; + root = root.left; + + if (ret.left == null && ret.right == null) { + return ret; + } + + } else { + root = stack.pop().right; + } + } + return null; + } + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 12d56c8..af1b06a 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,21 +6,8 @@ public class Main { public static class Solution { - int tilt = 0; + public TreeNode pruneTree(TreeNode root) { - public int findTilt(TreeNode root) { - helper(root); - return tilt; - } - - private int helper(TreeNode root) { - if (root == null) { - return 0; - } - int left = helper(root.left); - int right = helper(root.right); - tilt += Math.abs(left - right); - return left + right + root.val; } } From fcc97aef1a3ebca4d8ab0a3b12e43045b8f51436 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Mon, 10 Dec 2018 19:49:06 +0800 Subject: [PATCH 89/96] fd --- ...stSubstringWithoutRepeatingCharacters.java | 21 +++++-------- leetcode/src/Main.java | 31 +++++++++++++++++-- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java b/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java index 3ff3e38..ad292b7 100644 --- a/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java +++ b/leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java @@ -3,22 +3,17 @@ */ public class LongestSubstringWithoutRepeatingCharacters { - // 耗时39ms,性能挺好 public int lengthOfLongestSubstring(String s) { int[] count = new int[256]; - - int maxLen = 0; - - for (int i = 0, j = 0; j < s.length(); ) { - if (count[s.charAt(j)] == 0) { - count[s.charAt(j)]++; - maxLen = Math.max(maxLen, j - i + 1); - j++; - } else { - --count[s.charAt(i++)]; + int max = 0; + for (int i = 0, j = 0; i < s.length(); i++) { + char c = s.charAt(i); + count[c]++; + for ( ; j < i && count[c] > 1; j++) { + count[s.charAt(j)]--; } + max = Math.max(max, i - j + 1); } - - return maxLen; + return max; } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index af1b06a..4aceef4 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -1,16 +1,43 @@ import com.sun.org.apache.xpath.internal.operations.Bool; import java.util.*; +import java.util.concurrent.*; public class Main { public static class Solution { + public int lengthOfLongestSubstring(String s) { + HashMap map = new HashMap<>(); + int max = 0; + for (int i = 0, j = 0; i < s.length(); i++) { + char c = s.charAt(i); + map.put(c, map.getOrDefault(c, 0) + 1); + for ( ; j < i && map.get(c) > 1; j++) { + char cc = s.charAt(j); + map.put(cc, map.get(cc) - 1); + } + max = Math.max(max, i - j + 1); + } + return max; + } - public TreeNode pruneTree(TreeNode root) { - + public int lengthOfLongestSubstring(String s) { + int[] count = new int[256]; + int max = 0; + for (int i = 0, j = 0; i < s.length(); i++) { + char c = s.charAt(i); + count[c]++; + for ( ; j < i && count[c] > 1; j++) { + count[s.charAt(j)]--; + } + max = Math.max(max, i - j + 1); + } + return max; } + } + public static void main(String[] args) { Solution s = new Solution(); } From d9a96f126a1d19232ccc77487e21e8e3768fba80 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Tue, 11 Dec 2018 10:37:39 +0800 Subject: [PATCH 90/96] upate --- README.md | 1 + .../src/BinaryTreePostorderTraversal.java | 46 ++--------------- ...TreeFromPreorderAndPostorderTraversal.java | 29 +++++++++++ .../src/FindMinimumInRotatedSortedArray.java | 9 ++++ leetcode/solution/src/SearchForARange.java | 49 +------------------ leetcode/solution/src/SimplifyPath.java | 3 -- leetcode/src/Main.java | 30 ++---------- 7 files changed, 47 insertions(+), 120 deletions(-) create mode 100644 leetcode/solution/src/ConstructBinaryTreeFromPreorderAndPostorderTraversal.java diff --git a/README.md b/README.md index b39150e..dbe8586 100644 --- a/README.md +++ b/README.md @@ -404,5 +404,6 @@ |849|[Maximize Distance to Closest Person](https://leetcode.com/problems/maximize-distance-to-closest-person/)|[Java](leetcode/solution/src/MaximizeDistanceToClosestPerson.java)|80|| |857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java)|70|| |872|[Leaf-Similar Trees](https://leetcode.com/problems/leaf-similar-trees/)|[Java](leetcode/solution/src/LeafSimilarTrees.java)|80|| +|889|[Construct Binary Tree from Preorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal/)|[Java](leetcode/solution/src/ConstructBinaryTreeFromPreorderAndPostorderTraversal.java)|80|| |904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90|| |929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90|| \ No newline at end of file diff --git a/leetcode/solution/src/BinaryTreePostorderTraversal.java b/leetcode/solution/src/BinaryTreePostorderTraversal.java index 350a3de..c378c79 100644 --- a/leetcode/solution/src/BinaryTreePostorderTraversal.java +++ b/leetcode/solution/src/BinaryTreePostorderTraversal.java @@ -23,52 +23,12 @@ public List postorderTraversal(TreeNode root) { return results; } - - public ArrayList postorderTraversal2(TreeNode root) { - ArrayList result = new ArrayList(); - Stack stack = new Stack(); - TreeNode prev = null; // previously traversed node - TreeNode curr = root; - - if (root == null) { - return result; - } - - stack.push(root); - while (!stack.empty()) { - curr = stack.peek(); - if (prev == null || prev.left == curr || prev.right == curr) { // traverse down the tree - if (curr.left != null) { - stack.push(curr.left); - } else if (curr.right != null) { - stack.push(curr.right); - } - } else if (curr.left == prev) { // traverse up the tree from the left - if (curr.right != null) { - stack.push(curr.right); - } - } else { // traverse up the tree from the right - result.add(curr.val); - stack.pop(); - } - prev = curr; - } - - return result; - } - - public List postorderTraversal3(TreeNode root) { + // root为null表示栈顶的左子树都访问完了,该看右子树了 + public List postorderTraversal2(TreeNode root) { List result = new ArrayList<>(); - - if (root == null) { - return result; - } - Stack stack = new Stack<>(); - TreeNode last = null; - - while (!stack.isEmpty() || root != null) { + for (TreeNode last = null; !stack.isEmpty() || root != null; ) { if (root != null) { stack.push(root); root = root.left; diff --git a/leetcode/solution/src/ConstructBinaryTreeFromPreorderAndPostorderTraversal.java b/leetcode/solution/src/ConstructBinaryTreeFromPreorderAndPostorderTraversal.java new file mode 100644 index 0000000..93a2492 --- /dev/null +++ b/leetcode/solution/src/ConstructBinaryTreeFromPreorderAndPostorderTraversal.java @@ -0,0 +1,29 @@ +import java.util.HashMap; + +public class ConstructBinaryTreeFromPreorderAndPostorderTraversal { + + /** + * 这里先记录一下post每个数对应的索引,免得每次去找 + * 不过找找也没关系,因为每个元素不会重复找 + */ + public TreeNode constructFromPrePost(int[] pre, int[] post) { + HashMap map = new HashMap<>(); + for (int i = 0; i < post.length; i++) { + map.put(post[i], i); + } + return helper(pre, 0, pre.length - 1, post, 0, post.length - 1, map); + } + + private TreeNode helper(int[] pre, int prestart, int preend, int[] post, int poststart, int postend, HashMap map) { + if (prestart > preend || poststart > postend) { + return null; + } + TreeNode root = new TreeNode(pre[prestart]); + if (prestart + 1 <= preend) { + int len = map.get(pre[prestart + 1]) - poststart + 1; + root.left = helper(pre, prestart + 1, prestart + len, post, poststart, poststart + len - 1, map); + root.right = helper(pre, prestart + len + 1, preend, post, poststart + len, postend - 1, map); + } + return root; + } +} diff --git a/leetcode/solution/src/FindMinimumInRotatedSortedArray.java b/leetcode/solution/src/FindMinimumInRotatedSortedArray.java index ed1c5aa..4e452db 100644 --- a/leetcode/solution/src/FindMinimumInRotatedSortedArray.java +++ b/leetcode/solution/src/FindMinimumInRotatedSortedArray.java @@ -1,5 +1,14 @@ public class FindMinimumInRotatedSortedArray { + /** + * 由于[left, right]区间内包含了最小值,nums[left]通常是比nums[right]大的 + * 如果nums[left]> 1); - - if (target > nums[mid]) { - left = mid + 1; - } else { - right = mid; - } - } - - return nums[left] == target ? left : -1; - } - - public static int upperBound(int[] nums, int target) { - int left = 0, right = nums.length - 1; - - while (left < right) { - int mid = left + ((right - left) >> 1) + 1; - - if (target < nums[mid]) { - right = mid - 1; - } else { - left = mid; - } - } - - return nums[right] == target ? right : -1; - } } diff --git a/leetcode/solution/src/SimplifyPath.java b/leetcode/solution/src/SimplifyPath.java index dff04a8..b36448b 100644 --- a/leetcode/solution/src/SimplifyPath.java +++ b/leetcode/solution/src/SimplifyPath.java @@ -5,9 +5,6 @@ public class SimplifyPath { public String simplifyPath(String path) { String[] ss = path.split("/"); - /** - * 注意这里要用双端队列,因为后面要生成路径需要从前往后 - */ Deque queue = new LinkedList<>(); for (String s : ss) { /** diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 4aceef4..57872ce 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -6,36 +6,14 @@ public class Main { public static class Solution { - public int lengthOfLongestSubstring(String s) { - HashMap map = new HashMap<>(); - int max = 0; - for (int i = 0, j = 0; i < s.length(); i++) { - char c = s.charAt(i); - map.put(c, map.getOrDefault(c, 0) + 1); - for ( ; j < i && map.get(c) > 1; j++) { - char cc = s.charAt(j); - map.put(cc, map.get(cc) - 1); - } - max = Math.max(max, i - j + 1); - } - return max; - } - public int lengthOfLongestSubstring(String s) { - int[] count = new int[256]; - int max = 0; - for (int i = 0, j = 0; i < s.length(); i++) { - char c = s.charAt(i); - count[c]++; - for ( ; j < i && count[c] > 1; j++) { - count[s.charAt(j)]--; - } - max = Math.max(max, i - j + 1); + public int myAtoi(String str) { + str = str.trim(); + if (str.length() == 0) { + return } - return max; } - } public static void main(String[] args) { From 2068dfe49afa64fc86bda586c04167d6b2b64475 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 13 Dec 2018 15:39:23 +0800 Subject: [PATCH 91/96] fd --- README.md | 1 + extras.md | 4 ++ .../src/BinaryTreePostorderTraversal.java | 3 +- .../solution/src/ContainsDuplicateIII.java | 3 +- leetcode/solution/src/MaximumGap.java | 1 + .../solution/src/RemoveDuplicateList.java | 35 +++++++++++++ leetcode/src/Main.java | 52 ++++++++++++++++--- 7 files changed, 88 insertions(+), 11 deletions(-) create mode 100644 extras.md create mode 100644 leetcode/solution/src/RemoveDuplicateList.java diff --git a/README.md b/README.md index dbe8586..065216c 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ - [Facebook面试总结](https://github.com/dingjikerbo/leetcode/blob/master/doc/Facebook.md) - [Bitset技巧](https://github.com/dingjikerbo/leetcode/blob/master/doc/BitSet.md) - [Map新接口](https://github.com/dingjikerbo/leetcode/blob/master/doc/Map.md) + - [其它题目](extras.md)

diff --git a/extras.md b/extras.md new file mode 100644 index 0000000..c82f20a --- /dev/null +++ b/extras.md @@ -0,0 +1,4 @@ +# 其它题目 + +### Google + - [Remove consecutive node from single list](leetcode/src/RemoveDuplicateList.java) \ No newline at end of file diff --git a/leetcode/solution/src/BinaryTreePostorderTraversal.java b/leetcode/solution/src/BinaryTreePostorderTraversal.java index c378c79..fe59430 100644 --- a/leetcode/solution/src/BinaryTreePostorderTraversal.java +++ b/leetcode/solution/src/BinaryTreePostorderTraversal.java @@ -35,10 +35,11 @@ public List postorderTraversal2(TreeNode root) { } else { TreeNode peek = stack.peek(); if (peek.right != null && last != peek.right) { - root = peek.right; + root = peek.right; // 只有这里要设置root } else { result.add(peek.val); last = stack.pop(); + // 此时root仍为null } } } diff --git a/leetcode/solution/src/ContainsDuplicateIII.java b/leetcode/solution/src/ContainsDuplicateIII.java index ca6dc6f..a4d844c 100644 --- a/leetcode/solution/src/ContainsDuplicateIII.java +++ b/leetcode/solution/src/ContainsDuplicateIII.java @@ -10,8 +10,7 @@ public class ContainsDuplicateIII { /** * 这题要注意溢出问题,干脆都用long * 时间复杂度O(nlg(min(n,k)) - * for循环走到当前的nums[i]说明之前的都不行,因此只要判断当前 - * nums[i]的加入是否可以即可,因此只要判断nums[i]相邻的上下两个数是否在t范围内 + * 这里相当于维护了一个window,每次新遍历到一个数,都查看上下相邻的数是否满足条件 */ public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) { TreeSet set = new TreeSet<>(); diff --git a/leetcode/solution/src/MaximumGap.java b/leetcode/solution/src/MaximumGap.java index c151ae1..2ee41a0 100644 --- a/leetcode/solution/src/MaximumGap.java +++ b/leetcode/solution/src/MaximumGap.java @@ -53,6 +53,7 @@ public int maximumGap(int[] nums) { maxGap = Math.max(maxGap, mins[i] - last); last = maxs[i]; } + // 最后的max别忘了 maxGap = Math.max(maxGap, max - last); return maxGap; } diff --git a/leetcode/solution/src/RemoveDuplicateList.java b/leetcode/solution/src/RemoveDuplicateList.java new file mode 100644 index 0000000..36320d7 --- /dev/null +++ b/leetcode/solution/src/RemoveDuplicateList.java @@ -0,0 +1,35 @@ +public class RemoveDuplicateList { + + /** + * 一个链表,删除相邻且重复的 + * 如 1, 3, 3, 3, 1, 2, 4, 4,只保留1, 1, 2 + */ + public ListNode removeDup(ListNode head) { + ListNode dummy = new ListNode(0), cur = dummy; + + ListNode node = null; + int count = 0; + + for (ListNode p = head; p != null; p = p.next) { + if (node == null || node.val == p.val) { + node = p; + count++; + } else { + if (count == 1) { + cur.next = node; + cur = cur.next; + } + node = p; + count = 1; + } + } + + if (node != null && count == 1) { + cur.next = node; + cur = cur.next; + } + + cur.next = null; + return dummy.next; + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 57872ce..9fc04d9 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -1,22 +1,58 @@ -import com.sun.org.apache.xpath.internal.operations.Bool; - -import java.util.*; -import java.util.concurrent.*; public class Main { public static class Solution { - public int myAtoi(String str) { - str = str.trim(); - if (str.length() == 0) { - return + ListNode removeDup(ListNode head) { + ListNode dummy = new ListNode(0), cur = dummy; + + ListNode node = null; + int count = 0; + + for (ListNode p = head; p != null; p = p.next) { + if (node == null || node.val == p.val) { + node = p; + count++; + } else { + if (count == 1) { + cur.next = node; + cur = cur.next; + } + node = p; + count = 1; + } } + + if (node != null && count == 1) { + cur.next = node; + cur = cur.next; + } + + cur.next = null; + return dummy.next; } + ListNode make(int[] arr) { + ListNode dummy = new ListNode(0), cur = dummy; + for (int n : arr) { + cur.next = new ListNode(n); + cur = cur.next; + } + return dummy.next; + } + + } public static void main(String[] args) { Solution s = new Solution(); + int[] arr = { + 1, 3, 3, 3, 1, 2, 4, 4, 1 + }; + ListNode head = s.make(arr); + head = s.removeDup(head); + for (ListNode p = head; p != null; p = p.next) { + System.out.print(p.val + " "); + } } } From b73844e25190d5f3507e5a92ee8f06f682d0e0a2 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 13 Dec 2018 15:40:54 +0800 Subject: [PATCH 92/96] fd --- extras.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extras.md b/extras.md index c82f20a..7cbb290 100644 --- a/extras.md +++ b/extras.md @@ -1,4 +1,4 @@ # 其它题目 ### Google - - [Remove consecutive node from single list](leetcode/src/RemoveDuplicateList.java) \ No newline at end of file + - [Remove consecutive node from single list](leetcode/solution/src/RemoveDuplicateList.java) \ No newline at end of file From 5629e9363c1da917eae8fb5a47caf1549d2fa7c9 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 13 Dec 2018 16:19:09 +0800 Subject: [PATCH 93/96] fd --- extras.md | 3 +- leetcode/solution/src/CountReversePairs.java | 17 +++++++ .../solution/src/RemoveDuplicateList.java | 36 ++++++++++--- leetcode/src/Main.java | 51 ++++--------------- 4 files changed, 57 insertions(+), 50 deletions(-) create mode 100644 leetcode/solution/src/CountReversePairs.java diff --git a/extras.md b/extras.md index 7cbb290..afee170 100644 --- a/extras.md +++ b/extras.md @@ -1,4 +1,5 @@ # 其它题目 ### Google - - [Remove consecutive node from single list](leetcode/solution/src/RemoveDuplicateList.java) \ No newline at end of file + - [Remove consecutive node from single list](leetcode/solution/src/RemoveDuplicateList.java) + - [Reverse pairs](leetcode/solution/src/CountReversePairs.java) \ No newline at end of file diff --git a/leetcode/solution/src/CountReversePairs.java b/leetcode/solution/src/CountReversePairs.java new file mode 100644 index 0000000..d3f38a1 --- /dev/null +++ b/leetcode/solution/src/CountReversePairs.java @@ -0,0 +1,17 @@ +public class CountReversePairs { + + /** + * 数组arr,[0,m)和[m,arr.length)两个区间都是递增的 + * 如果[0,m)区间的数比[m, arr.len)区间大,则能构成一个reverse pair + * 问有多少个reverse pair + */ + int reversePairs(int[] arr, int m) { + int pairs = 0; + for (int i = m - 1, j = arr.length - 1; j >= m; j--) { + for ( ; i >= 0 && arr[i] > arr[j]; i--); + pairs += m - 1 - i; + } + return pairs; + } +} + diff --git a/leetcode/solution/src/RemoveDuplicateList.java b/leetcode/solution/src/RemoveDuplicateList.java index 36320d7..663d605 100644 --- a/leetcode/solution/src/RemoveDuplicateList.java +++ b/leetcode/solution/src/RemoveDuplicateList.java @@ -7,29 +7,51 @@ public class RemoveDuplicateList { public ListNode removeDup(ListNode head) { ListNode dummy = new ListNode(0), cur = dummy; - ListNode node = null; + ListNode last = null; int count = 0; for (ListNode p = head; p != null; p = p.next) { - if (node == null || node.val == p.val) { - node = p; + if (last == null || last.val == p.val) { + last = p; count++; } else { if (count == 1) { - cur.next = node; + cur.next = last; cur = cur.next; } - node = p; + last = p; count = 1; } } - if (node != null && count == 1) { - cur.next = node; + if (last != null && count == 1) { + cur.next = last; cur = cur.next; } cur.next = null; return dummy.next; } + + // 可在上面的基础上精简 + // count是可以去掉的 + public ListNode removeDup2(ListNode head) { + if (head == null) { + return null; + } + ListNode dummy = new ListNode(0), cur = dummy; + ListNode last = head; + + for (ListNode p = head.next; p != null; p = p.next) { + if (last.val != p.val) { + if (last.next == p) { + cur.next = last; + cur = cur.next; + } + last = p; + } + } + cur.next = (last.next == null ? last : null); + return dummy.next; + } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 9fc04d9..549368f 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -3,56 +3,23 @@ public class Main { public static class Solution { - ListNode removeDup(ListNode head) { - ListNode dummy = new ListNode(0), cur = dummy; - - ListNode node = null; - int count = 0; - - for (ListNode p = head; p != null; p = p.next) { - if (node == null || node.val == p.val) { - node = p; - count++; - } else { - if (count == 1) { - cur.next = node; - cur = cur.next; - } - node = p; - count = 1; - } - } - - if (node != null && count == 1) { - cur.next = node; - cur = cur.next; - } - - cur.next = null; - return dummy.next; - } - - ListNode make(int[] arr) { - ListNode dummy = new ListNode(0), cur = dummy; - for (int n : arr) { - cur.next = new ListNode(n); - cur = cur.next; + int reversePairs(int[] arr, int m) { + int pairs = 0; + for (int i = m - 1, j = arr.length - 1; j >= m; j--) { + for ( ; i >= 0 && arr[i] > arr[j]; i--); + pairs += m - 1 - i; } - return dummy.next; + return pairs; } - } public static void main(String[] args) { Solution s = new Solution(); int[] arr = { - 1, 3, 3, 3, 1, 2, 4, 4, 1 + 1, 4, 8, 9, 2, 3, 6, 7 }; - ListNode head = s.make(arr); - head = s.removeDup(head); - for (ListNode p = head; p != null; p = p.next) { - System.out.print(p.val + " "); - } + int n = s.reversePairs(arr, 4); + System.out.println(n); } } From e29991453c90c42dc0723a8a56ecbe90d305de89 Mon Sep 17 00:00:00 2001 From: Wentian Li Date: Sun, 23 Feb 2020 13:01:55 -0800 Subject: [PATCH 94/96] fd --- .DS_Store | Bin 8196 -> 6148 bytes .../src/RepeatedSubstringPattern.java | 5 +++++ 2 files changed, 5 insertions(+) diff --git a/.DS_Store b/.DS_Store index cf4a7d13889654e6329784e526ff4a7957b038e3..064b9a2a912275bb5587bb8a173aa6b447cad53f 100644 GIT binary patch delta 104 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50$jG-bU^g=(-)0_xJIs?~MCBK= qb8rYU162Tl05_0u1u5QG_?>w&zl? zZ02FP!_3XfP{NQ8ggFewlgn6d*28%@>4w3{`MCu^Q(yo|ZEn7cOG;@;G6Tc)Wobdn zjDSi|WK;0S7G&TynF;8Oo9ucU8+w=onIZN{a06*qkY6?na(ri=%rD|O*`J4lgAw9Q RhRN|fQv;~$3Ya50nE=rTPJjRa diff --git a/leetcode/solution/src/RepeatedSubstringPattern.java b/leetcode/solution/src/RepeatedSubstringPattern.java index aae18c5..4334411 100644 --- a/leetcode/solution/src/RepeatedSubstringPattern.java +++ b/leetcode/solution/src/RepeatedSubstringPattern.java @@ -5,15 +5,20 @@ public class RepeatedSubstringPattern { */ public boolean repeatedSubstringPattern(String str) { int l = str.length(); + boolean flag = true; for (int i = l / 2; i >= 1; i--) { if (l % i == 0) { int m = l / i; + if (m % 2 == 0 && !flag) { + continue; + } String subS = str.substring(0, i); StringBuilder sb = new StringBuilder(); for (int j = 0; j < m; j++) { sb.append(subS); } if (sb.toString().equals(str)) return true; + flag = false; } } return false; From fbf48109244bdb17df9f025f83da5ac58aadcf18 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 20 Aug 2021 18:51:54 -0700 Subject: [PATCH 95/96] fd --- leetcode/solution/src/AddTwoNumber.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/leetcode/solution/src/AddTwoNumber.java b/leetcode/solution/src/AddTwoNumber.java index 9469ff4..09fa42c 100644 --- a/leetcode/solution/src/AddTwoNumber.java +++ b/leetcode/solution/src/AddTwoNumber.java @@ -18,4 +18,26 @@ public ListNode addTwoNumbers(ListNode l1, ListNode l2) { return dummy.next; } + + // modify source list value + public ListNode addTwoNumbers2(ListNode l1, ListNode l2) { + ListNode dummy = new ListNode(0), cur = dummy; + + for (int carry = 0; l1 != null || l2 != null || carry > 0; ) { + int n1 = l1 != null ? l1.val : 0; + int n2 = l2 != null ? l2.val : 0; + int sum = n1 + n2 + carry; + + ListNode node = l1 != null ? l1 : l2 != null ? l2 : new ListNode(0); + node.val = sum % 10; + carry = sum / 10; + cur.next = node; + cur = node; + + l1 = l1 != null ? l1.next : null; + l2 = l2 != null ? l2.next : null; + } + + return dummy.next; + } } From a1411c56e4013933109faf5bba3b34d7714b0e51 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 20 Aug 2021 20:32:54 -0700 Subject: [PATCH 96/96] fd --- leetcode/solution/src/AddTwoNumber.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/leetcode/solution/src/AddTwoNumber.java b/leetcode/solution/src/AddTwoNumber.java index 09fa42c..c1c02b3 100644 --- a/leetcode/solution/src/AddTwoNumber.java +++ b/leetcode/solution/src/AddTwoNumber.java @@ -34,6 +34,10 @@ public ListNode addTwoNumbers2(ListNode l1, ListNode l2) { cur.next = node; cur = node; + if ((l1 == null || l2 == null) && carry == 0) { + break; + } + l1 = l1 != null ? l1.next : null; l2 = l2 != null ? l2.next : null; }

* 这题核心思路是: * 1,先取出高度最高的那一组,如果有若干个高度相同的,则按k升序排列,这就是他们之后的相对顺序了。 diff --git a/leetcode/solution/src/RandomPickIndex.java b/leetcode/solution/src/RandomPickIndex.java index f4adee0..390e589 100644 --- a/leetcode/solution/src/RandomPickIndex.java +++ b/leetcode/solution/src/RandomPickIndex.java @@ -1,9 +1,5 @@ import java.util.Random; -/** - * Created by dingjikerbo on 16/11/22. - */ - /** * 注意这里一定要给整个数组遍历完,这样才能保证所有数字的概率是一样的,否则只能保证 * 当前遍历过的数都是等概率的。 diff --git a/leetcode/solution/src/RangeAddition.java b/leetcode/solution/src/RangeAddition.java index 347edf6..5d0a220 100644 --- a/leetcode/solution/src/RangeAddition.java +++ b/leetcode/solution/src/RangeAddition.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - /** * https://leetcode.com/articles/range-addition/ */ diff --git a/leetcode/solution/src/ReadNCharactersGivenRead4.java b/leetcode/solution/src/ReadNCharactersGivenRead4.java index 983fdb8..9f916e2 100644 --- a/leetcode/solution/src/ReadNCharactersGivenRead4.java +++ b/leetcode/solution/src/ReadNCharactersGivenRead4.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/20. - */ - public abstract class ReadNCharactersGivenRead4 { public int read(char[] buf, int n) { diff --git a/leetcode/solution/src/ReadNCharactersGivenRead4II.java b/leetcode/solution/src/ReadNCharactersGivenRead4II.java index c9b860f..c49256f 100644 --- a/leetcode/solution/src/ReadNCharactersGivenRead4II.java +++ b/leetcode/solution/src/ReadNCharactersGivenRead4II.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/20. - */ - public abstract class ReadNCharactersGivenRead4II { private char[] mTmp = new char[4]; diff --git a/leetcode/solution/src/RearrangeStringKDistanceApart.java b/leetcode/solution/src/RearrangeStringKDistanceApart.java index 9930374..2ab20c4 100644 --- a/leetcode/solution/src/RearrangeStringKDistanceApart.java +++ b/leetcode/solution/src/RearrangeStringKDistanceApart.java @@ -3,10 +3,6 @@ import java.util.PriorityQueue; import java.util.Queue; -/** - * Created by dingjikerbo on 17/1/6. - */ - public class RearrangeStringKDistanceApart { /** * 这题思路是先统计有哪些字符,并将这些字符按频率从高到底放在优先队列中,由于相同字符之间距离至少是k, diff --git a/leetcode/solution/src/ReconstructItinerary.java b/leetcode/solution/src/ReconstructItinerary.java index 7f53b04..43f80f1 100644 --- a/leetcode/solution/src/ReconstructItinerary.java +++ b/leetcode/solution/src/ReconstructItinerary.java @@ -1,8 +1,5 @@ import java.util.*; -/** - * Created by liwentian on 2017/9/2. - */ /** * 这题有两个前提 * 1, 必须从JFK开始 diff --git a/leetcode/solution/src/RecoverBinarySearchTree.java b/leetcode/solution/src/RecoverBinarySearchTree.java index 9777cd1..3f3e335 100644 --- a/leetcode/solution/src/RecoverBinarySearchTree.java +++ b/leetcode/solution/src/RecoverBinarySearchTree.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by dingjikerbo on 16/11/30. - */ - public class RecoverBinarySearchTree { TreeNode first, second, prev; diff --git a/leetcode/solution/src/RectangleArea.java b/leetcode/solution/src/RectangleArea.java index 3d787c1..93deb8b 100644 --- a/leetcode/solution/src/RectangleArea.java +++ b/leetcode/solution/src/RectangleArea.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/8. - */ - public class RectangleArea { public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { diff --git a/leetcode/solution/src/RedundantConnection.java b/leetcode/solution/src/RedundantConnection.java index 9283ec5..01ee412 100644 --- a/leetcode/solution/src/RedundantConnection.java +++ b/leetcode/solution/src/RedundantConnection.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/12/7. - */ - /** * https://leetcode.com/articles/redundant-connection/ */ diff --git a/leetcode/solution/src/RegularExpressionMatching.java b/leetcode/solution/src/RegularExpressionMatching.java index 09494e7..cbdac88 100644 --- a/leetcode/solution/src/RegularExpressionMatching.java +++ b/leetcode/solution/src/RegularExpressionMatching.java @@ -1,6 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/20. - */ /** * 这道题最重要的是no bug,而不是性能 * 要给所有cases cover到 diff --git a/leetcode/solution/src/RemoveDuplicateLetters.java b/leetcode/solution/src/RemoveDuplicateLetters.java index 6257454..831e6a9 100644 --- a/leetcode/solution/src/RemoveDuplicateLetters.java +++ b/leetcode/solution/src/RemoveDuplicateLetters.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/1/2. - */ - public class RemoveDuplicateLetters { diff --git a/leetcode/solution/src/RemoveDuplicatesFromSortedArray.java b/leetcode/solution/src/RemoveDuplicatesFromSortedArray.java index df61245..fa93580 100644 --- a/leetcode/solution/src/RemoveDuplicatesFromSortedArray.java +++ b/leetcode/solution/src/RemoveDuplicatesFromSortedArray.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/24. - */ - /** * https://leetcode.com/articles/remove-duplicates-sorted-array/ */ diff --git a/leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java b/leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java index 21f79c9..11230f5 100644 --- a/leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java +++ b/leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/24. - */ - public class RemoveDuplicatesFromSortedArrayII { public int removeDuplicates(int[] nums) { diff --git a/leetcode/solution/src/RemoveDuplicatesFromSortedList.java b/leetcode/solution/src/RemoveDuplicatesFromSortedList.java index 6d51bd5..0814495 100644 --- a/leetcode/solution/src/RemoveDuplicatesFromSortedList.java +++ b/leetcode/solution/src/RemoveDuplicatesFromSortedList.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/24. - */ - /** * https://leetcode.com/articles/remove-duplicates-sorted-list/ */ diff --git a/leetcode/solution/src/RemoveDuplicatesFromSortedListII.java b/leetcode/solution/src/RemoveDuplicatesFromSortedListII.java index 59deab8..1cea4bc 100644 --- a/leetcode/solution/src/RemoveDuplicatesFromSortedListII.java +++ b/leetcode/solution/src/RemoveDuplicatesFromSortedListII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/24. - */ - public class RemoveDuplicatesFromSortedListII { public ListNode deleteDuplicates(ListNode head) { diff --git a/leetcode/solution/src/RemoveElement.java b/leetcode/solution/src/RemoveElement.java index 6bf8287..8e8fcef 100644 --- a/leetcode/solution/src/RemoveElement.java +++ b/leetcode/solution/src/RemoveElement.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/20. - */ - public class RemoveElement { public int removeElement(int[] nums, int val) { diff --git a/leetcode/solution/src/RemoveInvalidParentheses.java b/leetcode/solution/src/RemoveInvalidParentheses.java index 89cff2b..3bc3c0e 100644 --- a/leetcode/solution/src/RemoveInvalidParentheses.java +++ b/leetcode/solution/src/RemoveInvalidParentheses.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/11/19. - */ - /** * TestCase * "" diff --git a/leetcode/solution/src/RemoveKDigits.java b/leetcode/solution/src/RemoveKDigits.java index 13a6aeb..9394e25 100644 --- a/leetcode/solution/src/RemoveKDigits.java +++ b/leetcode/solution/src/RemoveKDigits.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/20. - */ - /** * TestCase: * "10", 2 diff --git a/leetcode/solution/src/RemoveLinkedListElements.java b/leetcode/solution/src/RemoveLinkedListElements.java index c1dc5c5..cb724ff 100644 --- a/leetcode/solution/src/RemoveLinkedListElements.java +++ b/leetcode/solution/src/RemoveLinkedListElements.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/20. - */ - public class RemoveLinkedListElements { public ListNode removeElements(ListNode head, int val) { diff --git a/leetcode/solution/src/RemoveNthNodeFromEndOfList.java b/leetcode/solution/src/RemoveNthNodeFromEndOfList.java index 3fb8f48..ea2dd02 100644 --- a/leetcode/solution/src/RemoveNthNodeFromEndOfList.java +++ b/leetcode/solution/src/RemoveNthNodeFromEndOfList.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/20. - */ - /** * https://leetcode.com/articles/remove-nth-node-end-list/ */ diff --git a/leetcode/solution/src/ReorderList.java b/leetcode/solution/src/ReorderList.java index 6c278a5..ed4940e 100644 --- a/leetcode/solution/src/ReorderList.java +++ b/leetcode/solution/src/ReorderList.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - public class ReorderList { public void reorderList(ListNode head) { diff --git a/leetcode/solution/src/RepeatedSubstringPattern.java b/leetcode/solution/src/RepeatedSubstringPattern.java index 0f8cb81..aae18c5 100644 --- a/leetcode/solution/src/RepeatedSubstringPattern.java +++ b/leetcode/solution/src/RepeatedSubstringPattern.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/12/9. - */ - public class RepeatedSubstringPattern { /** diff --git a/leetcode/solution/src/RestoreIPAddresses.java b/leetcode/solution/src/RestoreIPAddresses.java index 57dfa5b..5cce134 100644 --- a/leetcode/solution/src/RestoreIPAddresses.java +++ b/leetcode/solution/src/RestoreIPAddresses.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by liwentian on 2017/9/6. - */ - public class RestoreIPAddresses { /** diff --git a/leetcode/solution/src/ReverseBits.java b/leetcode/solution/src/ReverseBits.java index 7fd6e03..5285fbc 100644 --- a/leetcode/solution/src/ReverseBits.java +++ b/leetcode/solution/src/ReverseBits.java @@ -1,6 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ public class ReverseBits { diff --git a/leetcode/solution/src/ReverseInteger.java b/leetcode/solution/src/ReverseInteger.java index 9531eb5..3c6b2f9 100644 --- a/leetcode/solution/src/ReverseInteger.java +++ b/leetcode/solution/src/ReverseInteger.java @@ -1,6 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ public class ReverseInteger { diff --git a/leetcode/solution/src/ReverseLinkedList.java b/leetcode/solution/src/ReverseLinkedList.java index 6942d4c..e858f36 100644 --- a/leetcode/solution/src/ReverseLinkedList.java +++ b/leetcode/solution/src/ReverseLinkedList.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * https://leetcode.com/articles/reverse-linked-list/ */ diff --git a/leetcode/solution/src/ReverseLinkedListII.java b/leetcode/solution/src/ReverseLinkedListII.java index 47e38c9..fa6e474 100644 --- a/leetcode/solution/src/ReverseLinkedListII.java +++ b/leetcode/solution/src/ReverseLinkedListII.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - public class ReverseLinkedListII { public ListNode reverseBetween(ListNode head, int m, int n) { diff --git a/leetcode/solution/src/ReverseNodesInKGroup.java b/leetcode/solution/src/ReverseNodesInKGroup.java index eede1e0..0f6903a 100644 --- a/leetcode/solution/src/ReverseNodesInKGroup.java +++ b/leetcode/solution/src/ReverseNodesInKGroup.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/24. - */ - public class ReverseNodesInKGroup { public ListNode reverseKGroup(ListNode head, int k) { diff --git a/leetcode/solution/src/ReverseString.java b/leetcode/solution/src/ReverseString.java index 2f95bd6..86bb628 100644 --- a/leetcode/solution/src/ReverseString.java +++ b/leetcode/solution/src/ReverseString.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - public class ReverseString { public String reverseString(String s) { diff --git a/leetcode/solution/src/ReverseStringII.java b/leetcode/solution/src/ReverseStringII.java index e55b9ce..3c0142c 100644 --- a/leetcode/solution/src/ReverseStringII.java +++ b/leetcode/solution/src/ReverseStringII.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - public class ReverseStringII { public String reverseStr(String s, int k) { diff --git a/leetcode/solution/src/ReverseVowelsOfaString.java b/leetcode/solution/src/ReverseVowelsOfaString.java index c438e9f..3ea675c 100644 --- a/leetcode/solution/src/ReverseVowelsOfaString.java +++ b/leetcode/solution/src/ReverseVowelsOfaString.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/8/31. - */ - public class ReverseVowelsOfaString { diff --git a/leetcode/solution/src/ReverseWordsInAString.java b/leetcode/solution/src/ReverseWordsInAString.java index 0ce2d1a..d88788d 100644 --- a/leetcode/solution/src/ReverseWordsInAString.java +++ b/leetcode/solution/src/ReverseWordsInAString.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 17/8/14. - */ - public class ReverseWordsInAString { diff --git a/leetcode/solution/src/ReverseWordsInAStringII.java b/leetcode/solution/src/ReverseWordsInAStringII.java index 16eb557..fb079d4 100644 --- a/leetcode/solution/src/ReverseWordsInAStringII.java +++ b/leetcode/solution/src/ReverseWordsInAStringII.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 17/8/12. - */ - public class ReverseWordsInAStringII { public void reverseWords(char[] s) { diff --git a/leetcode/solution/src/ReverseWordsInAStringIII.java b/leetcode/solution/src/ReverseWordsInAStringIII.java index 50b4bf7..5787f79 100644 --- a/leetcode/solution/src/ReverseWordsInAStringIII.java +++ b/leetcode/solution/src/ReverseWordsInAStringIII.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - /** * https://leetcode.com/articles/reverse-words-in-a-string/ */ diff --git a/leetcode/solution/src/RomanToInteger.java b/leetcode/solution/src/RomanToInteger.java index 5d6ad19..96da591 100644 --- a/leetcode/solution/src/RomanToInteger.java +++ b/leetcode/solution/src/RomanToInteger.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class RomanToInteger { public int romanToInt(String s) { diff --git a/leetcode/solution/src/RotateArray.java b/leetcode/solution/src/RotateArray.java index 3201567..b0deb0a 100644 --- a/leetcode/solution/src/RotateArray.java +++ b/leetcode/solution/src/RotateArray.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - public class RotateArray { public void rotate(int[] nums, int k) { diff --git a/leetcode/solution/src/RotateImage.java b/leetcode/solution/src/RotateImage.java index 50b91db..8ce4a29 100644 --- a/leetcode/solution/src/RotateImage.java +++ b/leetcode/solution/src/RotateImage.java @@ -1,6 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ public class RotateImage { // 耗时2ms diff --git a/leetcode/solution/src/RotateList.java b/leetcode/solution/src/RotateList.java index f46f2ab..4200872 100644 --- a/leetcode/solution/src/RotateList.java +++ b/leetcode/solution/src/RotateList.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - public class RotateList { public ListNode rotateRight(ListNode head, int n) { diff --git a/leetcode/solution/src/SameTree.java b/leetcode/solution/src/SameTree.java index 48d27a0..503fa6e 100644 --- a/leetcode/solution/src/SameTree.java +++ b/leetcode/solution/src/SameTree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/28. - */ - public class SameTree { public boolean isSameTree(TreeNode p, TreeNode q) { diff --git a/leetcode/solution/src/Search2DMatrix.java b/leetcode/solution/src/Search2DMatrix.java index 29a6f4e..0f424b4 100644 --- a/leetcode/solution/src/Search2DMatrix.java +++ b/leetcode/solution/src/Search2DMatrix.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - public class Search2DMatrix { // 耗时11ms diff --git a/leetcode/solution/src/Search2DMatrixII.java b/leetcode/solution/src/Search2DMatrixII.java index a752fd2..b8e3be7 100644 --- a/leetcode/solution/src/Search2DMatrixII.java +++ b/leetcode/solution/src/Search2DMatrixII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - public class Search2DMatrixII { // 耗时14ms diff --git a/leetcode/solution/src/SearchForARange.java b/leetcode/solution/src/SearchForARange.java index c7990c2..d5a117e 100644 --- a/leetcode/solution/src/SearchForARange.java +++ b/leetcode/solution/src/SearchForARange.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class SearchForARange { /** diff --git a/leetcode/solution/src/SearchInRotatedSortedArray.java b/leetcode/solution/src/SearchInRotatedSortedArray.java index 65bf1d6..492cc0f 100644 --- a/leetcode/solution/src/SearchInRotatedSortedArray.java +++ b/leetcode/solution/src/SearchInRotatedSortedArray.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public class SearchInRotatedSortedArray { /** * TestCase diff --git a/leetcode/solution/src/SearchInRotatedSortedArrayII.java b/leetcode/solution/src/SearchInRotatedSortedArrayII.java index a95393c..5014371 100644 --- a/leetcode/solution/src/SearchInRotatedSortedArrayII.java +++ b/leetcode/solution/src/SearchInRotatedSortedArrayII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public class SearchInRotatedSortedArrayII { /** * TestCase diff --git a/leetcode/solution/src/SearchInsertPosition.java b/leetcode/solution/src/SearchInsertPosition.java index 4ed1134..15e2abb 100644 --- a/leetcode/solution/src/SearchInsertPosition.java +++ b/leetcode/solution/src/SearchInsertPosition.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 2016/12/17. - */ - public class SearchInsertPosition { public int searchInsert(int[] nums, int target) { diff --git a/leetcode/solution/src/SegmentTreeNode.java b/leetcode/solution/src/SegmentTreeNode.java index 0fab390..15eb3e2 100644 --- a/leetcode/solution/src/SegmentTreeNode.java +++ b/leetcode/solution/src/SegmentTreeNode.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/26. - */ - public class SegmentTreeNode { public SegmentTreeNode left, right; diff --git a/leetcode/solution/src/SelfCrossing.java b/leetcode/solution/src/SelfCrossing.java index ddb52d8..ee9c63c 100644 --- a/leetcode/solution/src/SelfCrossing.java +++ b/leetcode/solution/src/SelfCrossing.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/21. - */ - /** * 这题非常数学,最好画一下,总的来说可以归纳为三种情况: * 1. 第4条线和第1条线相交 diff --git a/leetcode/solution/src/SentenceScreenFitting.java b/leetcode/solution/src/SentenceScreenFitting.java index 6b628aa..d4ab086 100644 --- a/leetcode/solution/src/SentenceScreenFitting.java +++ b/leetcode/solution/src/SentenceScreenFitting.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/11. - */ - /** * https://discuss.leetcode.com/category/546/sentence-screen-fitting */ diff --git a/leetcode/solution/src/SerializeAndDeserializeBST.java b/leetcode/solution/src/SerializeAndDeserializeBST.java index 1fdb876..7b0a36e 100644 --- a/leetcode/solution/src/SerializeAndDeserializeBST.java +++ b/leetcode/solution/src/SerializeAndDeserializeBST.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 17/8/3. - */ - /** * 本题和#297一样 */ diff --git a/leetcode/solution/src/SetMatrixZeroes.java b/leetcode/solution/src/SetMatrixZeroes.java index a8ffbe0..00206d3 100644 --- a/leetcode/solution/src/SetMatrixZeroes.java +++ b/leetcode/solution/src/SetMatrixZeroes.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 17/8/12. - */ - public class SetMatrixZeroes { public void setZeroes(int[][] matrix) { diff --git a/leetcode/solution/src/ShortestDistanceFromAllBuildings.java b/leetcode/solution/src/ShortestDistanceFromAllBuildings.java index 5eda03a..b623b0f 100644 --- a/leetcode/solution/src/ShortestDistanceFromAllBuildings.java +++ b/leetcode/solution/src/ShortestDistanceFromAllBuildings.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/12/11. - */ - public class ShortestDistanceFromAllBuildings { /** diff --git a/leetcode/solution/src/ShortestPalindrome.java b/leetcode/solution/src/ShortestPalindrome.java index 46a3f40..8ffdb4e 100644 --- a/leetcode/solution/src/ShortestPalindrome.java +++ b/leetcode/solution/src/ShortestPalindrome.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/17. - */ - /** * https://segmentfault.com/a/1190000003059361 */ diff --git a/leetcode/solution/src/ShortestWordDistance.java b/leetcode/solution/src/ShortestWordDistance.java index 2d653ea..67bd274 100644 --- a/leetcode/solution/src/ShortestWordDistance.java +++ b/leetcode/solution/src/ShortestWordDistance.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/25. - */ - public class ShortestWordDistance { // 耗时3ms diff --git a/leetcode/solution/src/ShortestWordDistanceII.java b/leetcode/solution/src/ShortestWordDistanceII.java index 4538773..8ad89d4 100644 --- a/leetcode/solution/src/ShortestWordDistanceII.java +++ b/leetcode/solution/src/ShortestWordDistanceII.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Map; -/** - * Created by liwentian on 2017/9/10. - */ - public class ShortestWordDistanceII { private Map> map; diff --git a/leetcode/solution/src/ShortestWordDistanceIII.java b/leetcode/solution/src/ShortestWordDistanceIII.java index 167a031..584d71a 100644 --- a/leetcode/solution/src/ShortestWordDistanceIII.java +++ b/leetcode/solution/src/ShortestWordDistanceIII.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/10. - */ - public class ShortestWordDistanceIII { public int shortestWordDistance(String[] words, String word1, String word2) { diff --git a/leetcode/solution/src/ShuffleAnArray.java b/leetcode/solution/src/ShuffleAnArray.java index 2136c7e..5bfd258 100644 --- a/leetcode/solution/src/ShuffleAnArray.java +++ b/leetcode/solution/src/ShuffleAnArray.java @@ -1,10 +1,6 @@ import java.util.Arrays; import java.util.Random; -/** - * Created by dingjikerbo on 16/12/8. - */ - public class ShuffleAnArray { private int[] mNums; diff --git a/leetcode/solution/src/SimplifyPath.java b/leetcode/solution/src/SimplifyPath.java index bc79aa5..dff04a8 100644 --- a/leetcode/solution/src/SimplifyPath.java +++ b/leetcode/solution/src/SimplifyPath.java @@ -1,10 +1,6 @@ import java.util.Deque; import java.util.LinkedList; -/** - * Created by dingjikerbo on 16/11/22. - */ - public class SimplifyPath { public String simplifyPath(String path) { diff --git a/leetcode/solution/src/SlidingWindowMaximum.java b/leetcode/solution/src/SlidingWindowMaximum.java index 1d19a21..3524255 100644 --- a/leetcode/solution/src/SlidingWindowMaximum.java +++ b/leetcode/solution/src/SlidingWindowMaximum.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * TestCases [1,-1] 1 diff --git a/leetcode/solution/src/SlidingWindowMedian.java b/leetcode/solution/src/SlidingWindowMedian.java index 5b2afc3..a9b939c 100644 --- a/leetcode/solution/src/SlidingWindowMedian.java +++ b/leetcode/solution/src/SlidingWindowMedian.java @@ -3,7 +3,6 @@ import java.util.TreeMap; /** - * Created by liwentian on 2017/9/12. * https://leetcode.com/articles/sliding-window-median/ * 和 #295 Find Median from Data Stream 比较类似 */ diff --git a/leetcode/solution/src/SmallestGoodBase.java b/leetcode/solution/src/SmallestGoodBase.java index 0ea399c..257d024 100644 --- a/leetcode/solution/src/SmallestGoodBase.java +++ b/leetcode/solution/src/SmallestGoodBase.java @@ -1,9 +1,5 @@ import java.math.BigInteger; -/** - * Created by liwentian on 2017/9/22. - */ - public class SmallestGoodBase { public String smallestGoodBase(String nn) { diff --git a/leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java b/leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java index 8be3e16..f71408d 100644 --- a/leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java +++ b/leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/22. - */ - public class SmallestRectangleEnclosingBlackPixels { private char[][] image; diff --git a/leetcode/solution/src/SortCharactersByFrequency.java b/leetcode/solution/src/SortCharactersByFrequency.java index 75724bf..858813c 100644 --- a/leetcode/solution/src/SortCharactersByFrequency.java +++ b/leetcode/solution/src/SortCharactersByFrequency.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by liwentian on 2017/9/22. - */ - public class SortCharactersByFrequency { public String frequencySort(String s) { diff --git a/leetcode/solution/src/SortColors.java b/leetcode/solution/src/SortColors.java index a5724ec..8554544 100644 --- a/leetcode/solution/src/SortColors.java +++ b/leetcode/solution/src/SortColors.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/22. - */ - public class SortColors { /** diff --git a/leetcode/solution/src/SortList.java b/leetcode/solution/src/SortList.java index b50026f..bd10a33 100644 --- a/leetcode/solution/src/SortList.java +++ b/leetcode/solution/src/SortList.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/11. - */ - /** * 这题采用merge sort,可自顶向下或自底向上 * 区别是自顶向下是递归的,需要额外的空间 diff --git a/leetcode/solution/src/SparseMatrixMultiplication.java b/leetcode/solution/src/SparseMatrixMultiplication.java index 7d3b5f9..60ec5fb 100644 --- a/leetcode/solution/src/SparseMatrixMultiplication.java +++ b/leetcode/solution/src/SparseMatrixMultiplication.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/19. - */ - /** * 这题有点意思,只要给里层两个for循环交换一下顺序即可 */ diff --git a/leetcode/solution/src/SpiralMatrix.java b/leetcode/solution/src/SpiralMatrix.java index a91892e..3cd7e21 100644 --- a/leetcode/solution/src/SpiralMatrix.java +++ b/leetcode/solution/src/SpiralMatrix.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by liwentian on 2017/9/10. - */ - public class SpiralMatrix { public List spiralOrder(int[][] matrix) { diff --git a/leetcode/solution/src/SplitArrayLargestSum.java b/leetcode/solution/src/SplitArrayLargestSum.java index 14d2009..b1370a6 100644 --- a/leetcode/solution/src/SplitArrayLargestSum.java +++ b/leetcode/solution/src/SplitArrayLargestSum.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/19. - */ - /** * 将数组切成m段,求所有段中最大值的最小值 * 我们倒过来思考,假设这个值为k,则意味着所有段的和都不会超过k,如果我们能确保这种情况下数组能被切成m段,则表明k是候选的值。那怎样确保k是最小值呢? diff --git a/leetcode/solution/src/Sqrt.java b/leetcode/solution/src/Sqrt.java index 30902f1..e8aff4e 100644 --- a/leetcode/solution/src/Sqrt.java +++ b/leetcode/solution/src/Sqrt.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public class Sqrt { /** diff --git a/leetcode/solution/src/StrStr.java b/leetcode/solution/src/StrStr.java index 51ced95..4f49e9b 100644 --- a/leetcode/solution/src/StrStr.java +++ b/leetcode/solution/src/StrStr.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - public class StrStr { // 这里非常重要的是i<=len1-len2,如果没有这个会超时 diff --git a/leetcode/solution/src/String2Integer.java b/leetcode/solution/src/String2Integer.java index 8a6404e..dcf028a 100644 --- a/leetcode/solution/src/String2Integer.java +++ b/leetcode/solution/src/String2Integer.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/4/29. - */ - /** * 要求如下: * 1. 过滤掉前面的空格 diff --git a/leetcode/solution/src/StrobogrammaticNumber.java b/leetcode/solution/src/StrobogrammaticNumber.java index 5120be9..5ffcd25 100644 --- a/leetcode/solution/src/StrobogrammaticNumber.java +++ b/leetcode/solution/src/StrobogrammaticNumber.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/8/31. - */ - /** * 旋转180度,而不是上下镜像 */ diff --git a/leetcode/solution/src/SubarraySumEqualsK.java b/leetcode/solution/src/SubarraySumEqualsK.java index e8ceda1..bdf26fd 100644 --- a/leetcode/solution/src/SubarraySumEqualsK.java +++ b/leetcode/solution/src/SubarraySumEqualsK.java @@ -1,7 +1,6 @@ import java.util.HashMap; /** - * Created by liwentian on 2017/12/5. * https://leetcode.com/articles/subarray-sum-equals-k/ */ diff --git a/leetcode/solution/src/Subsets.java b/leetcode/solution/src/Subsets.java index 024d498..c26b40f 100644 --- a/leetcode/solution/src/Subsets.java +++ b/leetcode/solution/src/Subsets.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/11/22. - */ - /** * 思路是对每个index,有两种情况,要还是不要 * 要注意的是添加结果到result时,要复制一个列表,别直接加list diff --git a/leetcode/solution/src/SubsetsII.java b/leetcode/solution/src/SubsetsII.java index c5729a4..c84b198 100644 --- a/leetcode/solution/src/SubsetsII.java +++ b/leetcode/solution/src/SubsetsII.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 2016/11/22. - */ - public class SubsetsII { public List> subsetsWithDup(int[] nums) { diff --git a/leetcode/solution/src/SubstringWithConcatenationOfAllWords.java b/leetcode/solution/src/SubstringWithConcatenationOfAllWords.java index b38d44d..1922d7e 100644 --- a/leetcode/solution/src/SubstringWithConcatenationOfAllWords.java +++ b/leetcode/solution/src/SubstringWithConcatenationOfAllWords.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 17/5/6. - */ - public class SubstringWithConcatenationOfAllWords { // 118ms,最直接的做法 diff --git a/leetcode/solution/src/SudokuSolver.java b/leetcode/solution/src/SudokuSolver.java index afee9c6..47f73f0 100644 --- a/leetcode/solution/src/SudokuSolver.java +++ b/leetcode/solution/src/SudokuSolver.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/5/9. - */ - public class SudokuSolver { public void solveSudoku(char[][] board) { diff --git a/leetcode/solution/src/SumOfLeftLeaves.java b/leetcode/solution/src/SumOfLeftLeaves.java index fe7107b..6893aaf 100644 --- a/leetcode/solution/src/SumOfLeftLeaves.java +++ b/leetcode/solution/src/SumOfLeftLeaves.java @@ -1,9 +1,5 @@ import java.util.Stack; -/** - * Created by dingjikerbo on 2016/12/2. - */ - public class SumOfLeftLeaves { public int sumOfLeftLeaves(TreeNode root) { diff --git a/leetcode/solution/src/SumRootToLeafNumbers.java b/leetcode/solution/src/SumRootToLeafNumbers.java index acc0e1f..b0d3b82 100644 --- a/leetcode/solution/src/SumRootToLeafNumbers.java +++ b/leetcode/solution/src/SumRootToLeafNumbers.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/2. - */ - public class SumRootToLeafNumbers { private int result; diff --git a/leetcode/solution/src/SummaryRanges.java b/leetcode/solution/src/SummaryRanges.java index a41b722..649b443 100644 --- a/leetcode/solution/src/SummaryRanges.java +++ b/leetcode/solution/src/SummaryRanges.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by liwentian on 2017/9/10. - */ - /** * https://leetcode.com/articles/summary-ranges/ * 和 163. Missing Ranges 比较类似 diff --git a/leetcode/solution/src/SuperUglyNumber.java b/leetcode/solution/src/SuperUglyNumber.java index 76069a7..1aff921 100644 --- a/leetcode/solution/src/SuperUglyNumber.java +++ b/leetcode/solution/src/SuperUglyNumber.java @@ -1,10 +1,6 @@ import java.util.Arrays; import java.util.PriorityQueue; -/** - * Created by liwentian on 2017/9/22. - */ - public class SuperUglyNumber { public int nthSuperUglyNumber(int n, int[] primes) { diff --git a/leetcode/solution/src/SurroundedRegions.java b/leetcode/solution/src/SurroundedRegions.java index 84eaeae..c93252d 100644 --- a/leetcode/solution/src/SurroundedRegions.java +++ b/leetcode/solution/src/SurroundedRegions.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/12/11. - */ - public class SurroundedRegions { /** diff --git a/leetcode/solution/src/SwapNodesInPairs.java b/leetcode/solution/src/SwapNodesInPairs.java index 7c6628f..ca514f8 100644 --- a/leetcode/solution/src/SwapNodesInPairs.java +++ b/leetcode/solution/src/SwapNodesInPairs.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/5/6. - */ - public class SwapNodesInPairs { public ListNode swapPairs(ListNode head) { diff --git a/leetcode/solution/src/SymmetricTree.java b/leetcode/solution/src/SymmetricTree.java index 4bd1912..9384b3a 100644 --- a/leetcode/solution/src/SymmetricTree.java +++ b/leetcode/solution/src/SymmetricTree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/29. - */ - public class SymmetricTree { public boolean isSymmetric(TreeNode root) { diff --git a/leetcode/solution/src/TextJustification.java b/leetcode/solution/src/TextJustification.java index 13170d5..a8a7bfe 100644 --- a/leetcode/solution/src/TextJustification.java +++ b/leetcode/solution/src/TextJustification.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/12/17. - */ - /** * 这题应该多做几遍,没什么技巧,就是考码代码能力 * 类似题目为https://leetcode.com/problems/sentence-screen-fitting/ diff --git a/leetcode/solution/src/TheSkylineProblem.java b/leetcode/solution/src/TheSkylineProblem.java index c523cf2..010f722 100644 --- a/leetcode/solution/src/TheSkylineProblem.java +++ b/leetcode/solution/src/TheSkylineProblem.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 16/12/17. - */ - /** * 这题的核心就是求外轮廓,就是所有building覆盖到的区域的最高处构成的轮廓,所以我们关注的核心是当前有效区域的最高处,所以我们要维护 * 一个大端队列,当在当前轮廓上碰到更高的矩形时,会生成一个新转折点,当当前轮廓所在的矩形结束时,轮廓高度会坠落到第二级台阶上。 diff --git a/leetcode/solution/src/ThirdMaximumNumber.java b/leetcode/solution/src/ThirdMaximumNumber.java index a9c8d6b..0a84cba 100644 --- a/leetcode/solution/src/ThirdMaximumNumber.java +++ b/leetcode/solution/src/ThirdMaximumNumber.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 17/8/12. - */ - /** * 这题注意边界情况 */ diff --git a/leetcode/solution/src/ThreeSum.java b/leetcode/solution/src/ThreeSum.java index b8a2588..64f9fc8 100644 --- a/leetcode/solution/src/ThreeSum.java +++ b/leetcode/solution/src/ThreeSum.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/11/20. - */ - /** * TestCase * [-4,-2,1,-5,-4,-4,4,-2,0,4,0,-2,3,1,-5,0] diff --git a/leetcode/solution/src/ThreeSumClosest.java b/leetcode/solution/src/ThreeSumClosest.java index ec6822d..625dc86 100644 --- a/leetcode/solution/src/ThreeSumClosest.java +++ b/leetcode/solution/src/ThreeSumClosest.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 17/5/5. - */ - public class ThreeSumClosest { public int threeSumClosest(int[] nums, int target) { diff --git a/leetcode/solution/src/ThreeSumSmaller.java b/leetcode/solution/src/ThreeSumSmaller.java index 3ed61b6..38eb926 100644 --- a/leetcode/solution/src/ThreeSumSmaller.java +++ b/leetcode/solution/src/ThreeSumSmaller.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 16/12/13. - */ - /** * https://leetcode.com/articles/3sum-smaller/ */ diff --git a/leetcode/solution/src/TopKFrequentElements.java b/leetcode/solution/src/TopKFrequentElements.java index 868cd7a..eba3055 100644 --- a/leetcode/solution/src/TopKFrequentElements.java +++ b/leetcode/solution/src/TopKFrequentElements.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 16/12/10. - */ - public class TopKFrequentElements { /** diff --git a/leetcode/solution/src/TotalHammingDistance.java b/leetcode/solution/src/TotalHammingDistance.java index 2a20729..390fa78 100644 --- a/leetcode/solution/src/TotalHammingDistance.java +++ b/leetcode/solution/src/TotalHammingDistance.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 17/1/7. - */ - public class TotalHammingDistance { /** * 思路是依次遍历每个数字的第i位,统计出为1的有m个,为0的有n个,则在这一位上 diff --git a/leetcode/solution/src/TrappingRainWater.java b/leetcode/solution/src/TrappingRainWater.java index 4311363..004aae2 100644 --- a/leetcode/solution/src/TrappingRainWater.java +++ b/leetcode/solution/src/TrappingRainWater.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * 核心思路就是对于每根柱子,找到其左边最高的柱子和右边最高的柱子,构成一个桶,形成一个水平面,然后对该柱子形成的高度差就是能装的水 */ diff --git a/leetcode/solution/src/TrappingRainWaterII.java b/leetcode/solution/src/TrappingRainWaterII.java index 8f89583..42eee53 100644 --- a/leetcode/solution/src/TrappingRainWaterII.java +++ b/leetcode/solution/src/TrappingRainWaterII.java @@ -2,10 +2,6 @@ import java.util.PriorityQueue; import java.util.Queue; -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * 思路是从外围开始,选择最短的柱子,以该柱子为标准,计算其四周的柱子所能容纳的水,并且更新四周柱子的高度,并加到小堆中。 * 为什么这样呢?一个柱子所能蓄的水和该柱子相邻的四根柱子有关,所以我们从边界开始,不断向中间靠拢,每次都取队列中最短的那根柱子计算 diff --git a/leetcode/solution/src/Trie.java b/leetcode/solution/src/Trie.java index 0d5edaa..6461993 100644 --- a/leetcode/solution/src/Trie.java +++ b/leetcode/solution/src/Trie.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/23. - */ - /** * https://leetcode.com/articles/implement-trie-prefix-tree/ */ diff --git a/leetcode/solution/src/TwoSum.java b/leetcode/solution/src/TwoSum.java index 8bf99c3..31e7692 100644 --- a/leetcode/solution/src/TwoSum.java +++ b/leetcode/solution/src/TwoSum.java @@ -1,9 +1,5 @@ import java.util.HashMap; -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * https://leetcode.com/articles/two-sum/ */ diff --git a/leetcode/solution/src/TwoSumII.java b/leetcode/solution/src/TwoSumII.java index 519f014..a950ae5 100644 --- a/leetcode/solution/src/TwoSumII.java +++ b/leetcode/solution/src/TwoSumII.java @@ -1,5 +1,4 @@ /** - * Created by dingjikerbo on 2016/11/17. * https://leetcode.com/articles/two-sum-ii-input-array-sorted/ */ diff --git a/leetcode/solution/src/TwoSumIII.java b/leetcode/solution/src/TwoSumIII.java index a3c700e..eda30b5 100644 --- a/leetcode/solution/src/TwoSumIII.java +++ b/leetcode/solution/src/TwoSumIII.java @@ -1,9 +1,5 @@ import java.util.HashMap; -/** - * Created by dingjikerbo on 2016/12/15. - */ - /** * 支持相同数存在 */ diff --git a/leetcode/solution/src/TwoSumIV.java b/leetcode/solution/src/TwoSumIV.java index 8fcc5f8..b54ffce 100644 --- a/leetcode/solution/src/TwoSumIV.java +++ b/leetcode/solution/src/TwoSumIV.java @@ -1,10 +1,6 @@ import java.util.ArrayList; import java.util.List; -/** - * Created by liwentian on 2017/9/10. - */ - /** * https://leetcode.com/articles/two-sum-iv/ */ diff --git a/leetcode/solution/src/UTFValidation.java b/leetcode/solution/src/UTFValidation.java index 96cb5b6..f15c404 100644 --- a/leetcode/solution/src/UTFValidation.java +++ b/leetcode/solution/src/UTFValidation.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/8/31. - */ - public class UTFValidation { public boolean validUtf8(int[] data) { diff --git a/leetcode/solution/src/UglyNumber.java b/leetcode/solution/src/UglyNumber.java index a0f31e8..5d8b070 100644 --- a/leetcode/solution/src/UglyNumber.java +++ b/leetcode/solution/src/UglyNumber.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ - public class UglyNumber { public boolean isUgly(int num) { diff --git a/leetcode/solution/src/UglyNumberII.java b/leetcode/solution/src/UglyNumberII.java index 9fe33a9..82ed5e1 100644 --- a/leetcode/solution/src/UglyNumberII.java +++ b/leetcode/solution/src/UglyNumberII.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ - public class UglyNumberII { public int nthUglyNumber(int n) { diff --git a/leetcode/solution/src/UniqueBinarySearchTrees.java b/leetcode/solution/src/UniqueBinarySearchTrees.java index ba20c43..69232b8 100644 --- a/leetcode/solution/src/UniqueBinarySearchTrees.java +++ b/leetcode/solution/src/UniqueBinarySearchTrees.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/28. - */ - /** * 动态规划,依次建立1,2,3,...颗节点能有多少种树构造的dp */ diff --git a/leetcode/solution/src/UniqueBinarySearchTreesII.java b/leetcode/solution/src/UniqueBinarySearchTreesII.java index 3f843d6..55635b7 100644 --- a/leetcode/solution/src/UniqueBinarySearchTreesII.java +++ b/leetcode/solution/src/UniqueBinarySearchTreesII.java @@ -2,10 +2,6 @@ import java.util.LinkedList; import java.util.List; -/** - * Created by dingjikerbo on 16/12/1. - */ - /** * Dp的解法可以参考https://discuss.leetcode.com/topic/2940/java-solution-with-dp */ diff --git a/leetcode/solution/src/ValidAnagram.java b/leetcode/solution/src/ValidAnagram.java index 3dfd355..1ef239f 100644 --- a/leetcode/solution/src/ValidAnagram.java +++ b/leetcode/solution/src/ValidAnagram.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 2016/11/17. - */ - /** * https://leetcode.com/articles/valid-anagram/ */ diff --git a/leetcode/solution/src/ValidPalindrome.java b/leetcode/solution/src/ValidPalindrome.java index 98b0a87..6d7d12d 100644 --- a/leetcode/solution/src/ValidPalindrome.java +++ b/leetcode/solution/src/ValidPalindrome.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/22. - */ - public class ValidPalindrome { /** diff --git a/leetcode/solution/src/ValidParentheses.java b/leetcode/solution/src/ValidParentheses.java index 2ed8671..d8d0f1a 100644 --- a/leetcode/solution/src/ValidParentheses.java +++ b/leetcode/solution/src/ValidParentheses.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/16. - */ - /** * 要注意栈判空 */ diff --git a/leetcode/solution/src/ValidPerfectSquare.java b/leetcode/solution/src/ValidPerfectSquare.java index 616ef53..4da4dbc 100644 --- a/leetcode/solution/src/ValidPerfectSquare.java +++ b/leetcode/solution/src/ValidPerfectSquare.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/22. - */ - public class ValidPerfectSquare { public boolean isPerfectSquare(int num) { diff --git a/leetcode/solution/src/ValidSudoku.java b/leetcode/solution/src/ValidSudoku.java index 67871c6..1a6e188 100644 --- a/leetcode/solution/src/ValidSudoku.java +++ b/leetcode/solution/src/ValidSudoku.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 17/5/9. - */ - public class ValidSudoku { public boolean isValidSudoku(char[][] board) { diff --git a/leetcode/solution/src/ValidWordAbbr.java b/leetcode/solution/src/ValidWordAbbr.java index c9937fa..b1819d0 100644 --- a/leetcode/solution/src/ValidWordAbbr.java +++ b/leetcode/solution/src/ValidWordAbbr.java @@ -2,10 +2,6 @@ import java.util.HashSet; import java.util.Set; -/** - * Created by dingjikerbo on 16/12/4. - */ - /** * 参考https://leetcode.com/articles/unique-word-abbreviation/ */ diff --git a/leetcode/solution/src/ValidWordAbbreviation.java b/leetcode/solution/src/ValidWordAbbreviation.java index 09f2ed4..4b064d9 100644 --- a/leetcode/solution/src/ValidWordAbbreviation.java +++ b/leetcode/solution/src/ValidWordAbbreviation.java @@ -1,7 +1,3 @@ -/** - * Created by liwentian on 2017/9/6. - */ - public class ValidWordAbbreviation { public boolean validWordAbbreviation(String word, String abbr) { diff --git a/leetcode/solution/src/ValidWordSquare.java b/leetcode/solution/src/ValidWordSquare.java index 9086769..60de6c8 100644 --- a/leetcode/solution/src/ValidWordSquare.java +++ b/leetcode/solution/src/ValidWordSquare.java @@ -1,9 +1,5 @@ import java.util.List; -/** - * Created by dingjikerbo on 17/1/2. - */ - /** * 这题还挺容易错 */ diff --git a/leetcode/solution/src/ValidateBinarySearchTree.java b/leetcode/solution/src/ValidateBinarySearchTree.java index bc23863..1c8c077 100644 --- a/leetcode/solution/src/ValidateBinarySearchTree.java +++ b/leetcode/solution/src/ValidateBinarySearchTree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/17. - */ - public class ValidateBinarySearchTree { // 耗时1ms diff --git a/leetcode/solution/src/Vector2D.java b/leetcode/solution/src/Vector2D.java index 54a6e0b..8c418fe 100644 --- a/leetcode/solution/src/Vector2D.java +++ b/leetcode/solution/src/Vector2D.java @@ -1,10 +1,6 @@ import java.util.Iterator; import java.util.List; -/** - * Created by dingjikerbo on 2016/12/15. - */ - public class Vector2D implements Iterator { private Iterator> mIterator; diff --git a/leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java b/leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java index 8f668b7..bcd4fed 100644 --- a/leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java +++ b/leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/12/2. - */ - public class VerifyPreorderSequenceInBinarySearchTree { public boolean verifyPreorder(int[] preorder) { diff --git a/leetcode/solution/src/WallsAndGates.java b/leetcode/solution/src/WallsAndGates.java index c82c628..ca0fe5d 100644 --- a/leetcode/solution/src/WallsAndGates.java +++ b/leetcode/solution/src/WallsAndGates.java @@ -1,10 +1,6 @@ import java.util.LinkedList; import java.util.Queue; -/** - * Created by dingjikerbo on 16/11/25. - */ - /** * https://leetcode.com/articles/walls-and-gates/ */ diff --git a/leetcode/solution/src/WiggleSort.java b/leetcode/solution/src/WiggleSort.java index 77c5258..84b21d2 100644 --- a/leetcode/solution/src/WiggleSort.java +++ b/leetcode/solution/src/WiggleSort.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/12/10. - */ - /** * https://leetcode.com/articles/wiggle-sort/ */ diff --git a/leetcode/solution/src/WiggleSortII.java b/leetcode/solution/src/WiggleSortII.java index c81a9c9..37eb4da 100644 --- a/leetcode/solution/src/WiggleSortII.java +++ b/leetcode/solution/src/WiggleSortII.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 16/12/10. - */ - /** * TestCase * [1,2,2,1,2,1,1,1,1,2,2,2] diff --git a/leetcode/solution/src/WildcardMatching.java b/leetcode/solution/src/WildcardMatching.java index 8165b57..3895bd5 100644 --- a/leetcode/solution/src/WildcardMatching.java +++ b/leetcode/solution/src/WildcardMatching.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/20. - */ - public class WildcardMatching { // 这道题关键是遇到"*"的处理以及后面匹配失败时的回溯 diff --git a/leetcode/solution/src/WordBreak.java b/leetcode/solution/src/WordBreak.java index 8553c1a..2ab4b26 100644 --- a/leetcode/solution/src/WordBreak.java +++ b/leetcode/solution/src/WordBreak.java @@ -1,9 +1,5 @@ import java.util.List; -/** - * Created by dingjikerbo on 2016/11/17. - */ - /** * https://leetcode.com/articles/word-break/ */ diff --git a/leetcode/solution/src/WordBreakII.java b/leetcode/solution/src/WordBreakII.java index 60cebef..d3e77f5 100644 --- a/leetcode/solution/src/WordBreakII.java +++ b/leetcode/solution/src/WordBreakII.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 2016/11/17. - */ - /** * 这题是个典型的DFS,不过为了加速用了缓存避免重复计算 * https://leetcode.com/articles/word-break-ii/ diff --git a/leetcode/solution/src/WordDictionary.java b/leetcode/solution/src/WordDictionary.java index 5ac1d56..8e3485a 100644 --- a/leetcode/solution/src/WordDictionary.java +++ b/leetcode/solution/src/WordDictionary.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 2016/11/22. - */ - public class WordDictionary { private class Trie { diff --git a/leetcode/solution/src/WordLadder.java b/leetcode/solution/src/WordLadder.java index a79dec1..5a44954 100644 --- a/leetcode/solution/src/WordLadder.java +++ b/leetcode/solution/src/WordLadder.java @@ -3,10 +3,6 @@ import java.util.Queue; import java.util.Set; -/** - * Created by dingjikerbo on 2016/11/17. - */ - /** * TestCases "a", "c", ["a", "b", "c"] diff --git a/leetcode/solution/src/WordLadderII.java b/leetcode/solution/src/WordLadderII.java index 57254ed..e9c9c5a 100644 --- a/leetcode/solution/src/WordLadderII.java +++ b/leetcode/solution/src/WordLadderII.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 2016/11/17. - */ - /** * TestCases * "a", "c", ["a", "b", "c"] diff --git a/leetcode/solution/src/WordSearch.java b/leetcode/solution/src/WordSearch.java index 82f84cd..2d751ae 100644 --- a/leetcode/solution/src/WordSearch.java +++ b/leetcode/solution/src/WordSearch.java @@ -1,7 +1,3 @@ -/** - * Created by dingjikerbo on 16/11/22. - */ - public class WordSearch { // 耗时9ms diff --git a/leetcode/solution/src/WordSearchII.java b/leetcode/solution/src/WordSearchII.java index 3e58fd2..42a8d70 100644 --- a/leetcode/solution/src/WordSearchII.java +++ b/leetcode/solution/src/WordSearchII.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Set; -/** - * Created by dingjikerbo on 16/11/22. - */ - public class WordSearchII { private class Trie { diff --git a/leetcode/solution/src/WordSquares.java b/leetcode/solution/src/WordSquares.java index f3d6e70..0d428b8 100644 --- a/leetcode/solution/src/WordSquares.java +++ b/leetcode/solution/src/WordSquares.java @@ -1,9 +1,5 @@ import java.util.*; -/** - * Created by dingjikerbo on 17/1/2. - */ - /** * https://discuss.leetcode.com/topic/63516/explained-my-java-solution-using-trie-126ms-16-16 * 第一步建立所有前缀对应的字符串集合 diff --git a/leetcode/solution/src/ZigZagConversion.java b/leetcode/solution/src/ZigZagConversion.java index b65944d..8c13ae8 100644 --- a/leetcode/solution/src/ZigZagConversion.java +++ b/leetcode/solution/src/ZigZagConversion.java @@ -1,9 +1,5 @@ import java.util.Arrays; -/** - * Created by dingjikerbo on 17/4/29. - */ - /** * 这道题一定要注意numRows为1的情况 */ diff --git a/leetcode/solution/src/ZigzagIterator.java b/leetcode/solution/src/ZigzagIterator.java index 0f2e342..f5224f1 100644 --- a/leetcode/solution/src/ZigzagIterator.java +++ b/leetcode/solution/src/ZigzagIterator.java @@ -2,10 +2,6 @@ import java.util.Iterator; import java.util.List; -/** - * Created by dingjikerbo on 16/12/10. - */ - /** * 可以轻易拓展到k的情况 */ diff --git a/leetcode/solution/src/system/DesignTinyURL.java b/leetcode/solution/src/system/DesignTinyURL.java index df9b3fe..f6cc465 100644 --- a/leetcode/solution/src/system/DesignTinyURL.java +++ b/leetcode/solution/src/system/DesignTinyURL.java @@ -1,9 +1,5 @@ package system; -/** - * Created by liwentian on 2017/10/17. - */ - public class DesignTinyURL { /** diff --git a/leetcode/solution/src/system/Info.java b/leetcode/solution/src/system/Info.java index e7e9253..63d659a 100644 --- a/leetcode/solution/src/system/Info.java +++ b/leetcode/solution/src/system/Info.java @@ -1,9 +1,5 @@ package system; -/** - * Created by liwentian on 2017/10/17. - */ - public class Info { /** * 可参考https://www.gitbook.com/@soulmachine From 10fd019b54aaad9f1172688966cef1bf7323b12a Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 6 Sep 2018 07:03:50 +0800 Subject: [PATCH 06/96] fd --- leetcode/solution/src/SymmetricTree.java | 72 ++++++++++++++++++++++++ leetcode/src/Main.java | 50 +++++++++++----- 2 files changed, 109 insertions(+), 13 deletions(-) diff --git a/leetcode/solution/src/SymmetricTree.java b/leetcode/solution/src/SymmetricTree.java index 9384b3a..6b8205a 100644 --- a/leetcode/solution/src/SymmetricTree.java +++ b/leetcode/solution/src/SymmetricTree.java @@ -1,3 +1,7 @@ +import java.util.LinkedList; +import java.util.Queue; +import java.util.Stack; + public class SymmetricTree { public boolean isSymmetric(TreeNode root) { @@ -16,4 +20,72 @@ private boolean isSymmetric(TreeNode left, TreeNode right) { } return left.val == right.val && isSymmetric(left.left, right.right) && isSymmetric(left.right, right.left); } + + public boolean isSymmetric2(TreeNode root) { + if (root == null) { + return true; + } + Queue queue1 = new LinkedList<>(); + Queue queue2 = new LinkedList<>(); + queue1.offer(root.left); + queue2.offer(root.right); + while (!queue1.isEmpty() && !queue2.isEmpty()) { + TreeNode left = queue1.poll(); + TreeNode right = queue2.poll(); + if (left == null && right == null) { + continue; + } + if (left == null || right == null) { + return false; + } + if (left.val != right.val) { + return false; + } + queue1.offer(left.left); + queue1.offer(left.right); + queue2.offer(right.right); + queue2.offer(right.left); + } + return queue1.isEmpty() && queue2.isEmpty(); + } + + /** + * 非递归写法 + */ + public boolean isSymmetric2(TreeNode left, TreeNode right) { + if (left == null && right == null) { + return true; + } + if (left == null || right == null) { + return false; + } + + Stack stack1 = new Stack(); + Stack stack2 = new Stack(); + + while (!stack1.isEmpty() || left != null) { + if (left != null) { + if (right == null) { + return false; + } + if (left.val != right.val) { + return false; + } + stack1.push(left); + stack2.push(right); + left = left.left; + right = right.right; + } else { + if (right != null) { + return false; + } + if (stack2.isEmpty()) { + return false; + } + left = stack1.pop().right; + right = stack2.pop().left; + } + } + return stack2.isEmpty() && right == null; + } } diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index ef7168f..cefbb01 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,24 +4,48 @@ public class Main { - public TreeNode trimBST(TreeNode root, int L, int R) { - if (root == null) { - return root; + public boolean isSymmetric(TreeNode left, TreeNode right) { + if (left == null && right == null) { + return true; } - - if (root.val > R) { - root.right = null; - return trimBST(root.left, L, R); + if (left == null || right == null) { + return false; } - if (root.val < L) { - root.left = null; - return trimBST(root.right, L, R); + Stack stack1 = new Stack(); + Stack stack2 = new Stack(); + + while (!stack1.isEmpty() || left != null) { + if (left != null) { + if (right == null) { + return false; + } + if (left.val != right.val) { + return false; + } + stack1.push(left); + stack2.push(right); + left = left.left; + right = right.right; + } else { + if (right != null) { + return false; + } + if (stack2.isEmpty()) { + return false; + } + left = stack1.pop().right; + right = stack2.pop().left; + } } + return stack2.isEmpty() && right == null; + } - root.left = trimBST(root.left, L, R); - root.right = trimBST(root.right, L, R); - return root; + public boolean isSymmetric(TreeNode root) { + if (root == null) { + return true; + } + return isSymmetric(root.left, root.right); } public static void main(String[] args) { From d75dbdad98b064e67db1e34a95ca080d77eb4d26 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 6 Sep 2018 07:06:18 +0800 Subject: [PATCH 07/96] fd --- leetcode/solution/src/SymmetricTree.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/leetcode/solution/src/SymmetricTree.java b/leetcode/solution/src/SymmetricTree.java index 6b8205a..96e3684 100644 --- a/leetcode/solution/src/SymmetricTree.java +++ b/leetcode/solution/src/SymmetricTree.java @@ -49,6 +49,30 @@ public boolean isSymmetric2(TreeNode root) { return queue1.isEmpty() && queue2.isEmpty(); } + public boolean isSymmetri3(TreeNode root) { + Queue queue = new LinkedList<>(); + queue.offer(root); + queue.offer(root); + while (!queue.isEmpty()) { + TreeNode left = queue.poll(); + TreeNode right = queue.poll(); + if (left == null && right == null) { + continue; + } + if (left == null || right == null) { + return false; + } + if (left.val != right.val) { + return false; + } + queue.offer(left.left); + queue.offer(right.right); + queue.offer(left.right); + queue.offer(right.left); + } + return true; + } + /** * 非递归写法 */ From 2988771b8e1d84da05642fd081fcc78f093ccde2 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 6 Sep 2018 07:06:54 +0800 Subject: [PATCH 08/96] fd --- leetcode/solution/src/SymmetricTree.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/leetcode/solution/src/SymmetricTree.java b/leetcode/solution/src/SymmetricTree.java index 96e3684..13628a7 100644 --- a/leetcode/solution/src/SymmetricTree.java +++ b/leetcode/solution/src/SymmetricTree.java @@ -49,6 +49,9 @@ public boolean isSymmetric2(TreeNode root) { return queue1.isEmpty() && queue2.isEmpty(); } + /** + * 基于isSymmetric2,不过只要一个queue就够了 + */ public boolean isSymmetri3(TreeNode root) { Queue queue = new LinkedList<>(); queue.offer(root); From f4e7012fdfea09c2c8300584c71c63bb8091ca9b Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 6 Sep 2018 07:37:42 +0800 Subject: [PATCH 09/96] fd --- leetcode/src/Main.java | 49 ++++++++---------------------------------- 1 file changed, 9 insertions(+), 40 deletions(-) diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index cefbb01..44c167a 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,48 +4,17 @@ public class Main { - public boolean isSymmetric(TreeNode left, TreeNode right) { - if (left == null && right == null) { - return true; - } - if (left == null || right == null) { - return false; - } - - Stack stack1 = new Stack(); - Stack stack2 = new Stack(); - - while (!stack1.isEmpty() || left != null) { - if (left != null) { - if (right == null) { - return false; - } - if (left.val != right.val) { - return false; - } - stack1.push(left); - stack2.push(right); - left = left.left; - right = right.right; - } else { - if (right != null) { - return false; - } - if (stack2.isEmpty()) { - return false; - } - left = stack1.pop().right; - right = stack2.pop().left; - } - } - return stack2.isEmpty() && right == null; - } - - public boolean isSymmetric(TreeNode root) { + public int countNodes(TreeNode root) { if (root == null) { - return true; + return 0; + } + int left = 0, right = 0; + for (TreeNode node = root; node != null; node = node.left, left++); + for (TreeNode node = root; node != null; node = node.right, right++); + if (left == right) { + return (1 << left) - 1; } - return isSymmetric(root.left, root.right); + return countNodes(root.left) + countNodes(root.right) + 1; } public static void main(String[] args) { From 4e44dc0d795e973e6eeac2a5ae73f54f886babce Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 6 Sep 2018 08:45:26 +0800 Subject: [PATCH 10/96] fd --- leetcode/solution/src/CountCompleteTreeNodes.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/leetcode/solution/src/CountCompleteTreeNodes.java b/leetcode/solution/src/CountCompleteTreeNodes.java index d1189b3..0dfa900 100644 --- a/leetcode/solution/src/CountCompleteTreeNodes.java +++ b/leetcode/solution/src/CountCompleteTreeNodes.java @@ -26,7 +26,7 @@ public int countNodes(TreeNode root) { return count; }*/ - // 119ms,最差复杂度是O(n),最好是O(lgn) + // 119ms,最差复杂度是O((lgn)^2),最好是O(lgn) public int countNodes(TreeNode root) { int left = 0, right = 0; for (TreeNode node = root; node != null; node = node.left, left++); From be532bbca419d88b9d92816b529dfd111e295f10 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 6 Sep 2018 08:54:16 +0800 Subject: [PATCH 11/96] fd --- README.md | 1 + leetcode/solution/src/MaximumBinaryTree.java | 22 +++++++++++++++++ leetcode/src/Main.java | 25 +++++++++++++------- 3 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 leetcode/solution/src/MaximumBinaryTree.java diff --git a/README.md b/README.md index 21b5f3d..acf102e 100644 --- a/README.md +++ b/README.md @@ -377,5 +377,6 @@ |637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](leetcode/solution/src/AverageOfLevelsInBinaryTree.java)|100|| |652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](leetcode/solution/src/FindDuplicateSubtrees.java)|70|开始还没思路| |653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](leetcode/solution/src/TwoSumIV.java)|90|| +|654|[Maximum Binary Tree](https://leetcode.com/problems/maximum-binary-tree/description/)|[Java](leetcode/solution/src/MaximumBinaryTree.java)|100|| |669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|[Java](leetcode/solution/src/TrimABinarySearchTree.java)|100|| |684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)||| \ No newline at end of file diff --git a/leetcode/solution/src/MaximumBinaryTree.java b/leetcode/solution/src/MaximumBinaryTree.java new file mode 100644 index 0000000..88d8cb0 --- /dev/null +++ b/leetcode/solution/src/MaximumBinaryTree.java @@ -0,0 +1,22 @@ +public class MaximumBinaryTree { + + public TreeNode constructMaximumBinaryTree(int[] nums, int start, int end) { + if (start > end) { + return null; + } + int max = start; + for (int i = start + 1; i <= end; i++) { + if (nums[i] > nums[max]) { + max = i; + } + } + TreeNode root = new TreeNode(nums[max]); + root.left = constructMaximumBinaryTree(nums, start, max - 1); + root.right = constructMaximumBinaryTree(nums, max + 1, end); + return root; + } + + public TreeNode constructMaximumBinaryTree(int[] nums) { + return constructMaximumBinaryTree(nums, 0, nums.length - 1); + } +} diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index 44c167a..ad97054 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,17 +4,24 @@ public class Main { - public int countNodes(TreeNode root) { - if (root == null) { - return 0; + public TreeNode constructMaximumBinaryTree(int[] nums, int start, int end) { + if (start > end) { + return null; } - int left = 0, right = 0; - for (TreeNode node = root; node != null; node = node.left, left++); - for (TreeNode node = root; node != null; node = node.right, right++); - if (left == right) { - return (1 << left) - 1; + int max = start; + for (int i = start + 1; i <= end; i++) { + if (nums[i] > nums[max]) { + max = i; + } } - return countNodes(root.left) + countNodes(root.right) + 1; + TreeNode root = new TreeNode(nums[max]); + root.left = constructMaximumBinaryTree(nums, start, max - 1); + root.right = constructMaximumBinaryTree(nums, max + 1, end); + return root; + } + + public TreeNode constructMaximumBinaryTree(int[] nums) { + return constructMaximumBinaryTree(nums, 0, nums.length - 1); } public static void main(String[] args) { From 3be9ffbd633e9acb791090c0a223a6da561cc4b3 Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Thu, 6 Sep 2018 09:06:25 +0800 Subject: [PATCH 12/96] fd --- README.md | 4 ++-- leetcode/solution/src/MaximumBinaryTree.java | 3 +++ leetcode/src/Main.java | 25 +++++++------------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index acf102e..178f213 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,8 @@

## **三、所有题目列表** -|#|Title|Solution|Score|Backup| -|---|----| ----- |----|---------| +|#| Title |Solution|Score|Backup| +|---|-------------| ----- |----|---------| |1|[Two Sum](https://leetcode.com/problems/two-sum/)|[Java](leetcode/solution/src/TwoSum.java)|100| |2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [Java](leetcode/solution/src/AddTwoNumber.java)|80| |3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [Java](leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java)||这个系列的所有题都要多做几遍| diff --git a/leetcode/solution/src/MaximumBinaryTree.java b/leetcode/solution/src/MaximumBinaryTree.java index 88d8cb0..767ca33 100644 --- a/leetcode/solution/src/MaximumBinaryTree.java +++ b/leetcode/solution/src/MaximumBinaryTree.java @@ -1,5 +1,8 @@ public class MaximumBinaryTree { + /** + * 复杂度平均O(nlgn),最差O(n^2) + */ public TreeNode constructMaximumBinaryTree(int[] nums, int start, int end) { if (start > end) { return null; diff --git a/leetcode/src/Main.java b/leetcode/src/Main.java index ad97054..dc5b148 100644 --- a/leetcode/src/Main.java +++ b/leetcode/src/Main.java @@ -4,24 +4,17 @@ public class Main { - public TreeNode constructMaximumBinaryTree(int[] nums, int start, int end) { - if (start > end) { - return null; + public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { + if (root == null || root == p || root == q) { + return root; } - int max = start; - for (int i = start + 1; i <= end; i++) { - if (nums[i] > nums[max]) { - max = i; - } + TreeNode left = lowestCommonAncestor(root.left, p, q); + TreeNode right = lowestCommonAncestor(root.right, p, q); + if (left != null) { + return right != null ? root : root.left; + } else { + return root.right; } - TreeNode root = new TreeNode(nums[max]); - root.left = constructMaximumBinaryTree(nums, start, max - 1); - root.right = constructMaximumBinaryTree(nums, max + 1, end); - return root; - } - - public TreeNode constructMaximumBinaryTree(int[] nums) { - return constructMaximumBinaryTree(nums, 0, nums.length - 1); } public static void main(String[] args) { From 02457a005599a6bd6eab7791cac84c6c549ec91b Mon Sep 17 00:00:00 2001 From: dingjikerbo Date: Fri, 7 Sep 2018 08:28:04 +0800 Subject: [PATCH 13/96] fd --- .../out/production/common/CommonUtils.class | Bin 0 -> 592 bytes leetcode/out/production/common/Interval.class | Bin 0 -> 444 bytes leetcode/out/production/common/ListNode.class | Bin 0 -> 597 bytes .../out/production/common/NestedInteger.class | Bin 0 -> 275 bytes leetcode/out/production/common/Point.class | Bin 0 -> 429 bytes .../production/common/RandomListNode.class | Bin 0 -> 363 bytes .../out/production/common/TreeLinkNode.class | Bin 0 -> 369 bytes leetcode/out/production/common/TreeNode.class | Bin 0 -> 964 bytes leetcode/out/production/common/TrieNode.class | Bin 0 -> 342 bytes .../common/UndirectedGraphNode.class | Bin 0 -> 502 bytes leetcode/out/production/leetcode/Main.class | Bin 517 -> 1552 bytes .../out/production/solution/AddBinary.class | Bin 0 -> 989 bytes .../production/solution/AddTwoNumber.class | Bin 0 -> 837 bytes .../production/solution/AddTwoNumbersII.class | Bin 0 -> 1261 bytes .../production/solution/AlienDictionary.class | Bin 0 -> 2925 bytes .../solution/AndroidUnlockPatterns.class | Bin 0 -> 1094 bytes .../AverageOfLevelsInBinaryTree.class | Bin 0 -> 1515 bytes .../out/production/solution/BSTIterator.class | Bin 0 -> 1023 bytes .../solution/BalancedBinaryTree.class | Bin 0 -> 840 bytes .../production/solution/BasicCalculator.class | Bin 0 -> 1333 bytes .../solution/BeautifulArrangement.class | Bin 0 -> 738 bytes .../solution/BestTimeBuySellStock.class | Bin 0 -> 676 bytes .../solution/BestTimeBuySellStockII.class | Bin 0 -> 522 bytes .../solution/BestTimeBuySellStockIII.class | Bin 0 -> 882 bytes .../solution/BestTimeBuySellStockIV.class | Bin 0 -> 901 bytes .../BestTimeBuySellStockWithCoolDown.class | Bin 0 -> 755 bytes .../solution/BinaryTreeInorderTraversal.class | Bin 0 -> 1642 bytes .../BinaryTreeLevelOrderTraversal.class | Bin 0 -> 1533 bytes .../BinaryTreeLevelOrderTraversalII.class | Bin 0 -> 1574 bytes ...BinaryTreeLongestConsecutiveSequence.class | Bin 0 -> 894 bytes .../solution/BinaryTreeMaximumPathSum.class | Bin 0 -> 1153 bytes .../production/solution/BinaryTreePaths.class | Bin 0 -> 1525 bytes .../BinaryTreePostorderTraversal.class | Bin 0 -> 1262 bytes .../BinaryTreePreorderTraversal.class | Bin 0 -> 1255 bytes .../solution/BinaryTreeRightSideView.class | Bin 0 -> 1362 bytes .../solution/BinaryTreeUpsideDown.class | Bin 0 -> 605 bytes .../BinaryTreeVerticalOrderTraversal.class | Bin 0 -> 2256 bytes .../BinaryTreeZigzagLevelOrderTraversal.class | Bin 0 -> 1613 bytes .../out/production/solution/BinaryWatch.class | Bin 0 -> 1425 bytes .../out/production/solution/BombEnemy.class | Bin 0 -> 1043 bytes .../production/solution/BulbSwitcher.class | Bin 0 -> 787 bytes .../production/solution/BurstBalloons.class | Bin 0 -> 1040 bytes .../production/solution/CanArrangeWords.class | Bin 0 -> 1245 bytes .../out/production/solution/CloneGraph.class | Bin 0 -> 2312 bytes .../ClosestBinarySearchTreeValue.class | Bin 0 -> 849 bytes .../ClosestBinarySearchTreeValueII.class | Bin 0 -> 4392 bytes leetcode/out/production/solution/Codec.class | Bin 0 -> 4081 bytes .../production/solution/CombinationSum.class | Bin 0 -> 2095 bytes .../solution/CombinationSumII.class | Bin 0 -> 1556 bytes .../solution/CombinationSumIII.class | Bin 0 -> 1435 bytes .../solution/CombinationSumIV.class | Bin 0 -> 691 bytes .../production/solution/Combinations.class | Bin 0 -> 1424 bytes ...TreeFromInorderAndPostorderTraversal.class | Bin 0 -> 1065 bytes ...naryTreeFromPreorderInorderTraversal.class | Bin 0 -> 1018 bytes .../solution/ContainerWithMostWater.class | Bin 0 -> 616 bytes .../solution/ContainsDuplicate.class | Bin 0 -> 856 bytes .../solution/ContainsDuplicateII.class | Bin 0 -> 1431 bytes .../solution/ContainsDuplicateIII.class | Bin 0 -> 2073 bytes ...ConvertSortedArrayToBinarySearchTree.class | Bin 0 -> 810 bytes .../ConvertSortedListToBinarySearchTree.class | Bin 0 -> 962 bytes .../solution/CopyListWithRandomPointer.class | Bin 0 -> 936 bytes .../out/production/solution/CountAndSay.class | Bin 0 -> 1398 bytes .../solution/CountCompleteTreeNodes.class | Bin 0 -> 661 bytes .../CountNumberWithUniqueDigits.class | Bin 0 -> 583 bytes .../CountOfSmallerNumbersAfterSelf$Node.class | Bin 0 -> 682 bytes .../CountOfSmallerNumbersAfterSelf.class | Bin 0 -> 1513 bytes .../out/production/solution/CountPrimes.class | Bin 0 -> 558 bytes .../solution/CountUnivalueSubtrees.class | Bin 0 -> 833 bytes .../production/solution/CourseSchedule.class | Bin 0 -> 1848 bytes .../solution/CourseScheduleII.class | Bin 0 -> 1656 bytes .../production/solution/DecodeString.class | Bin 0 -> 2241 bytes .../out/production/solution/DecodeWays.class | Bin 0 -> 1184 bytes .../solution/DeleteNodeInALinkedList.class | Bin 0 -> 491 bytes .../production/solution/DeleteNodeInBST.class | Bin 0 -> 733 bytes .../DifferenceWaysToAddParentheses.class | Bin 0 -> 1869 bytes .../solution/DivideTwoIntegers.class | Bin 0 -> 761 bytes .../production/solution/EditDistance.class | Bin 0 -> 1014 bytes .../solution/EncodeAndDecodeStrings.class | Bin 0 -> 1810 bytes .../solution/EncodeAndDecodeTinyURL.class | Bin 0 -> 1872 bytes .../solution/EvaluateDivision.class | Bin 0 -> 3766 bytes .../EvaluateReversePolishNotation.class | Bin 0 -> 1355 bytes .../solution/ExcelSheetColumnNumber.class | Bin 0 -> 1508 bytes .../solution/ExcelSheetColumnTitle.class | Bin 0 -> 671 bytes .../solution/ExpressionAddOperators.class | Bin 0 -> 1957 bytes .../solution/FactorCombinations.class | Bin 0 -> 1431 bytes .../solution/FactorialTrailingZeroes.class | Bin 0 -> 460 bytes .../solution/FindAllAnagramsInString.class | Bin 0 -> 2084 bytes .../solution/FindAllDuplicatesInAnArray.class | Bin 0 -> 976 bytes .../FindAllNumbersDisappearedInAnArray.class | Bin 0 -> 1049 bytes .../solution/FindBottomLeftTreeValue.class | Bin 0 -> 1195 bytes .../production/solution/FindCelebrity.class | Bin 0 -> 597 bytes .../solution/FindDuplicateSubtrees.class | Bin 0 -> 1892 bytes .../solution/FindKPairsWithSmallestSums.class | Bin 0 -> 1928 bytes .../FindLargestValueInEachTreeRow.class | Bin 0 -> 1519 bytes .../solution/FindLeavesOfBinaryTree.class | Bin 0 -> 1384 bytes .../solution/FindMedianFromDataStream.class | Bin 0 -> 1207 bytes .../FindMinimumInRotatedSortedArray.class | Bin 0 -> 603 bytes .../FindMinimumInRotatedSortedArrayII.class | Bin 0 -> 634 bytes .../solution/FindModeInBinarySearchTree.class | Bin 0 -> 1997 bytes .../production/solution/FindPeakElement.class | Bin 0 -> 535 bytes .../solution/FindRightInterval.class | Bin 0 -> 1468 bytes .../solution/FindTheDuplicateNumber.class | Bin 0 -> 642 bytes .../production/solution/FirstBadVersion.class | Bin 0 -> 777 bytes .../solution/FirstMissingPositive.class | Bin 0 -> 761 bytes .../FirstUniqueCharacterInAString.class | Bin 0 -> 790 bytes .../out/production/solution/FizzBuzz.class | Bin 0 -> 901 bytes .../FlattenBinaryTreeToLinkedList.class | Bin 0 -> 1601 bytes .../solution/FlattenNestedListIterator.class | Bin 0 -> 1605 bytes .../out/production/solution/FlipGame.class | Bin 0 -> 1218 bytes .../out/production/solution/FlipGameII.class | Bin 0 -> 925 bytes .../out/production/solution/FourSum.class | Bin 0 -> 1387 bytes .../out/production/solution/GameOfLife.class | Bin 0 -> 1130 bytes .../solution/GeneralizedAbbreviation.class | Bin 0 -> 1789 bytes .../solution/GenerateParentheses.class | Bin 0 -> 2216 bytes .../production/solution/GraphValidTree.class | Bin 0 -> 2976 bytes .../out/production/solution/GrayCode.class | Bin 0 -> 834 bytes .../production/solution/GroupAnagrams.class | Bin 0 -> 1542 bytes .../solution/GroupShiftedStrings.class | Bin 0 -> 2336 bytes .../solution/GuessNumberHigherOrLower.class | Bin 0 -> 618 bytes .../solution/GuessNumberHigherOrLowerII.class | Bin 0 -> 819 bytes leetcode/out/production/solution/HIndex.class | Bin 0 -> 915 bytes .../out/production/solution/HIndexII.class | Bin 0 -> 595 bytes .../production/solution/HammingDistance.class | Bin 0 -> 481 bytes .../out/production/solution/HouseRobber.class | Bin 0 -> 924 bytes .../production/solution/HouseRobberII.class | Bin 0 -> 778 bytes .../production/solution/HouseRobberIII.class | Bin 0 -> 729 bytes .../IncreasingTripletSubsequence.class | Bin 0 -> 624 bytes .../solution/InorderSuccessorInBST.class | Bin 0 -> 3055 bytes .../solution/InsertDeleteGetRandom.class | Bin 0 -> 1757 bytes .../solution/InsertDeleteGetRandomII.class | Bin 0 -> 2308 bytes .../production/solution/InsertInterval.class | Bin 0 -> 1243 bytes .../solution/InsertionSortList.class | Bin 0 -> 703 bytes .../solution/IntegerToEnglishWords.class | Bin 0 -> 1829 bytes .../production/solution/IntegerToRoman.class | Bin 0 -> 1241 bytes .../solution/IntersectionOfTwoArrays.class | Bin 0 -> 2465 bytes .../solution/IntersectionOfTwoArraysII.class | Bin 0 -> 1443 bytes .../IntersectionOfTwoLinkedLists.class | Bin 0 -> 899 bytes .../solution/InvertBinaryTree.class | Bin 0 -> 1117 bytes .../out/production/solution/JumpGame.class | Bin 0 -> 519 bytes .../out/production/solution/JumpGameII.class | Bin 0 -> 900 bytes .../solution/KthLargestElementInArray.class | Bin 0 -> 1991 bytes ...SmallestElementInASortedMatrix$Tuple.class | Bin 0 -> 1047 bytes .../KthSmallestElementInASortedMatrix.class | Bin 0 -> 1241 bytes .../solution/KthSmallestElementInBST.class | Bin 0 -> 1598 bytes .../production/solution/LFUCache$Node.class | Bin 0 -> 1019 bytes .../out/production/solution/LFUCache.class | Bin 0 -> 2314 bytes .../solution/LargestBSTSubtree$Result.class | Bin 0 -> 589 bytes .../solution/LargestBSTSubtree.class | Bin 0 -> 1169 bytes .../production/solution/LargestNumber$1.class | Bin 0 -> 1161 bytes .../production/solution/LargestNumber.class | Bin 0 -> 1213 bytes .../LargestRectangleInHistogram.class | Bin 0 -> 1984 bytes .../LetterCombinationOfPhoneNumber.class | Bin 0 -> 2612 bytes .../solution/LicenseKeyFormatting.class | Bin 0 -> 1073 bytes .../production/solution/LinkedListCycle.class | Bin 0 -> 544 bytes .../solution/LinkedListCycleII.class | Bin 0 -> 675 bytes .../solution/LinkedListRandomNode.class | Bin 0 -> 768 bytes .../solution/LoggerRateLimiter$1.class | Bin 0 -> 1232 bytes .../solution/LoggerRateLimiter.class | Bin 0 -> 1779 bytes .../solution/LongestAbsoluteFilePath.class | Bin 0 -> 1474 bytes .../solution/LongestCommonPrefix.class | Bin 0 -> 933 bytes .../solution/LongestConsecutiveSequence.class | Bin 0 -> 1234 bytes .../LongestIncreasingPathInAMatrix.class | Bin 0 -> 1278 bytes .../LongestIncreasingSubsequence.class | Bin 0 -> 1040 bytes .../solution/LongestPalindrome.class | Bin 0 -> 784 bytes .../LongestPalindromicSubstring.class | Bin 0 -> 1417 bytes ...tringWithAtLeastKRepeatingCharacters.class | Bin 0 -> 1045 bytes ...bstringWithAtMostKDistinctCharacters.class | Bin 0 -> 979 bytes ...tringWithAtMostTwoDistinctCharacters.class | Bin 0 -> 936 bytes ...tSubstringWithoutRepeatingCharacters.class | Bin 0 -> 856 bytes .../solution/LongestValidParentheses.class | Bin 0 -> 1213 bytes ...ngestWordInDictionaryThroughDeleting.class | Bin 0 -> 1387 bytes ...westCommonAncestorOfBinarySearchTree.class | Bin 0 -> 1289 bytes .../LowestCommonAncestorOfBinaryTree.class | Bin 0 -> 1990 bytes .../production/solution/MajorityElement.class | Bin 0 -> 556 bytes .../solution/MajorityElementII.class | Bin 0 -> 1275 bytes .../solution/MaxConsecutiveOnes.class | Bin 0 -> 664 bytes .../solution/MaxConsecutiveOnesII.class | Bin 0 -> 1341 bytes .../solution/MaxPointsOnALine.class | Bin 0 -> 1562 bytes .../solution/MaximalRectangle.class | Bin 0 -> 1563 bytes .../production/solution/MaximalSquare.class | Bin 0 -> 1097 bytes .../solution/MaximumBinaryTree.class | Bin 0 -> 832 bytes .../solution/MaximumDepthOfBinaryTree.class | Bin 0 -> 574 bytes .../out/production/solution/MaximumGap.class | Bin 0 -> 1191 bytes .../solution/MaximumProductSubarray.class | Bin 0 -> 785 bytes .../MaximumSizeSubarraySumEqualsK.class | Bin 0 -> 1145 bytes .../production/solution/MaximumSubarray.class | Bin 0 -> 840 bytes .../solution/MedianOfTwoSortedArrays.class | Bin 0 -> 1179 bytes .../production/solution/MeetingRooms$1.class | Bin 0 -> 902 bytes .../production/solution/MeetingRooms.class | Bin 0 -> 722 bytes .../solution/MeetingRoomsII$1.class | Bin 0 -> 878 bytes .../solution/MeetingRoomsII$2.class | Bin 0 -> 876 bytes .../production/solution/MeetingRoomsII.class | Bin 0 -> 1248 bytes .../solution/MergeIntervals$1.class | Bin 0 -> 888 bytes .../production/solution/MergeIntervals.class | Bin 0 -> 1371 bytes .../solution/MergeKSortedList$1.class | Bin 0 -> 899 bytes .../solution/MergeKSortedList.class | Bin 0 -> 1165 bytes .../solution/MergeSortedArray.class | Bin 0 -> 646 bytes .../solution/MergeTwoBinaryTrees.class | Bin 0 -> 621 bytes .../solution/MergeTwoSortedList.class | Bin 0 -> 802 bytes .../out/production/solution/MinStack.class | Bin 0 -> 1120 bytes .../solution/MinimumDepthOfBinaryTree.class | Bin 0 -> 628 bytes .../solution/MinimumHeightTrees.class | Bin 0 -> 1851 bytes .../solution/MinimumSizeSubarraySum.class | Bin 0 -> 1176 bytes .../solution/MinimumWindowSubstring.class | Bin 0 -> 1232 bytes .../production/solution/MissingNumber.class | Bin 0 -> 475 bytes .../production/solution/MissingRanges.class | Bin 0 -> 1456 bytes .../solution/MostFrequentSubtreeSum.class | Bin 0 -> 2112 bytes .../out/production/solution/MoveZeroes.class | Bin 0 -> 816 bytes .../production/solution/MovingAverage.class | Bin 0 -> 942 bytes .../production/solution/MultiplyStrings.class | Bin 0 -> 1191 bytes .../out/production/solution/MyQueue.class | Bin 0 -> 1417 bytes .../out/production/solution/MyStack.class | Bin 0 -> 1372 bytes .../out/production/solution/NQueens.class | Bin 0 -> 1719 bytes .../out/production/solution/NQueensII.class | Bin 0 -> 917 bytes .../solution/NestedListWeightSum.class | Bin 0 -> 1286 bytes .../solution/NestedListWeightSumII.class | Bin 0 -> 1641 bytes .../production/solution/NextPermutation.class | Bin 0 -> 936 bytes .../out/production/solution/NumArray.class | Bin 0 -> 623 bytes .../out/production/solution/NumArrayII.class | Bin 0 -> 1040 bytes .../out/production/solution/NumMatrix.class | Bin 0 -> 788 bytes .../out/production/solution/NumMatrixII.class | Bin 0 -> 1429 bytes .../NumberOfConnectedComponents.class | Bin 0 -> 2259 bytes .../solution/NumberOfDigitOne.class | Bin 0 -> 706 bytes .../production/solution/NumberOfIslands.class | Bin 0 -> 1610 bytes .../solution/NumberOfIslandsII.class | Bin 0 -> 1801 bytes .../solution/OddEvenLinkedList.class | Bin 0 -> 778 bytes .../production/solution/OneEditDistance.class | Bin 0 -> 863 bytes .../out/production/solution/PaintHouse.class | Bin 0 -> 671 bytes .../production/solution/PaintHouseII.class | Bin 0 -> 887 bytes .../solution/PalindromeLinkedList.class | Bin 0 -> 956 bytes .../solution/PalindromeNumber.class | Bin 0 -> 530 bytes .../production/solution/PalindromePairs.class | Bin 0 -> 1678 bytes .../solution/PalindromePartitioning.class | Bin 0 -> 1647 bytes .../solution/PalindromePartitioningII.class | Bin 0 -> 923 bytes .../solution/PalindromePermutation.class | Bin 0 -> 823 bytes .../solution/PalindromePermutationII.class | Bin 0 -> 2285 bytes .../production/solution/PartitionList.class | Bin 0 -> 723 bytes .../solution/PascalTriangleII.class | Bin 0 -> 1117 bytes .../production/solution/PascalsTriangle.class | Bin 0 -> 1300 bytes .../out/production/solution/PathSum.class | Bin 0 -> 581 bytes .../out/production/solution/PathSumII.class | Bin 0 -> 1555 bytes .../out/production/solution/PathSumIII.class | Bin 0 -> 894 bytes .../production/solution/PeekingIterator.class | Bin 0 -> 1228 bytes .../solution/PerfectRectangle.class | Bin 0 -> 1865 bytes .../production/solution/PerfectSquares.class | Bin 0 -> 637 bytes .../solution/PermutationSequence.class | Bin 0 -> 1221 bytes .../production/solution/Permutations.class | Bin 0 -> 1501 bytes .../production/solution/PermutationsII.class | Bin 0 -> 1686 bytes .../out/production/solution/PlusOne.class | Bin 0 -> 492 bytes .../solution/PlusOneLinkedList.class | Bin 0 -> 1010 bytes ...opulatingNextRightPointersInEachNode.class | Bin 0 -> 1051 bytes ...ulatingNextRightPointersInEachNodeII.class | Bin 0 -> 782 bytes leetcode/out/production/solution/Pow.class | Bin 0 -> 598 bytes .../solution/ProductOfArrayExceptSelf.class | Bin 0 -> 643 bytes .../QueueReconstructionByHeight$1.class | Bin 0 -> 930 bytes .../QueueReconstructionByHeight.class | Bin 0 -> 1046 bytes .../production/solution/RandomPickIndex.class | Bin 0 -> 705 bytes .../production/solution/RangeAddition.class | Bin 0 -> 760 bytes .../solution/ReadNCharactersGivenRead4.class | Bin 0 -> 659 bytes .../ReadNCharactersGivenRead4II.class | Bin 0 -> 702 bytes .../RearrangeStringKDistanceApart$1.class | Bin 0 -> 1219 bytes .../RearrangeStringKDistanceApart.class | Bin 0 -> 2028 bytes .../solution/ReconstructItinerary.class | Bin 0 -> 6271 bytes .../solution/RecoverBinarySearchTree.class | Bin 0 -> 1549 bytes .../production/solution/RectangleArea.class | Bin 0 -> 772 bytes .../solution/RedundantConnection.class | Bin 0 -> 900 bytes .../solution/RegularExpressionMatching.class | Bin 0 -> 970 bytes .../solution/RemoveDuplicateLetters.class | Bin 0 -> 1304 bytes .../RemoveDuplicatesFromSortedArray.class | Bin 0 -> 552 bytes .../RemoveDuplicatesFromSortedArrayII.class | Bin 0 -> 560 bytes .../RemoveDuplicatesFromSortedList.class | Bin 0 -> 673 bytes .../RemoveDuplicatesFromSortedListII.class | Bin 0 -> 831 bytes .../production/solution/RemoveElement.class | Bin 0 -> 510 bytes .../solution/RemoveInvalidParentheses.class | Bin 0 -> 3221 bytes .../production/solution/RemoveKDigits.class | Bin 0 -> 1155 bytes .../solution/RemoveLinkedListElements.class | Bin 0 -> 661 bytes .../solution/RemoveNthNodeFromEndOfList.class | Bin 0 -> 751 bytes .../out/production/solution/ReorderList.class | Bin 0 -> 793 bytes .../solution/RepeatedSubstringPattern.class | Bin 0 -> 1045 bytes .../solution/RestoreIPAddresses.class | Bin 0 -> 1910 bytes .../out/production/solution/ReverseBits.class | Bin 0 -> 1177 bytes .../production/solution/ReverseInteger.class | Bin 0 -> 626 bytes .../solution/ReverseLinkedList.class | Bin 0 -> 794 bytes .../solution/ReverseLinkedListII.class | Bin 0 -> 812 bytes .../solution/ReverseNodesInKGroup.class | Bin 0 -> 830 bytes .../production/solution/ReverseString.class | Bin 0 -> 584 bytes .../production/solution/ReverseStringII.class | Bin 0 -> 951 bytes .../solution/ReverseVowelsOfaString.class | Bin 0 -> 1112 bytes .../solution/ReverseWordsInAString.class | Bin 0 -> 1568 bytes .../solution/ReverseWordsInAStringII.class | Bin 0 -> 804 bytes .../solution/ReverseWordsInAStringIII.class | Bin 0 -> 1079 bytes .../production/solution/RomanToInteger.class | Bin 0 -> 919 bytes .../out/production/solution/RotateArray.class | Bin 0 -> 655 bytes .../out/production/solution/RotateImage.class | Bin 0 -> 686 bytes .../out/production/solution/RotateList.class | Bin 0 -> 756 bytes .../out/production/solution/SameTree.class | Bin 0 -> 577 bytes .../production/solution/Search2DMatrix.class | Bin 0 -> 720 bytes .../solution/Search2DMatrixII.class | Bin 0 -> 626 bytes .../production/solution/SearchForARange.class | Bin 0 -> 1405 bytes .../solution/SearchInRotatedSortedArray.class | Bin 0 -> 675 bytes .../SearchInRotatedSortedArrayII.class | Bin 0 -> 708 bytes .../solution/SearchInsertPosition.class | Bin 0 -> 803 bytes .../production/solution/SegmentTreeNode.class | Bin 0 -> 419 bytes .../production/solution/SelfCrossing.class | Bin 0 -> 604 bytes .../solution/SentenceScreenFitting.class | Bin 0 -> 1026 bytes .../solution/SerializeAndDeserializeBST.class | Bin 0 -> 303 bytes .../production/solution/SetMatrixZeroes.class | Bin 0 -> 1127 bytes .../ShortestDistanceFromAllBuildings.class | Bin 0 -> 2226 bytes .../solution/ShortestPalindrome.class | Bin 0 -> 1344 bytes .../solution/ShortestWordDistance.class | Bin 0 -> 932 bytes .../solution/ShortestWordDistanceII.class | Bin 0 -> 2433 bytes .../solution/ShortestWordDistanceIII.class | Bin 0 -> 959 bytes .../production/solution/ShuffleAnArray.class | Bin 0 -> 971 bytes .../production/solution/SimplifyPath.class | Bin 0 -> 1371 bytes .../solution/SlidingWindowMaximum.class | Bin 0 -> 1798 bytes .../solution/SlidingWindowMedian$MyMap.class | Bin 0 -> 2068 bytes .../solution/SlidingWindowMedian.class | Bin 0 -> 1444 bytes .../solution/SmallestGoodBase.class | Bin 0 -> 1497 bytes ...mallestRectangleEnclosingBlackPixels.class | Bin 0 -> 1317 bytes .../SortCharactersByFrequency$1.class | Bin 0 -> 1444 bytes .../solution/SortCharactersByFrequency.class | Bin 0 -> 3317 bytes .../out/production/solution/SortColors.class | Bin 0 -> 1462 bytes .../out/production/solution/SortList.class | Bin 0 -> 1983 bytes .../solution/SparseMatrixMultiplication.class | Bin 0 -> 671 bytes .../production/solution/SpiralMatrix.class | Bin 0 -> 1251 bytes .../solution/SplitArrayLargestSum.class | Bin 0 -> 995 bytes leetcode/out/production/solution/Sqrt.class | Bin 0 -> 536 bytes leetcode/out/production/solution/StrStr.class | Bin 0 -> 702 bytes .../production/solution/String2Integer.class | Bin 0 -> 983 bytes .../solution/StrobogrammaticNumber.class | Bin 0 -> 906 bytes .../solution/SubarraySumEqualsK.class | Bin 0 -> 1015 bytes .../out/production/solution/Subsets.class | Bin 0 -> 1449 bytes .../out/production/solution/SubsetsII.class | Bin 0 -> 1484 bytes ...SubstringWithConcatenationOfAllWords.class | Bin 0 -> 2318 bytes .../production/solution/SudokuSolver.class | Bin 0 -> 1058 bytes .../production/solution/SumOfLeftLeaves.class | Bin 0 -> 1118 bytes .../solution/SumRootToLeafNumbers.class | Bin 0 -> 737 bytes .../production/solution/SummaryRanges.class | Bin 0 -> 1324 bytes .../solution/SuperUglyNumber$Num.class | Bin 0 -> 885 bytes .../production/solution/SuperUglyNumber.class | Bin 0 -> 2024 bytes .../solution/SurroundedRegions.class | Bin 0 -> 2159 bytes .../solution/SwapNodesInPairs.class | Bin 0 -> 702 bytes .../production/solution/SymmetricTree.class | Bin 0 -> 2387 bytes .../solution/TextJustification.class | Bin 0 -> 1828 bytes .../solution/TheSkylineProblem$1.class | Bin 0 -> 877 bytes .../solution/TheSkylineProblem$2.class | Bin 0 -> 948 bytes .../solution/TheSkylineProblem$3.class | Bin 0 -> 878 bytes .../solution/TheSkylineProblem.class | Bin 0 -> 2964 bytes .../solution/ThirdMaximumNumber.class | Bin 0 -> 805 bytes .../out/production/solution/ThreeSum.class | Bin 0 -> 1203 bytes .../production/solution/ThreeSumClosest.class | Bin 0 -> 909 bytes .../production/solution/ThreeSumSmaller.class | Bin 0 -> 665 bytes .../solution/TopKFrequentElements$1.class | Bin 0 -> 1142 bytes .../solution/TopKFrequentElements.class | Bin 0 -> 4083 bytes .../solution/TotalHammingDistance.class | Bin 0 -> 605 bytes .../solution/TrappingRainWater.class | Bin 0 -> 845 bytes .../solution/TrappingRainWaterII$1.class | Bin 0 -> 831 bytes .../solution/TrappingRainWaterII.class | Bin 0 -> 1791 bytes .../production/solution/Trie$TriNode.class | Bin 0 -> 460 bytes leetcode/out/production/solution/Trie.class | Bin 0 -> 1386 bytes .../solution/TrimABinarySearchTree.class | Bin 0 -> 669 bytes leetcode/out/production/solution/TwoSum.class | Bin 0 -> 1019 bytes .../out/production/solution/TwoSumII.class | Bin 0 -> 558 bytes .../out/production/solution/TwoSumIII.class | Bin 0 -> 1275 bytes .../out/production/solution/TwoSumIV.class | Bin 0 -> 1299 bytes .../production/solution/UTFValidation.class | Bin 0 -> 688 bytes .../out/production/solution/UglyNumber.class | Bin 0 -> 454 bytes .../production/solution/UglyNumberII.class | Bin 0 -> 693 bytes .../solution/UniqueBinarySearchTrees.class | Bin 0 -> 567 bytes .../solution/UniqueBinarySearchTreesII.class | Bin 0 -> 1540 bytes .../production/solution/ValidAnagram.class | Bin 0 -> 997 bytes .../production/solution/ValidPalindrome.class | Bin 0 -> 766 bytes .../solution/ValidParentheses.class | Bin 0 -> 827 bytes .../solution/ValidPerfectSquare.class | Bin 0 -> 891 bytes .../out/production/solution/ValidSudoku.class | Bin 0 -> 1164 bytes .../production/solution/ValidWordAbbr.class | Bin 0 -> 1862 bytes .../solution/ValidWordAbbreviation.class | Bin 0 -> 833 bytes .../production/solution/ValidWordSquare.class | Bin 0 -> 909 bytes .../solution/ValidateBinarySearchTree.class | Bin 0 -> 780 bytes .../out/production/solution/Vector2D.class | Bin 0 -> 1388 bytes ...fyPreorderSequenceInBinarySearchTree.class | Bin 0 -> 798 bytes .../production/solution/WallsAndGates.class | Bin 0 -> 1858 bytes .../out/production/solution/WiggleSort.class | Bin 0 -> 642 bytes .../production/solution/WiggleSortII.class | Bin 0 -> 1997 bytes .../solution/WildcardMatching.class | Bin 0 -> 842 bytes .../out/production/solution/WordBreak.class | Bin 0 -> 1191 bytes .../out/production/solution/WordBreakII.class | Bin 0 -> 4043 bytes .../solution/WordDictionary$1.class | Bin 0 -> 190 bytes .../solution/WordDictionary$Trie.class | Bin 0 -> 701 bytes .../production/solution/WordDictionary.class | Bin 0 -> 1478 bytes .../out/production/solution/WordLadder.class | Bin 0 -> 2927 bytes .../solution/WordLadderII$WordNode.class | Bin 0 -> 578 bytes .../production/solution/WordLadderII.class | Bin 0 -> 2812 bytes .../out/production/solution/WordSearch.class | Bin 0 -> 1029 bytes .../production/solution/WordSearchII$1.class | Bin 0 -> 184 bytes .../solution/WordSearchII$Trie.class | Bin 0 -> 679 bytes .../production/solution/WordSearchII.class | Bin 0 -> 2194 bytes .../out/production/solution/WordSquares.class | Bin 0 -> 2841 bytes .../solution/ZigZagConversion.class | Bin 0 -> 1264 bytes .../production/solution/ZigzagIterator.class | Bin 0 -> 1847 bytes .../solution/system/DesignTinyURL.class | Bin 0 -> 278 bytes .../out/production/solution/system/Info.class | Bin 0 -> 251 bytes .../src/FlattenBinaryTreeToLinkedList.java | 19 ++++---- leetcode/src/Main.java | 41 +++++++++++++----- 404 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 leetcode/out/production/common/CommonUtils.class create mode 100644 leetcode/out/production/common/Interval.class create mode 100644 leetcode/out/production/common/ListNode.class create mode 100644 leetcode/out/production/common/NestedInteger.class create mode 100644 leetcode/out/production/common/Point.class create mode 100644 leetcode/out/production/common/RandomListNode.class create mode 100644 leetcode/out/production/common/TreeLinkNode.class create mode 100644 leetcode/out/production/common/TreeNode.class create mode 100644 leetcode/out/production/common/TrieNode.class create mode 100644 leetcode/out/production/common/UndirectedGraphNode.class create mode 100644 leetcode/out/production/solution/AddBinary.class create mode 100644 leetcode/out/production/solution/AddTwoNumber.class create mode 100644 leetcode/out/production/solution/AddTwoNumbersII.class create mode 100644 leetcode/out/production/solution/AlienDictionary.class create mode 100644 leetcode/out/production/solution/AndroidUnlockPatterns.class create mode 100644 leetcode/out/production/solution/AverageOfLevelsInBinaryTree.class create mode 100644 leetcode/out/production/solution/BSTIterator.class create mode 100644 leetcode/out/production/solution/BalancedBinaryTree.class create mode 100644 leetcode/out/production/solution/BasicCalculator.class create mode 100644 leetcode/out/production/solution/BeautifulArrangement.class create mode 100644 leetcode/out/production/solution/BestTimeBuySellStock.class create mode 100644 leetcode/out/production/solution/BestTimeBuySellStockII.class create mode 100644 leetcode/out/production/solution/BestTimeBuySellStockIII.class create mode 100644 leetcode/out/production/solution/BestTimeBuySellStockIV.class create mode 100644 leetcode/out/production/solution/BestTimeBuySellStockWithCoolDown.class create mode 100644 leetcode/out/production/solution/BinaryTreeInorderTraversal.class create mode 100644 leetcode/out/production/solution/BinaryTreeLevelOrderTraversal.class create mode 100644 leetcode/out/production/solution/BinaryTreeLevelOrderTraversalII.class create mode 100644 leetcode/out/production/solution/BinaryTreeLongestConsecutiveSequence.class create mode 100644 leetcode/out/production/solution/BinaryTreeMaximumPathSum.class create mode 100644 leetcode/out/production/solution/BinaryTreePaths.class create mode 100644 leetcode/out/production/solution/BinaryTreePostorderTraversal.class create mode 100644 leetcode/out/production/solution/BinaryTreePreorderTraversal.class create mode 100644 leetcode/out/production/solution/BinaryTreeRightSideView.class create mode 100644 leetcode/out/production/solution/BinaryTreeUpsideDown.class create mode 100644 leetcode/out/production/solution/BinaryTreeVerticalOrderTraversal.class create mode 100644 leetcode/out/production/solution/BinaryTreeZigzagLevelOrderTraversal.class create mode 100644 leetcode/out/production/solution/BinaryWatch.class create mode 100644 leetcode/out/production/solution/BombEnemy.class create mode 100644 leetcode/out/production/solution/BulbSwitcher.class create mode 100644 leetcode/out/production/solution/BurstBalloons.class create mode 100644 leetcode/out/production/solution/CanArrangeWords.class create mode 100644 leetcode/out/production/solution/CloneGraph.class create mode 100644 leetcode/out/production/solution/ClosestBinarySearchTreeValue.class create mode 100644 leetcode/out/production/solution/ClosestBinarySearchTreeValueII.class create mode 100644 leetcode/out/production/solution/Codec.class create mode 100644 leetcode/out/production/solution/CombinationSum.class create mode 100644 leetcode/out/production/solution/CombinationSumII.class create mode 100644 leetcode/out/production/solution/CombinationSumIII.class create mode 100644 leetcode/out/production/solution/CombinationSumIV.class create mode 100644 leetcode/out/production/solution/Combinations.class create mode 100644 leetcode/out/production/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.class create mode 100644 leetcode/out/production/solution/ConstructBinaryTreeFromPreorderInorderTraversal.class create mode 100644 leetcode/out/production/solution/ContainerWithMostWater.class create mode 100644 leetcode/out/production/solution/ContainsDuplicate.class create mode 100644 leetcode/out/production/solution/ContainsDuplicateII.class create mode 100644 leetcode/out/production/solution/ContainsDuplicateIII.class create mode 100644 leetcode/out/production/solution/ConvertSortedArrayToBinarySearchTree.class create mode 100644 leetcode/out/production/solution/ConvertSortedListToBinarySearchTree.class create mode 100644 leetcode/out/production/solution/CopyListWithRandomPointer.class create mode 100644 leetcode/out/production/solution/CountAndSay.class create mode 100644 leetcode/out/production/solution/CountCompleteTreeNodes.class create mode 100644 leetcode/out/production/solution/CountNumberWithUniqueDigits.class create mode 100644 leetcode/out/production/solution/CountOfSmallerNumbersAfterSelf$Node.class create mode 100644 leetcode/out/production/solution/CountOfSmallerNumbersAfterSelf.class create mode 100644 leetcode/out/production/solution/CountPrimes.class create mode 100644 leetcode/out/production/solution/CountUnivalueSubtrees.class create mode 100644 leetcode/out/production/solution/CourseSchedule.class create mode 100644 leetcode/out/production/solution/CourseScheduleII.class create mode 100644 leetcode/out/production/solution/DecodeString.class create mode 100644 leetcode/out/production/solution/DecodeWays.class create mode 100644 leetcode/out/production/solution/DeleteNodeInALinkedList.class create mode 100644 leetcode/out/production/solution/DeleteNodeInBST.class create mode 100644 leetcode/out/production/solution/DifferenceWaysToAddParentheses.class create mode 100644 leetcode/out/production/solution/DivideTwoIntegers.class create mode 100644 leetcode/out/production/solution/EditDistance.class create mode 100644 leetcode/out/production/solution/EncodeAndDecodeStrings.class create mode 100644 leetcode/out/production/solution/EncodeAndDecodeTinyURL.class create mode 100644 leetcode/out/production/solution/EvaluateDivision.class create mode 100644 leetcode/out/production/solution/EvaluateReversePolishNotation.class create mode 100644 leetcode/out/production/solution/ExcelSheetColumnNumber.class create mode 100644 leetcode/out/production/solution/ExcelSheetColumnTitle.class create mode 100644 leetcode/out/production/solution/ExpressionAddOperators.class create mode 100644 leetcode/out/production/solution/FactorCombinations.class create mode 100644 leetcode/out/production/solution/FactorialTrailingZeroes.class create mode 100644 leetcode/out/production/solution/FindAllAnagramsInString.class create mode 100644 leetcode/out/production/solution/FindAllDuplicatesInAnArray.class create mode 100644 leetcode/out/production/solution/FindAllNumbersDisappearedInAnArray.class create mode 100644 leetcode/out/production/solution/FindBottomLeftTreeValue.class create mode 100644 leetcode/out/production/solution/FindCelebrity.class create mode 100644 leetcode/out/production/solution/FindDuplicateSubtrees.class create mode 100644 leetcode/out/production/solution/FindKPairsWithSmallestSums.class create mode 100644 leetcode/out/production/solution/FindLargestValueInEachTreeRow.class create mode 100644 leetcode/out/production/solution/FindLeavesOfBinaryTree.class create mode 100644 leetcode/out/production/solution/FindMedianFromDataStream.class create mode 100644 leetcode/out/production/solution/FindMinimumInRotatedSortedArray.class create mode 100644 leetcode/out/production/solution/FindMinimumInRotatedSortedArrayII.class create mode 100644 leetcode/out/production/solution/FindModeInBinarySearchTree.class create mode 100644 leetcode/out/production/solution/FindPeakElement.class create mode 100644 leetcode/out/production/solution/FindRightInterval.class create mode 100644 leetcode/out/production/solution/FindTheDuplicateNumber.class create mode 100644 leetcode/out/production/solution/FirstBadVersion.class create mode 100644 leetcode/out/production/solution/FirstMissingPositive.class create mode 100644 leetcode/out/production/solution/FirstUniqueCharacterInAString.class create mode 100644 leetcode/out/production/solution/FizzBuzz.class create mode 100644 leetcode/out/production/solution/FlattenBinaryTreeToLinkedList.class create mode 100644 leetcode/out/production/solution/FlattenNestedListIterator.class create mode 100644 leetcode/out/production/solution/FlipGame.class create mode 100644 leetcode/out/production/solution/FlipGameII.class create mode 100644 leetcode/out/production/solution/FourSum.class create mode 100644 leetcode/out/production/solution/GameOfLife.class create mode 100644 leetcode/out/production/solution/GeneralizedAbbreviation.class create mode 100644 leetcode/out/production/solution/GenerateParentheses.class create mode 100644 leetcode/out/production/solution/GraphValidTree.class create mode 100644 leetcode/out/production/solution/GrayCode.class create mode 100644 leetcode/out/production/solution/GroupAnagrams.class create mode 100644 leetcode/out/production/solution/GroupShiftedStrings.class create mode 100644 leetcode/out/production/solution/GuessNumberHigherOrLower.class create mode 100644 leetcode/out/production/solution/GuessNumberHigherOrLowerII.class create mode 100644 leetcode/out/production/solution/HIndex.class create mode 100644 leetcode/out/production/solution/HIndexII.class create mode 100644 leetcode/out/production/solution/HammingDistance.class create mode 100644 leetcode/out/production/solution/HouseRobber.class create mode 100644 leetcode/out/production/solution/HouseRobberII.class create mode 100644 leetcode/out/production/solution/HouseRobberIII.class create mode 100644 leetcode/out/production/solution/IncreasingTripletSubsequence.class create mode 100644 leetcode/out/production/solution/InorderSuccessorInBST.class create mode 100644 leetcode/out/production/solution/InsertDeleteGetRandom.class create mode 100644 leetcode/out/production/solution/InsertDeleteGetRandomII.class create mode 100644 leetcode/out/production/solution/InsertInterval.class create mode 100644 leetcode/out/production/solution/InsertionSortList.class create mode 100644 leetcode/out/production/solution/IntegerToEnglishWords.class create mode 100644 leetcode/out/production/solution/IntegerToRoman.class create mode 100644 leetcode/out/production/solution/IntersectionOfTwoArrays.class create mode 100644 leetcode/out/production/solution/IntersectionOfTwoArraysII.class create mode 100644 leetcode/out/production/solution/IntersectionOfTwoLinkedLists.class create mode 100644 leetcode/out/production/solution/InvertBinaryTree.class create mode 100644 leetcode/out/production/solution/JumpGame.class create mode 100644 leetcode/out/production/solution/JumpGameII.class create mode 100644 leetcode/out/production/solution/KthLargestElementInArray.class create mode 100644 leetcode/out/production/solution/KthSmallestElementInASortedMatrix$Tuple.class create mode 100644 leetcode/out/production/solution/KthSmallestElementInASortedMatrix.class create mode 100644 leetcode/out/production/solution/KthSmallestElementInBST.class create mode 100644 leetcode/out/production/solution/LFUCache$Node.class create mode 100644 leetcode/out/production/solution/LFUCache.class create mode 100644 leetcode/out/production/solution/LargestBSTSubtree$Result.class create mode 100644 leetcode/out/production/solution/LargestBSTSubtree.class create mode 100644 leetcode/out/production/solution/LargestNumber$1.class create mode 100644 leetcode/out/production/solution/LargestNumber.class create mode 100644 leetcode/out/production/solution/LargestRectangleInHistogram.class create mode 100644 leetcode/out/production/solution/LetterCombinationOfPhoneNumber.class create mode 100644 leetcode/out/production/solution/LicenseKeyFormatting.class create mode 100644 leetcode/out/production/solution/LinkedListCycle.class create mode 100644 leetcode/out/production/solution/LinkedListCycleII.class create mode 100644 leetcode/out/production/solution/LinkedListRandomNode.class create mode 100644 leetcode/out/production/solution/LoggerRateLimiter$1.class create mode 100644 leetcode/out/production/solution/LoggerRateLimiter.class create mode 100644 leetcode/out/production/solution/LongestAbsoluteFilePath.class create mode 100644 leetcode/out/production/solution/LongestCommonPrefix.class create mode 100644 leetcode/out/production/solution/LongestConsecutiveSequence.class create mode 100644 leetcode/out/production/solution/LongestIncreasingPathInAMatrix.class create mode 100644 leetcode/out/production/solution/LongestIncreasingSubsequence.class create mode 100644 leetcode/out/production/solution/LongestPalindrome.class create mode 100644 leetcode/out/production/solution/LongestPalindromicSubstring.class create mode 100644 leetcode/out/production/solution/LongestSubstringWithAtLeastKRepeatingCharacters.class create mode 100644 leetcode/out/production/solution/LongestSubstringWithAtMostKDistinctCharacters.class create mode 100644 leetcode/out/production/solution/LongestSubstringWithAtMostTwoDistinctCharacters.class create mode 100644 leetcode/out/production/solution/LongestSubstringWithoutRepeatingCharacters.class create mode 100644 leetcode/out/production/solution/LongestValidParentheses.class create mode 100644 leetcode/out/production/solution/LongestWordInDictionaryThroughDeleting.class create mode 100644 leetcode/out/production/solution/LowestCommonAncestorOfBinarySearchTree.class create mode 100644 leetcode/out/production/solution/LowestCommonAncestorOfBinaryTree.class create mode 100644 leetcode/out/production/solution/MajorityElement.class create mode 100644 leetcode/out/production/solution/MajorityElementII.class create mode 100644 leetcode/out/production/solution/MaxConsecutiveOnes.class create mode 100644 leetcode/out/production/solution/MaxConsecutiveOnesII.class create mode 100644 leetcode/out/production/solution/MaxPointsOnALine.class create mode 100644 leetcode/out/production/solution/MaximalRectangle.class create mode 100644 leetcode/out/production/solution/MaximalSquare.class create mode 100644 leetcode/out/production/solution/MaximumBinaryTree.class create mode 100644 leetcode/out/production/solution/MaximumDepthOfBinaryTree.class create mode 100644 leetcode/out/production/solution/MaximumGap.class create mode 100644 leetcode/out/production/solution/MaximumProductSubarray.class create mode 100644 leetcode/out/production/solution/MaximumSizeSubarraySumEqualsK.class create mode 100644 leetcode/out/production/solution/MaximumSubarray.class create mode 100644 leetcode/out/production/solution/MedianOfTwoSortedArrays.class create mode 100644 leetcode/out/production/solution/MeetingRooms$1.class create mode 100644 leetcode/out/production/solution/MeetingRooms.class create mode 100644 leetcode/out/production/solution/MeetingRoomsII$1.class create mode 100644 leetcode/out/production/solution/MeetingRoomsII$2.class create mode 100644 leetcode/out/production/solution/MeetingRoomsII.class create mode 100644 leetcode/out/production/solution/MergeIntervals$1.class create mode 100644 leetcode/out/production/solution/MergeIntervals.class create mode 100644 leetcode/out/production/solution/MergeKSortedList$1.class create mode 100644 leetcode/out/production/solution/MergeKSortedList.class create mode 100644 leetcode/out/production/solution/MergeSortedArray.class create mode 100644 leetcode/out/production/solution/MergeTwoBinaryTrees.class create mode 100644 leetcode/out/production/solution/MergeTwoSortedList.class create mode 100644 leetcode/out/production/solution/MinStack.class create mode 100644 leetcode/out/production/solution/MinimumDepthOfBinaryTree.class create mode 100644 leetcode/out/production/solution/MinimumHeightTrees.class create mode 100644 leetcode/out/production/solution/MinimumSizeSubarraySum.class create mode 100644 leetcode/out/production/solution/MinimumWindowSubstring.class create mode 100644 leetcode/out/production/solution/MissingNumber.class create mode 100644 leetcode/out/production/solution/MissingRanges.class create mode 100644 leetcode/out/production/solution/MostFrequentSubtreeSum.class create mode 100644 leetcode/out/production/solution/MoveZeroes.class create mode 100644 leetcode/out/production/solution/MovingAverage.class create mode 100644 leetcode/out/production/solution/MultiplyStrings.class create mode 100644 leetcode/out/production/solution/MyQueue.class create mode 100644 leetcode/out/production/solution/MyStack.class create mode 100644 leetcode/out/production/solution/NQueens.class create mode 100644 leetcode/out/production/solution/NQueensII.class create mode 100644 leetcode/out/production/solution/NestedListWeightSum.class create mode 100644 leetcode/out/production/solution/NestedListWeightSumII.class create mode 100644 leetcode/out/production/solution/NextPermutation.class create mode 100644 leetcode/out/production/solution/NumArray.class create mode 100644 leetcode/out/production/solution/NumArrayII.class create mode 100644 leetcode/out/production/solution/NumMatrix.class create mode 100644 leetcode/out/production/solution/NumMatrixII.class create mode 100644 leetcode/out/production/solution/NumberOfConnectedComponents.class create mode 100644 leetcode/out/production/solution/NumberOfDigitOne.class create mode 100644 leetcode/out/production/solution/NumberOfIslands.class create mode 100644 leetcode/out/production/solution/NumberOfIslandsII.class create mode 100644 leetcode/out/production/solution/OddEvenLinkedList.class create mode 100644 leetcode/out/production/solution/OneEditDistance.class create mode 100644 leetcode/out/production/solution/PaintHouse.class create mode 100644 leetcode/out/production/solution/PaintHouseII.class create mode 100644 leetcode/out/production/solution/PalindromeLinkedList.class create mode 100644 leetcode/out/production/solution/PalindromeNumber.class create mode 100644 leetcode/out/production/solution/PalindromePairs.class create mode 100644 leetcode/out/production/solution/PalindromePartitioning.class create mode 100644 leetcode/out/production/solution/PalindromePartitioningII.class create mode 100644 leetcode/out/production/solution/PalindromePermutation.class create mode 100644 leetcode/out/production/solution/PalindromePermutationII.class create mode 100644 leetcode/out/production/solution/PartitionList.class create mode 100644 leetcode/out/production/solution/PascalTriangleII.class create mode 100644 leetcode/out/production/solution/PascalsTriangle.class create mode 100644 leetcode/out/production/solution/PathSum.class create mode 100644 leetcode/out/production/solution/PathSumII.class create mode 100644 leetcode/out/production/solution/PathSumIII.class create mode 100644 leetcode/out/production/solution/PeekingIterator.class create mode 100644 leetcode/out/production/solution/PerfectRectangle.class create mode 100644 leetcode/out/production/solution/PerfectSquares.class create mode 100644 leetcode/out/production/solution/PermutationSequence.class create mode 100644 leetcode/out/production/solution/Permutations.class create mode 100644 leetcode/out/production/solution/PermutationsII.class create mode 100644 leetcode/out/production/solution/PlusOne.class create mode 100644 leetcode/out/production/solution/PlusOneLinkedList.class create mode 100644 leetcode/out/production/solution/PopulatingNextRightPointersInEachNode.class create mode 100644 leetcode/out/production/solution/PopulatingNextRightPointersInEachNodeII.class create mode 100644 leetcode/out/production/solution/Pow.class create mode 100644 leetcode/out/production/solution/ProductOfArrayExceptSelf.class create mode 100644 leetcode/out/production/solution/QueueReconstructionByHeight$1.class create mode 100644 leetcode/out/production/solution/QueueReconstructionByHeight.class create mode 100644 leetcode/out/production/solution/RandomPickIndex.class create mode 100644 leetcode/out/production/solution/RangeAddition.class create mode 100644 leetcode/out/production/solution/ReadNCharactersGivenRead4.class create mode 100644 leetcode/out/production/solution/ReadNCharactersGivenRead4II.class create mode 100644 leetcode/out/production/solution/RearrangeStringKDistanceApart$1.class create mode 100644 leetcode/out/production/solution/RearrangeStringKDistanceApart.class create mode 100644 leetcode/out/production/solution/ReconstructItinerary.class create mode 100644 leetcode/out/production/solution/RecoverBinarySearchTree.class create mode 100644 leetcode/out/production/solution/RectangleArea.class create mode 100644 leetcode/out/production/solution/RedundantConnection.class create mode 100644 leetcode/out/production/solution/RegularExpressionMatching.class create mode 100644 leetcode/out/production/solution/RemoveDuplicateLetters.class create mode 100644 leetcode/out/production/solution/RemoveDuplicatesFromSortedArray.class create mode 100644 leetcode/out/production/solution/RemoveDuplicatesFromSortedArrayII.class create mode 100644 leetcode/out/production/solution/RemoveDuplicatesFromSortedList.class create mode 100644 leetcode/out/production/solution/RemoveDuplicatesFromSortedListII.class create mode 100644 leetcode/out/production/solution/RemoveElement.class create mode 100644 leetcode/out/production/solution/RemoveInvalidParentheses.class create mode 100644 leetcode/out/production/solution/RemoveKDigits.class create mode 100644 leetcode/out/production/solution/RemoveLinkedListElements.class create mode 100644 leetcode/out/production/solution/RemoveNthNodeFromEndOfList.class create mode 100644 leetcode/out/production/solution/ReorderList.class create mode 100644 leetcode/out/production/solution/RepeatedSubstringPattern.class create mode 100644 leetcode/out/production/solution/RestoreIPAddresses.class create mode 100644 leetcode/out/production/solution/ReverseBits.class create mode 100644 leetcode/out/production/solution/ReverseInteger.class create mode 100644 leetcode/out/production/solution/ReverseLinkedList.class create mode 100644 leetcode/out/production/solution/ReverseLinkedListII.class create mode 100644 leetcode/out/production/solution/ReverseNodesInKGroup.class create mode 100644 leetcode/out/production/solution/ReverseString.class create mode 100644 leetcode/out/production/solution/ReverseStringII.class create mode 100644 leetcode/out/production/solution/ReverseVowelsOfaString.class create mode 100644 leetcode/out/production/solution/ReverseWordsInAString.class create mode 100644 leetcode/out/production/solution/ReverseWordsInAStringII.class create mode 100644 leetcode/out/production/solution/ReverseWordsInAStringIII.class create mode 100644 leetcode/out/production/solution/RomanToInteger.class create mode 100644 leetcode/out/production/solution/RotateArray.class create mode 100644 leetcode/out/production/solution/RotateImage.class create mode 100644 leetcode/out/production/solution/RotateList.class create mode 100644 leetcode/out/production/solution/SameTree.class create mode 100644 leetcode/out/production/solution/Search2DMatrix.class create mode 100644 leetcode/out/production/solution/Search2DMatrixII.class create mode 100644 leetcode/out/production/solution/SearchForARange.class create mode 100644 leetcode/out/production/solution/SearchInRotatedSortedArray.class create mode 100644 leetcode/out/production/solution/SearchInRotatedSortedArrayII.class create mode 100644 leetcode/out/production/solution/SearchInsertPosition.class create mode 100644 leetcode/out/production/solution/SegmentTreeNode.class create mode 100644 leetcode/out/production/solution/SelfCrossing.class create mode 100644 leetcode/out/production/solution/SentenceScreenFitting.class create mode 100644 leetcode/out/production/solution/SerializeAndDeserializeBST.class create mode 100644 leetcode/out/production/solution/SetMatrixZeroes.class create mode 100644 leetcode/out/production/solution/ShortestDistanceFromAllBuildings.class create mode 100644 leetcode/out/production/solution/ShortestPalindrome.class create mode 100644 leetcode/out/production/solution/ShortestWordDistance.class create mode 100644 leetcode/out/production/solution/ShortestWordDistanceII.class create mode 100644 leetcode/out/production/solution/ShortestWordDistanceIII.class create mode 100644 leetcode/out/production/solution/ShuffleAnArray.class create mode 100644 leetcode/out/production/solution/SimplifyPath.class create mode 100644 leetcode/out/production/solution/SlidingWindowMaximum.class create mode 100644 leetcode/out/production/solution/SlidingWindowMedian$MyMap.class create mode 100644 leetcode/out/production/solution/SlidingWindowMedian.class create mode 100644 leetcode/out/production/solution/SmallestGoodBase.class create mode 100644 leetcode/out/production/solution/SmallestRectangleEnclosingBlackPixels.class create mode 100644 leetcode/out/production/solution/SortCharactersByFrequency$1.class create mode 100644 leetcode/out/production/solution/SortCharactersByFrequency.class create mode 100644 leetcode/out/production/solution/SortColors.class create mode 100644 leetcode/out/production/solution/SortList.class create mode 100644 leetcode/out/production/solution/SparseMatrixMultiplication.class create mode 100644 leetcode/out/production/solution/SpiralMatrix.class create mode 100644 leetcode/out/production/solution/SplitArrayLargestSum.class create mode 100644 leetcode/out/production/solution/Sqrt.class create mode 100644 leetcode/out/production/solution/StrStr.class create mode 100644 leetcode/out/production/solution/String2Integer.class create mode 100644 leetcode/out/production/solution/StrobogrammaticNumber.class create mode 100644 leetcode/out/production/solution/SubarraySumEqualsK.class create mode 100644 leetcode/out/production/solution/Subsets.class create mode 100644 leetcode/out/production/solution/SubsetsII.class create mode 100644 leetcode/out/production/solution/SubstringWithConcatenationOfAllWords.class create mode 100644 leetcode/out/production/solution/SudokuSolver.class create mode 100644 leetcode/out/production/solution/SumOfLeftLeaves.class create mode 100644 leetcode/out/production/solution/SumRootToLeafNumbers.class create mode 100644 leetcode/out/production/solution/SummaryRanges.class create mode 100644 leetcode/out/production/solution/SuperUglyNumber$Num.class create mode 100644 leetcode/out/production/solution/SuperUglyNumber.class create mode 100644 leetcode/out/production/solution/SurroundedRegions.class create mode 100644 leetcode/out/production/solution/SwapNodesInPairs.class create mode 100644 leetcode/out/production/solution/SymmetricTree.class create mode 100644 leetcode/out/production/solution/TextJustification.class create mode 100644 leetcode/out/production/solution/TheSkylineProblem$1.class create mode 100644 leetcode/out/production/solution/TheSkylineProblem$2.class create mode 100644 leetcode/out/production/solution/TheSkylineProblem$3.class create mode 100644 leetcode/out/production/solution/TheSkylineProblem.class create mode 100644 leetcode/out/production/solution/ThirdMaximumNumber.class create mode 100644 leetcode/out/production/solution/ThreeSum.class create mode 100644 leetcode/out/production/solution/ThreeSumClosest.class create mode 100644 leetcode/out/production/solution/ThreeSumSmaller.class create mode 100644 leetcode/out/production/solution/TopKFrequentElements$1.class create mode 100644 leetcode/out/production/solution/TopKFrequentElements.class create mode 100644 leetcode/out/production/solution/TotalHammingDistance.class create mode 100644 leetcode/out/production/solution/TrappingRainWater.class create mode 100644 leetcode/out/production/solution/TrappingRainWaterII$1.class create mode 100644 leetcode/out/production/solution/TrappingRainWaterII.class create mode 100644 leetcode/out/production/solution/Trie$TriNode.class create mode 100644 leetcode/out/production/solution/Trie.class create mode 100644 leetcode/out/production/solution/TrimABinarySearchTree.class create mode 100644 leetcode/out/production/solution/TwoSum.class create mode 100644 leetcode/out/production/solution/TwoSumII.class create mode 100644 leetcode/out/production/solution/TwoSumIII.class create mode 100644 leetcode/out/production/solution/TwoSumIV.class create mode 100644 leetcode/out/production/solution/UTFValidation.class create mode 100644 leetcode/out/production/solution/UglyNumber.class create mode 100644 leetcode/out/production/solution/UglyNumberII.class create mode 100644 leetcode/out/production/solution/UniqueBinarySearchTrees.class create mode 100644 leetcode/out/production/solution/UniqueBinarySearchTreesII.class create mode 100644 leetcode/out/production/solution/ValidAnagram.class create mode 100644 leetcode/out/production/solution/ValidPalindrome.class create mode 100644 leetcode/out/production/solution/ValidParentheses.class create mode 100644 leetcode/out/production/solution/ValidPerfectSquare.class create mode 100644 leetcode/out/production/solution/ValidSudoku.class create mode 100644 leetcode/out/production/solution/ValidWordAbbr.class create mode 100644 leetcode/out/production/solution/ValidWordAbbreviation.class create mode 100644 leetcode/out/production/solution/ValidWordSquare.class create mode 100644 leetcode/out/production/solution/ValidateBinarySearchTree.class create mode 100644 leetcode/out/production/solution/Vector2D.class create mode 100644 leetcode/out/production/solution/VerifyPreorderSequenceInBinarySearchTree.class create mode 100644 leetcode/out/production/solution/WallsAndGates.class create mode 100644 leetcode/out/production/solution/WiggleSort.class create mode 100644 leetcode/out/production/solution/WiggleSortII.class create mode 100644 leetcode/out/production/solution/WildcardMatching.class create mode 100644 leetcode/out/production/solution/WordBreak.class create mode 100644 leetcode/out/production/solution/WordBreakII.class create mode 100644 leetcode/out/production/solution/WordDictionary$1.class create mode 100644 leetcode/out/production/solution/WordDictionary$Trie.class create mode 100644 leetcode/out/production/solution/WordDictionary.class create mode 100644 leetcode/out/production/solution/WordLadder.class create mode 100644 leetcode/out/production/solution/WordLadderII$WordNode.class create mode 100644 leetcode/out/production/solution/WordLadderII.class create mode 100644 leetcode/out/production/solution/WordSearch.class create mode 100644 leetcode/out/production/solution/WordSearchII$1.class create mode 100644 leetcode/out/production/solution/WordSearchII$Trie.class create mode 100644 leetcode/out/production/solution/WordSearchII.class create mode 100644 leetcode/out/production/solution/WordSquares.class create mode 100644 leetcode/out/production/solution/ZigZagConversion.class create mode 100644 leetcode/out/production/solution/ZigzagIterator.class create mode 100644 leetcode/out/production/solution/system/DesignTinyURL.class create mode 100644 leetcode/out/production/solution/system/Info.class diff --git a/leetcode/out/production/common/CommonUtils.class b/leetcode/out/production/common/CommonUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..dc54eabf1ae1c3a99e679eeeb52996bf48e120a2 GIT binary patch literal 592 zcmZutO-mb56g_t)$!JU(8^7DsYL$|VU_iRFEtG*mVcIUzy29*Ze=ps8e{uqBip|g5QNU6WPw>>koW+`lXC9UX zh1WXK=B>c3H+BTMAl;1wl~5$1XFiJZ22GUb7wE= zntRkuTCOOLlAh_0SH!$iCbd8JF3Z$0)7KmA0ISGz!}f6?)|Tfat0qy1dH)>pV|-oY zSs0TX#qZLMfLLZViASiAvCXH*!6m-*N4~rD6V3%(Cv@M`{LvYz8#TX1GS@nBx~))CAv=x7jLO-lVuo185@yK@yKN@t4=Ns9`At@^ IK+eJ9KWrRu#sB~S literal 0 HcmV?d00001 diff --git a/leetcode/out/production/common/Interval.class b/leetcode/out/production/common/Interval.class new file mode 100644 index 0000000000000000000000000000000000000000..31a0c7ad2ccb7d0443213525d43052cee5cc265c GIT binary patch literal 444 zcmZvXyH3ME5Jm6AcAOaJL3lq3=t2t8(1BDUTdgCw)}^S9XMPbN-T=?tbLlMYRuXuc}C#cMJX1cN9mY`!q*C7LW(tsHCPELAjZ7KQ_+z_O{>AsFPd01`M+AQCR3%o%0!|ltnP8jW}PLD__7<5&y zts-su5$MFn`hw!uB%Y~Ljuop1&D#G4q8UL&k-$1I8ID7B$Pz2fRE6DGbx&LBJkeuz zrrRA{M%{2r8`Hvj()x+IQh9tpC65fUg6#W=0rPp};0ngfRHLW*M~$7%N!aCO?P{%! zMLtHFFJ(atn>#Ut5kfxu0=q3vSgfvp2k~cyuzn{qMgEJ_0970+4S375Z1XuhY>a@#*1V9v|s%a;|e~Dq*eQ6LXpSRq&ZR3txzPuwLM0 PFwG^;v=Gb?wlMn!`p;Yl literal 0 HcmV?d00001 diff --git a/leetcode/out/production/common/NestedInteger.class b/leetcode/out/production/common/NestedInteger.class new file mode 100644 index 0000000000000000000000000000000000000000..5f85ea9b16f2e460655ed4ec1752cfd732bf3ced GIT binary patch literal 275 zcmZWkI|{-;6r2~MYvPxHC$Q1RG zX;^VAd$G}(v}LXc<3GbP+N#2;WBqQ$2|qrUd7{=PCzaS1 ef#C2wpyBcwxB%ZKTCXe6X5C}efzPP(Lft3QES6ot=il8#MNQ|tfFqRZNa-MCZSh(e&KpcGtAV$dlyftZRumJ1PF_y9hX zcqS>XT--CcXYToO=lkdL3&0_Ee0W%I!NrD^O@%FmZGpV7BG#**d2BLMo(P=5{zTxO z=69(e9Gfh?m_Np8aiilIo!&T4^lYLFWBY~amJjAhpvG6Z$;u;vH;5vO5zUGP{&hYt zlJwkIgkMb^O!c!4(1IVJ2^C-oioxnm(6zUtna=J@BO7yw8$LBOyoTtJ@sMa9{ zf;PX-*bC2a_yHL@?`T+Y-m1ZX+9L==xx};xSSF@JC#YlWLv|L~T_A6Xbm-K`U5niN i2k8^pW-K70Qz83x><<}Yg+Hve;~J{kbd}%+)_wtLV>gxn literal 0 HcmV?d00001 diff --git a/leetcode/out/production/common/RandomListNode.class b/leetcode/out/production/common/RandomListNode.class new file mode 100644 index 0000000000000000000000000000000000000000..0c0d63ea06ad14f6c585147288cc9100384a3dd4 GIT binary patch literal 363 zcmY*U!AiqW5S&fY#>AM`R;%F2Tib)ZcvHLxg+i#HlKV^g&{xs~(p36e9z^iq2l!Fq zB=%AsyxpCho!$BQ{rU!QjdLFk`W|eYxHxq&5VSIt=u99pfs^ZPCFn+vDqj?<$gHb* zvCubycG)0IZcT2gJ93A!QOs~pf}j(bT+cVFM3>Jh$%yo#B2`(eN>kT6(5YU{n!C0F z|EbuNsh*me+}~e#wN!5^fRD2PEwlyUexE1Sj7g^Qm&rr2)G4pFhocymwC2#N4LU=c znZU(C6TMyJZX6O1h)!Yg0si9g^z#nBC zum|#zot-yt-p9}H*EfJ`Tm(=!@!{gsL)*idz+LN1AR~dw%=1!EizbCJk^Yd~56pdK7#{fI3%>z`%9&yPg`?sElJ)9OytUa{QgN{CK??-*jD5M*<8J{ zCl6#Xkgc6!xz+Y|yl^$&Zy=gac`^*;dx7--s(Ia_N)jjQe>VyEE`GKHU?n}3|!QhShlf(qAD8}NcE*ZZtQtY z8mQ&eh$H=r-b@7XTkV<*I^<+g8Q1tU1AIXZv;-DU8~}E-leKq49_CYw))3R` zGgJy{(}|RzBSTzc)TLP5^ZrYgbdQCY(KJeNTDeGt32GYeF`ptHX_jvHJB*6k)wl0C zAMvE%xK8N@OmT?RHyFC>mOoghi69x zt@N1!w8*3d3IL`_JWKIeY{(H+EpA!%YpoDoqoF{{pqoo6`mMTUnNVIn)8Ii;6^Z?9f%?hp4spD+Lb literal 0 HcmV?d00001 diff --git a/leetcode/out/production/common/TrieNode.class b/leetcode/out/production/common/TrieNode.class new file mode 100644 index 0000000000000000000000000000000000000000..30cfc3c47bced8b06043afb401ea8b86864719c9 GIT binary patch literal 342 zcmYjMyH3ME5S+6e+i`3sm`6cJ2PsHH2SP|lR8}YwrJ*`Ir*M(6rNe>mqCiMU@Bw@j zV$LFhW_M?HXJ_~8`~4HZ84eTmg-SpaF@@GR#T#L0q?mnOMxt3 z%O^RhWWAcqTBGX~d;W#4b$cn`9-k~YdQFMIFxR!3ZXOC{=CY{BWO-A{Y9Wob_?PtB zdri0KzgaYEHl|cJ+NzT66{prZMjw$txFuus;0uiY&blqus%&w@hdlo1fG@#kB@iI& yvam~t2Siuh1dxv3AjYG^4>+%IUpi&Xn8IZYxGO|LT|yL7Yda~1%yegTu=4|CSU`3F literal 0 HcmV?d00001 diff --git a/leetcode/out/production/common/UndirectedGraphNode.class b/leetcode/out/production/common/UndirectedGraphNode.class new file mode 100644 index 0000000000000000000000000000000000000000..a95310e9ecc91a96336695c9a480c09ec65e3928 GIT binary patch literal 502 zcmZutT}uK%6g{)9Zo6)2nr7JtJ*7UhFTE*31ck8JgDLbltAmbgyD{!Y{j45DDCh_D zqoTWO5QH;u?!D)7?$_7%`zL@)oLVqYGm*oAfkO+Kbx=2OWZ;+~>vK=|46Mgs20~6} zUZ@rfMR(4hxf4gycU-xM+LRv1X~3gc35N53>5e-LCQ^xUBqq0tKh65#M6|o4%5`KQ zqb`Hq=ru=Vt|`M%aAhF+@uMfyJ@%}lJ8w=)GGrRf5zgqW z2Ax?0ODdB`;~-CHr|dR)j2agRi^L4+{2JLxYX#P-FQK(Qka<`^Un2XKN_GiL&ya+G=�BI#)n^>$^UuctP8wz#$X@M11mn5?+&h!`c ztL-Q_b*3NbO#eWCK>tVSbF%9M#Z2a&=bU@)InR0SP5%Dxk3Rua@lzh7s9Ml5pGN@; zf^L}jB2W9JEHw$&E!@OcCKmI^C)u|IeVxN?u}iYt$>ST`HF3|xeFfuY&Z*NUDjwcy`WPk*!IJoA1RDG zjg`pvTP#+e8bH>My4_eIe>|p#u@{62di2%?TiZ<15_hN_dmGQ1Ua#MjBP*CsLNAW} zj>6FKM#6uGOr-zMji=souM&Eltx7wNg3eaGKc5$Ek@4sUwn?BvzH_OqruKSj7g9T) z+Rsh69Hiadi#GgwfoNoj471YL##xNncz}|Pk8r`p$0#Y}-fAM-%d&iH<5OHU@tutZ znhNLMC%v>6gqwb3qlJey9^rchbxFVvHriM*@uQ7ZtZ{JZtuQhu@NoU9zacV){u43I zvIsEYEDy9FAlW*0w*AX)?C-n8c zg$wL*LiuzEo|th?Z1Q~!I43tX$j`;yB&2ZGIhn|cqy5A0QsWKvgeaMRsNX7YqrhL2 zd^E5!#<-5ttI#T1-93Q%jUa<_T#Y1%31U0NMVzN+$?Y;ChyP`^PJ7$^iv?b|FOhkT zY=c&#ZHjHVHLZMz30F2>L37nBWXdx{<(f8q2xGdY6}1;ElI=HMzz}hcEG?3-ahm=( zhEc*9e8L%APEjHMDkr!>dUX`BNJ2uinvlUHv%!;dxJV>a%eX|8A@!^BF4?Pu%dA&o zpUccWkF0To&!C&Qa{MboSn^)efvdElmf>=~wSioD)&_g%tUi#;NSRo;1}CYYt}(}C zZu|!NW8;8-Bmzu=rU1P>eE_p1a71=%n!ubYY7EzOakQDDE{;(&UL#jD4&nX|>kaac z4{)kzyo9}vp~C5X4DVxPA7><_)r?<{{t>>3%Ck5{e5F5IfzwU)89JE96qcy*eN6M$ zIfDSR*rhHq(}RRJGhBKWo>5g%w}5qKi@K9o;~7!c;py4Fy7Rcj`zmqjC0u8v5)~E2 ZFCufqHl_*wtGuH*U9hxby1d4@{{d7pA2|R3 delta 284 zcmYL?J5Iwu6h+VTCu182LI6VupExCrkwBtyPlK`qWFSJZEC)pqlvMPf*#KLB0wf9+ zz@iW@PQeuS&bxQ!yyy7I8~*%$eFLWqBU)^RY>@>Bznmm_;DxqX#hZU_u} zG5Z_{?elR}O$QItS#^`9hQpWvso-4{lUnGM#eI=gMSYu%uFCQC+?LLXP2D6gce6=7 zuWFmS{YPKdE{=nsc-2s+OkLFdqfg|msUy`^6ACMOkCzYB+d74;vZl%6^H~Ga>>a1; be&GEBBCWvFJ^m7sG?b7I>skn1Rfml~i=`s9 diff --git a/leetcode/out/production/solution/AddBinary.class b/leetcode/out/production/solution/AddBinary.class new file mode 100644 index 0000000000000000000000000000000000000000..0be647206e053364702911fa9d6b0bd41d6850f8 GIT binary patch literal 989 zcmZWnT~8B16g|_tRDY}*C4)U8>zCicN6 z{)NO>;+wvdL=%62Kgk&DndM9EX7|p$XYSm4&zb%4`|EcAb9k6Q94Q006Nn&{z#XKO z$*3@^%#?v?12Y2pW7l(od4Xs;vmqdtn>9yZu!|}F*o$yX5fL`6P{Y9qAbSbmU*!A`tpYeFQRO;34oN_E^o|YU=_a+uGff)Z2 z^+Z7O=%Y0m<+%#3TJ{LyOSs)ntA`+kp>G~1U=T@00v9ku%fn&?lBIz5H$+|>A-X!% zft0m^oIYN)XhFB+0s1ZN05MDdh*e8|z~Gc6JJ6D|wL{2g!LT%9)0XxZ7PAa1wrS~` zh4@U=ip%#M=+C*f3;Mq7?rYt{?x&d!jL+;Ig_<}UP9jND!x-n!!oWPEHPU{`y)9C1 z5N|PCvDzXwj~p&yn3-$10*hXZxk+52r^ITXa8}+3E{8g_F-kAOOrK}Q*gc6luJVK= xUcop$HNh)fqo?CK>!e_G2^j`%7?=p(n?g|bf#ibtg(0yZeqxg4Z!tN7$v;C0}vL)f>Zhn-#S_?DOa?&#u4Tw0pip`W7&^y2F0G`NWYvVzW|jx9ok}LJ%Q= z;F&_1-?ETK+(HJ60@mz^KvWJDUAyzL__Wq));$VMZ^+A2_ib0IZjL-GBfyK7j{+`7 zh|y$L z!^$5cn9x6CFZT;(?hx7m*a}QCotdcQ*~*`_j7jFVHWPt_v769$OF_9i5saEW?k|TV za!YzrONPEdPln3c!M{(1L+D?qO@-86qEb+qMHiQ8I!n9vX?UGlpRxLa{T98vp_384 zd_W8zvEX~%BPUB%3~^4cb8dmi;7khVh=QDqBY{Qki=c<|%ygbMp4^T^7uc0oI!2O6 uA@e;h5~)04giAykbpa~~pCDr33SVKFYvL~~vBo4kg?~`suB&7#So#lOGmzu} literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/AddTwoNumbersII.class b/leetcode/out/production/solution/AddTwoNumbersII.class new file mode 100644 index 0000000000000000000000000000000000000000..2ee9dfa8abc435513edc8dee877d1504edacb147 GIT binary patch literal 1261 zcmZuvOHUI~7(KV0M;V4k!2$(EQN)&q^@-Xd3W!OQ0tpZdE{p?=GCH&ko%&d~cH`Ov z)+8)ksEL9~Vq6$a48KHw1LC)Nx5-F6-#kaYaDubFz-tFA$8yrv#Lt+?*{?lX0^4XmMf2 zUYxXMTt@0LxmnAdvKAfbmx78n?-T^WnSr^v$)~xUfFdHls7X(C_U0jY4 zX!w8M=lR{8I}Wz!+X=W<_F*EO_3VfCVya(W;13wF^8T@8nPhUiiCl4U*1qjXQjQ$B z`>fo~L@mOk@W7@fuA&}ZU0ngv3;q{ym%6E|?v!~h0)s$XBem5CwTV&elt z1#0)9V>6HJS)Lz!Vz~l3WzimcKssXS_#tb3>2(B0OFF4^{Xk<+*9Rz{psqo?LsQSJ zZvW~2fu^X^y`P||kF0M04)&@W2u%mqQIXVo)?h55GOAE7?rlEy(Ihlv|w_8$51$j&SB^BPgCpc!w_g10z|H5|id z9QQkpv*QZ+i!!fE_Dal3tA#Q7IW}3-%uf}PoW`G7q#s~@^{tvcu0<8c5 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/AlienDictionary.class b/leetcode/out/production/solution/AlienDictionary.class new file mode 100644 index 0000000000000000000000000000000000000000..8ef89730fa3b0e663966998f0f78bf158ca8c425 GIT binary patch literal 2925 zcmaJ@TW}Or8vf2qUuJq52q6tLDyt%K0%4G-qfRi2;TBB@7$iWrq%+e=8YVNtT#&eT zjkv4qstBy&T9kP(Zx+6A5lK;M?Up|HVC~aBP_GNp-kKrQ&51`+`ZtO9z7Xv!>8BnBTFZLTafP->2XkaNExiO?8ts`T= zlsXFB7-ATXU_{5LfraRg!NahQLk60vi^Ecq)iEX|IjNqHp@1WDC`!L2xxrXXDC?-` zI4Yp6_i|pjLm(V)*(IQK<}FJ1QXIj1<@E?_uP)LYEBMS+Lo1Ko$5qt4o_lN(vvS1x+Fk@l9mMFJwt zr;|8d&KEN>>Ro0;T5`)0qQ6xsd)c*pZkZv)AwFFK>abTVQ9~=a>3oh}!dW-REl(g+ z&I?!pr=6ot(MgxxBJGvoVt$O~GBmSVGzVsZh?mQ_BSn`b2@S|#>3k)}VBs;RK$`%l ztxjpQ$0^XUdZgl3Xs|G_yF-e&7b*=2*a1Y<>O5ERvMe1H7T;d@@xra*HwV120P6!j z>RENr!}fq;4bAbnmjK%*0zbVd5|Ns{jb5ZovLH>}I;X5*uk;V2QsI zV0Z2OOuUVEOuUPeXH{j ztelsq{cY~XTcmr9jWtpp^)C*7td2Bp2P8ZzP($WFZD)FusTI)xhY{l&z z7FZhZ4BiH_?LHc zv}vqR=85yVax|h^w`HlkrejU4;0| z-(Ja4^My;$%(+=rz{7}hCD4LZ9BHf^;kU}9=w`#RFN~hn&?SVz9jjA{txPA?a8k20 zOP$14Td}mZly2)65Kcwx$aFFqP8ybBMJKV+j#$QH$ylouYj84&4=}$v3-?Zh#e^ZI zX8t{)alCj1%ASi*Q%X3gTI%X)B{PYut1Y!HrEydSWdQ90G#N#^1U(rEC!icI1i zTeG4U5V3Xtbq)t?r6#%rZWz}POBuHDPb|LzlTqez70|Ga3z*+;8#Q~{T*iVB8~2IU znuyT%C6vM5DLiCFl|diF$7uBD64WHL#)k6~Q6`d~P&qz(1q&IdF;y*7>+~cZXtlJ& zSv1*dgJWrfC;c#sLg@GNzkUTxG_X>dtzO1rfwMRwXG;XGVX4er2DST%n{PiOR{9_4 zstYb-nLsLP6a77c=o4~wZ`Iytl}X-L%_B3=dlvI-)iy3e0+^clZffQ&S>5ILokOIt zVT!fn>R0E<2L+NZpJFw~Wl(Vs3{uS`*;bNf&yi@|OHLmSTHQGCsRPv78ie2*kpgD6>nldoWVZvA@++eaX|bF2gP+b;y*}>8_4*)zJ^7_XAyZT|39t7 zlf;#PP7GU!>=EYiK28x^8>0N`d`ff)_Qi30LX1-HG%xYTxf?+qUlDH`RM9~{a;7or zy?BB?4dOY7r#RDz=mp<%MD|RrpX4mXOnG^V|6x6zW`mmIzv!TsFtXwVp24$FnDJF? zAYPSuoRBrmE$ZS<9_Fn=a~K#o`$(fv)3u9WUtU7JLa_ z0W$;~yF;p@N5?j~```@i?>4##_5aeUSIqEsFoNd2bWH0WY5k*&wEYJ(FOzPx+tq*{ oYF>7T<(&SAh>jP3!ZSMhXr*K4x|;}v=53@imgyxX5yGyY0Wy-M^#A|> literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/AndroidUnlockPatterns.class b/leetcode/out/production/solution/AndroidUnlockPatterns.class new file mode 100644 index 0000000000000000000000000000000000000000..0cd7d760dced70dc3d3526e355b0d6ca24f0e5ea GIT binary patch literal 1094 zcmZuvO-~b16g{u==DoJ^@kB-hDW94kbtD;-L^MXl5F0DifQHzOL#Z-+Oid|lT$vDE z`2!#>OkB8OV@xzL#<;)@34g~0iQ<`QF(lea-@Es|^Ul5Z+_(Gt%QpZQaW)Mb{b@)H zXtZk#YMc>JSA#I9T@$c|&OH>66P5Y0Kx;k-%TsGBbLHxcKexIK!ue_?n12v1S4vCw{93JC4Og#_^w#9GKzgY7s94P9a_4daBH*99wH{qf z6dy6^>QeBG5n{NO)~YP4T3+#kkZyIgCeS=x^Gi#2{b!BDCX8zcS>kvUO{86YY*YoIUR-N6Pt6NIV|1H5IIbkhmSpx6+UPs1sF&4@GjfOaeH_Pw_yo93EAJ6xx%ozj(#ie=Rc6t*6+{|zM@p+oV%9~C|l7nCAJ zAsn_n$i_XKraawvjtpL)2OH?aYre3z7{Es&cIfZoY&^1P5U+?n9K_z=LF|#m#Dmx) tmx&+VPCOEetoe9MlH9o?gXl!!fOJ|TBZP*f(IfbJ_i>X%y(~0=zCRvdtB(Kx literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/AverageOfLevelsInBinaryTree.class b/leetcode/out/production/solution/AverageOfLevelsInBinaryTree.class new file mode 100644 index 0000000000000000000000000000000000000000..be57273d3d2d5d6dc34e07400d3fd6448bee5f76 GIT binary patch literal 1515 zcmaJ>OK%fb6#lL~+dH3mjGAm=ebgoJhgImr9H(F_uOi;|=%<6UyPF5~mDI8kiDDjN7hV znGlF)2d)Tc(_TpmG#6}F&IfDD(qFQc9a>roUeR){SiY_9HKSI!ZkGkR3zHktw^rrC zN3sEf)JhRIuWN%*oHI8<69KDEs8aKW|*kx1umV$tU&vR&26r4 zH`pD?5LOwlLz-a41Ce)CVZ3^GEO&Ke#tX<)Ub!_cR;=R9Icq)S&A_yQ8IDOHwP>%p zRweM+(cv99`AFXMq8Io@dB#=~>fK=ohZMyocA-^ZPn2%=rYtGo#AM<$&X_ohb0%i- zwLo%vL?+Io&qM*8Cg#v-VBW+6F0cs`7gfw9ESgwS$vbxd!GVOOLv|LHZ^$C)Z?2;W z2^MIoTNE-*%3E2HzCc?x!frJ_KX6UJu*;{{)+?Lg4)d<9dyd0Cv$f5N)Z;AT8x|im zN3N*UzP);#X9QSvY|Ki(fE%sq&O|fS=E_V~sl;ugoK*EPHF)77PZI+BvpqM2s23e+ z`PhqQ{&3YN2Cgt#DR=WW!c*|n2OmKE8$R!$OjM0%qi)vpc6`E{KnF5R!eH?XI#RUV zdyLrC2Z+zr&iUForsZBBkX_QjJw=dfS$++Nzm;M>eB%=xxSr?;#qtVAd-QZ=sPl9!&yw|Nn_t zh*yK^ahaU}N&clsO`2Vq=td)YdCQWZ9D6)O22P+IQ}msq#|3oaTXdm>&*0GW7WU%@ z9Kg@$!>>4q-_Vc07<~tW_yeOHmTTRKEp@2M(yJQT|30$+ePouA1N7=a;w^d&42Iv_8#Knn YYaBB$wEGo?V;H7SjF|;jL1~BI0gWC@>i_@% literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BSTIterator.class b/leetcode/out/production/solution/BSTIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..6256e654d7ce0304bcb6f9f727a5e8739a26c45a GIT binary patch literal 1023 zcmZuvZBNr+6g^K{C@aMQ@}eRN0%I%6d_hH-gg`VB$0XUr=(jQ}D|YMBwM2gkzkn}( zF@ce2V*KO>|AK$TsORZMM$k09yXW3>&wW{c{QmqEzyg*HBr&TaZ9u_n0_TvC#*%Q( zpm$w*HxlT@y!5g!@KA88*wzp*muEg!27FOH_Me?h~(t79wcIXG}ss+9u3g{KPQE=YVQ`4E(q{SO- z*!7d@+DUSq69rBq^2ikgM$wOgvh&21o%>IT&&zX|7{OhEHCLYMxL&$@ioX12C(KN(~G;8h%U7zC8i?oB#XnSZAls71q#3e>XTE!T{ zWg^O8oG-r8|JAkHsWSI)tq?<%3A%)G@A8iXy#94Jf zU6In0xJE0dZ?e6depAU=P3Zf0+EN~ut)$yT&r3@>he&XtgFind;uOX=^fJ&&nYlKn zPjaA+b!M`-EV!J)g%Vt;9}`5AurP&1Ok)Kzc!m@TjC2mN*`8Zre2Of=DtSKj7Zfo& KMLa{SAoUl>0ldEe literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BalancedBinaryTree.class b/leetcode/out/production/solution/BalancedBinaryTree.class new file mode 100644 index 0000000000000000000000000000000000000000..6f3bb0a43f47f329386c9136b3791308e5442e20 GIT binary patch literal 840 zcmZWm%Wl(95Ixtvu~XwTB~QYmJPUbe0b)T=RRswtQqoGa>VkH`O=23CG(k>+;8VJ0 z!KND|q*e&A1c_ha7XWc?9;6bMJ$Gh2=iDbJd4&F`z=-A>?nRRPBz&hrA1Y(u9vNng!9=S9I_Fk;Oj%UjRY?A3LZ z)%E;?F6)fFIx#)(CH+t^%~^pr9QT+Itc+}rRQpv^y`D(3ks|l@U>vl)r@q#oo=aIs zEFY>j%Eb~K7b{5E$hk-(?&1>SHu5eCD7q-2%pAvfsum|FvkbTxo4eAF38D4SUSL$=DR_qRrw||M7;tH=X%Z3o z?#y3Clo2)IBCQ5jNoMf0^96AV#4CaQ!gqw^ ziTvVh@_Qung-+kn7^zvNa|TPk z$Fy3jGbhchQiEr*}dRPWDJQzNT%PY#}Ol__#Y(IhHG kz6w{F!DV)Hg&av()^DuYxXO1!{6a#cH}tr#@uz{+zjfA(0{{R3 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BasicCalculator.class b/leetcode/out/production/solution/BasicCalculator.class new file mode 100644 index 0000000000000000000000000000000000000000..e315d73a92dc5c957f55aa35deb5720a8b86585f GIT binary patch literal 1333 zcmZuwQE%H+6#i~v`=+kTvbJ8KBZWd&k|tXQj4+mxv1V+l=r(Puih!58o|kwSCvu!h zNW35+Bwly}sSlH?z2t>G@RCiNv`t6|2?_B-_y-fB`>va*X_=*aeb0B#`OZ1tvH$$< z!6N{taM8pV79@%$Qdlri!f~~oFj2-y6DHnP7w@R;U5Qf)c~7Du@xFku=!bq>6G-O^ zYXVxmb;A=lwBm=}apZ@MYGGMGxLkEEpG(=~8vnnmfZmB6_e+&1;pxVH zKpsL&WJF%48^k<>Nxkf$<2OQqBl|1+nAcm~$n`GxN}0(6&7V*;T6hVEsN;cpB~DxT0B0;zu_*DOg&NLU_z34LETL}U zJU(Wdduk2Jv2X!rNOvHWKz7gd%Em3vr4B>TuGW+$@WMviOomLI4Y%n;=jf{CmkZQ? zVvnTG8^?{kNI?3X^M1om-0FqT32Zt+*Sm6)(lYJ^nvt;G?J&*!@W6NLstyMXAlB1v zwW(nKg_jvWjMr33%);UquAUTxQkHv`R+(?Xx4v)>;@9N*Fn1#X(-`O3+I7GLCTa0o z#1ZZc7XKiP46(l-BK6rlq%Wmw>58UR^mN6rjbb0#9rTK}(T84)|$4= zp1iSM(R%on$Kp07bGA-=eL&EIPyG0PJXO(qxJo>~jhRyJK4c%6PfNBwIH|<79?JA6 zY$HF!m@D-$@&sldqs`iov0nSm5WSr>Tie3ubN}2gY)ONXVG}v-2Ah=p<1%r}RhF~wL(zPpT{W-XL^FbZ`#N;W~yKgc-4*_!yBoYNf4 z7=9!3G&{-SG5M#V;|)fuaqjxRN&h(_bI9zFQc4_?n3s4<@B#isUQA8RK1J~uXjrr^IxPUq<~xM1<_efPe5&pqe9Z@<5M1@Igz4kSDWCW~~!i7mL5cH&s1g*`eMla~C@(si_F9zml^)uKoPn(<;z`;F6 zf^mvgH@697(&yx@vs3n@C%d<@as#7cRzEX8#Y)FDHqqvgC8EZBJnfrd5&>ysh$>l; z#R5AGEpRsHM@$%~7rl>27Nq&MD!Y5va>H^h?*rD?TxojAXWikNuSe&0CgEXf;;M@usJ%fu)0Hk&q&#fRw76t{m62Zk;%C9Rw>j zdfwghe+w75WG6RH(HHia{(+SdZRPKnV zF$%_l`9b1(=lkv?Bg^zw1cgB~jXnQapheZLUD@ zCH^ILG*LyFkx_ajQ`)veZ3o9|0Sd3sPf@MN@M-Q}DA(***lOXn; zjv^#$dZ3Pm{kC!&vTZXnS92_BH>In6JRya5p|1!lwLNv^HFRI?4R7npw(Fi_^{Ulv zLbNY$PF&|qdxTJ~Rn1okqK3x65lw z0#jVa#{xtVV?>w^82|D;w-KE4=B}t@ilYat7c-?|Ms!M#NT&bl>%*Nl!l?>1P(3 z@C{Z2_Xtlj#ciWlNhq7|jH8=O^}Th9puvhQZodJ~c4M{ib1lK@g=s LgQv|iWnkeK&|hEZ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BestTimeBuySellStockIII.class b/leetcode/out/production/solution/BestTimeBuySellStockIII.class new file mode 100644 index 0000000000000000000000000000000000000000..d66e65dc315e3bd9277ac336fc077441889d2bfa GIT binary patch literal 882 zcmZ`%O-~b16g{sqZ{D;NDAf@wQx&Zds2N{?nCVBUrci%nto_ptgKl*wI;0|u2Adyeu zGOlQIRiR(unt=5nY=+T@fH5#QCtyBq)dGR;iLe<=Z8jEz_N>2Hrzbnns`~Xgza8rH zsnd*B!VQ7k#AvV)&4!I&bn|5;sMjk|tGZS$m+uQC8~%%#c55k&1mwVcd9W-XLN4ys zdONHJOpuu8$*2cS+D1rg)`KMy43bG}hs!HGG5jP?XC?BhYm@$ZEJGnHkgBvc+tpw! z)LPv$ctVuspt%vgZ>gQPe@hfugAeq--fAe$!j)HY#3c!>t7LjIXq+Zm{Wgd~KgOWw_(- z3rwyodHdmp-|&{YuS#AJl)_eZueiA&Fw}5gKIydTe#lbUV!1e96c9c?-o}2nLA1-V zHNRdb+#{>q@v9!QM#`EJcufH_(8Xz$wa?lPS`}@MmO{6>x9Yaf+KH7~-A>h8_I1PQ zi+gf*-52f%EZ8hvM95( ztYFJRR7KMt@iZlsbyr1Grj8IWY$#jj)scbAQT7%c>zbpfrwZp>;^^Q(ls$Ytuz0>p znHdVx&LM{|2BR$F60xLZaYUO#M=`-jmbXLe4u@aB7#@+ghH;c}88tHALgA43EB!sB z28(NxAICJ=3GRLvbBraJ`#CnKOfX{^&!|bT&SSI(JWH>WT)k?ICK%QK=ZN`}{C5WW zxI&-7F5Y00l_Yz4jjKc^(qzuUK0#avag3>BL{5;jVel1ypoI91(lLnw*GP>Z^ACEE Bo+1DM literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BestTimeBuySellStockWithCoolDown.class b/leetcode/out/production/solution/BestTimeBuySellStockWithCoolDown.class new file mode 100644 index 0000000000000000000000000000000000000000..c0fa615e2a176343c9bcdd1b76083fe9ed55a421 GIT binary patch literal 755 zcmah`O-~b16g_XgrxtS!$=3Fon|^k*}3qS zxN+mgmBs}>z_mZcwe`G#q)TRT@3~*+oqOl^zhCD7p5Q?S1_~zbsGk^Ta2IPPiY7_| zMk5#oNmD?rtnUkGThXB}Fy9G={_bSZ^W#0Y7c!IUM4lV&yKx}n%cPd{gRwxV)AGm3 zUNG=mle4ZLhTSCcPTmAbe=CZ@?dZesnSecTKfaEm_dz0{R}R|iZTe9hcqA9Z)+qK* z-}WYF)Rd-4tQ@eQjmgOQw0?orv~8}NxZcT*J4)503oQv`y3r)|{1<^#UA{_K_1Hai zvoK)^EJ|Dp-QiKKJxu%~KQ?hMi~A@GtX)MUurM2c)jRe*?s3wB1X`O>jb6~}4}U;>Ps>{=1c|3l+Ct@yoqHYTTc^d7=FHXU}!r)D_9q_iU+VzNKPSNQS{2xvnqZQ=**k8=}rlR z)1x;8l<8{O5a=zMwoz)_Uof2O`hrEvwqkWrw{GZ;DfOmNahJ@xz^>wX)7G8U>yBX* z?5a~{mZPs2PF=Sq1>)v+HfE%YGPuOcCP$0+^c6kVa7`;$H0v%i6sKBs1)}XB+AR85 z?8oSix~nfP3nT)rd1+#$^F(2ZH6Td0)45yOJx|u2C_Z$te~{1>(G-`F2y% z-|ZP^^_oYCigTQaKxE#m*t*+r$lT$dVBPB0#P^i3X4o;vb-3mj94*P2uQr@T@pB9Jj72uo)2`wdP|fgsc8tA%_=682Bzbmv z#!l?uv*rij7YtAn7{pFS$>jei70TIlgl@e+m{OtaC}p3c^D)%SI~?UNkQ1O}=;~xhQK^J8lF_UnScVPy*nHgfv84Qt&F!nJ%NsI5>|J8SZzG3=$pnODJ z#fXZ7(L@Sq+Cms*wXqg_af%iRe=W0t*gAR%J^rjIXGMv~mnG&63~UPZgLIa%#QhF^ zQe>VWCS~dA=l`YLKs=lIn|7bLKeK|$rllSQSi9`ad4Qb_lCKmey_-mfsO{xYxd6g|(G@g(+;7)YQ)2v8D;oy0Me0Ii*xLJDnQNCcr&?QUW}%)rDpvGF;JmTp3=)cPto!ag@1FbloPS^a@fUy@ z*eUd5+CU+N1g6tCf}=`&q{J};Gie;h(LNYBk-|xQth7&*C>kgkm=#FQx^*`w3-n}j zR|T}WMpX(7*lt}ege%L^zv3)=M0VJXisM~%d{@~WPz$cRErI>^8Mp5EYgc?JZMiDF zMZZd-@2pC{<#;85l-Gp?_GWG6xxh@NoPEPtbqZnNdIj5U1@zSdxzZHa9=o{|%22AS zdQ@F%lTXZVGy?YF%U0-7$;5b_i25zXS9E!s9zB)N7ufZ7Lu<{Arbc1`qQtYC>B=nP zWb9rgn0>eHIrUm$z8=V$^h;&_2^@MaPl0Vqfm6A8(P>6wHt?x|GIuG^x8&C9P7wNR zW^RiqzJE!nrAFvi%!o3g3~!75Fh!e=H<+DK1Sc@J$ZLQhxJT{i?yvVpeeO4V_ig`ZE&00FkWh~x?a`74; zRdznk-&jAxd-58q)P1*hJ-~<9#-FYFB*4;Kkry~KY16Nzu0q37b{3+PjiJJv$yENc15b!Z8EEsA=69lF4M+@_Kg z_!~wsY3VO8wBf8zS^7G9>22v&@+tbBBh|5KrT;<3(iEOKe9^G9 z1@0)*>};HUPq5o#M9TD=g9RIV@D)ZN z>9K+X_zt7^0b}@?-glA31LW`vS-)ZuzafuD9Icw(WoCGQ6r))DCs;;}afUfxP7Upe zDs3+@K3%d$u#Z#Sg*(h+p@;G(X0urJ1it4Q_d&-&vS)a<p5Hj&_-&UFIP& p4wHER#!K`Y7=MLf1KH?1{t^=ga$|%4V<^E)>X}TkqNzyBzX7WoS7ZPH literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BinaryTreeLevelOrderTraversalII.class b/leetcode/out/production/solution/BinaryTreeLevelOrderTraversalII.class new file mode 100644 index 0000000000000000000000000000000000000000..5959e5c476d86b86741ceecfd4ab785936f55386 GIT binary patch literal 1574 zcma)6U5^u07=BJW)7kCLe!+IN%PtFAr0s60@*&zT6~)uxJyyGJyBBTGQF`B~`Inupz(MPb)3Uv-3!apg z+?4LB*C5cdH>KCL-DxuFqJ_mm3{{$%yCE zKn7B|T48_5T|8}GyX|ulPj&;B!bAku&!}Hhcm6I(|3LJW=NP*Ec->zR>u{$Br2HrDpnky9;UUQl) z+YdYrv;03SzI;o`wRYguM#tX@-vR1cr|r6&FWbMG(RkjPZ1p*5`0B(rZK6b# z7k9VG{`y&j-axKi3KK*V?_3bpb>$_tuX|4OvX6rpr27^4vqM$fw{_&p(8C z5W4sBO!SPHqHOl%6sD;OynC2p-{U%kguw4GN{O`o1gV{1eKDTaw=on)T2Ci_!SEv_w=qJr(#$_Fk=8<~ zmr{wN1LJ7V*emiKCJH4Zt<};-Nn`0B|GBw%pWSLu6RvX#V3_@na6&VrXPU&!lbXYf z$RmYgoVdccWu#$Y2A^RLk`Ws?fUod6ZXknOjQ$o`+(8aM5Oo&|xQ7CMBDIRW^Q>?O zNoJVgA7uqi?87YiC2Opp7**07ZM@ntv4P}gLU9Th_9 F$iFQcVdnq< literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BinaryTreeLongestConsecutiveSequence.class b/leetcode/out/production/solution/BinaryTreeLongestConsecutiveSequence.class new file mode 100644 index 0000000000000000000000000000000000000000..077928be286af817d508b86a02dafe5060ea3012 GIT binary patch literal 894 zcma)(O>fgc5Qg84?YK#tCQVByGzAJJBn~tjxRsBHN=T8?_K>Pa#3n3>i)(}9L~!Sa zaO2WTMfng1u1NeS#Jf%)Jyw>+GrKeIJTv?I&ySw~9-x^;2J0DI!}Tl{a3e#rk;P5i z(r266+_q7*aYw-R!(gCBv4Cg`q#t^L7e5v-YV|__b0>VM1PUE5P0*YRA(x_69yyIAIIKAb=BLk3i@iBBD2=#ZUyqS zjxO9|Amz|$7ryI-u>s|R~*0^x4rrp-yXY1nU z>lY#1I+7FVz(L+d%|RVG2g_J>kVVdh>!5+V4(_4sU<+k|&5MW%6t!&Am%*U9-#b!$ zvMv0Zn0uc{Utn>bvn%x&#<6@SVAVLC-ifbXvCN9R!7#=KUpK>d7f5L|dIo)B(=IY< z@-O(e+;0%4bW$kLrjtVxMf%P(0ZS+`5*%}dRu?~q$$a2a;}rO*sq>8#ghScy!Fz06bHXZ<5GA5!8I zEc218J668K`U2DCWxAp>%om!4o;?rsj8m*?vX~{RmZ-f&DlZKX^|+jI7F?Y;Is{q^_zF@QPT37{Xz00NkiNNI0r z>_Zx}>c}W_R!O-4uH%NpO^I6q<~_IWw(bjP$(c0)eX;S>5g1%@>rSy<+jN?%_GXoq z@KU2Z*9A;1csL$xOKbvdbQ~|%l4jIYuBFGt?iX|ZC)Tyv-i51z(8_I z1r=Fjex|^3%|@fen4Xoj&%~@3RFp;t0pGexs5;M>U^LyWZQfF;EGZ!9^m|rM9aw4E zmFLU$3$Ig;?3{$f%w!jH*RB$dCkX^r8trDqdFU#pqvw&y?%2C_5J3zCaS@jVhLj;! zwd-5CLcQf|IZcVVAcheQBCd`YCWE+&QHk41$qU5J0~ZMO&`O&-PKEUR|A!@Tq32!Z zY!#6Lhl2^OwV#UybO_ZO&kNLYyajI~bqMi=f)9f{P0y$!L^;?Az!1XJ1UX&esgmcR zF&>bqv^a$Cfa2M7>7_?IA>DKaBZ4Rad}=ryAd!Qgc3?mK6J}UH(2oK|{_g6j^j8=e zV&@GdnwG9)bM^-&XSI}h6ew#MEn6zRr*V>>ZgXijC$CBf;)K!a6lc9w81Q&hDomGBL(_arop379l0ZB_<>iov%>qdavG0cMBg0 ztcI5i>kH{(<~Xlwc_U&(^iPOpB1SfEjzr9F=v(+;h|ed#M|#AfEDDy?SkS^aKVz6e z!XuMnYZh_&EZGpzPiZA_jUN8pc*p4VdF{sFJK<9?y>1hNy{bn4c#%`g_hI@U{Q|q( literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BinaryTreePaths.class b/leetcode/out/production/solution/BinaryTreePaths.class new file mode 100644 index 0000000000000000000000000000000000000000..390a2bb2d1e45bca4f14cbb5d09aace20f3d8377 GIT binary patch literal 1525 zcmaJ=>rN9<5dKctcFVF9C|55iC}Jrs1@Br!1wqkr(Go!ZEp&y2rEQk22`}I~_yqoy z#6Xn9za+kqiBZ3^TcosNHalm|oH;Y!d^6|!udm+#+`@u}C`MG=&=9~#7&kSv;FgNp z8bTP6;*N&9xEIF#dOSc{T1KUKD7Rx$JZivWJW(;OVnQG^YUM3=OrS0{uqdER6mq6O zQ^v}hv!(4-(^)W9ZCaw4!kS?(8jdCRWuxM5SUUnOnQ<#`IJ*muY0ew&#!i|MR!^G* zF2*v_VU`Kf1DQ?ZoslZJmYvF2J1#FMPNComXeUmz**p_yuJ!IX4QID_45_cmchuk8 zMt(h&bsa0eo*rYi#;j|sZOs@(uM!nc1?scbdfsqL4yzsh57sjxhBi#QXgUI^in~={ z(zReb(u*WbQtXjZ36+iY8a1h6N?_vb$o~XY8&77_vW1efW=>hMt!-7E8D>@fB<^7K|T>f~bBEgUCri`6>HLATAf1Riv(^$o6dMvnN} zEAjcorUzEg%hw&{!w2dhWLGHLxl3_nClHJuKEM|<1T<}{5emQ659`ER=6$`ld^Y+5CN*m zeT4bfe?T~@d_*v+(J=TK4g1jd(Kt&ra)eecO-IlZ$uDRQU}-Nd?TI8yl3J6eNv{0b z`dJf5uR?-@BsRhP4_MtetD7KaGh}RuoJlU@KBm95E|+U1&T_3%i(!DA^w8huUY;FS k-3ukSs3QKGd?+dgRU}A(iX;NGa_uYAF+_(HLj*AV2P`B@VE_OC literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BinaryTreePostorderTraversal.class b/leetcode/out/production/solution/BinaryTreePostorderTraversal.class new file mode 100644 index 0000000000000000000000000000000000000000..18997e006f0bc4011c0533737df3b1e8921d7515 GIT binary patch literal 1262 zcmaKrTTc^F5Xb+gw{6Qp3j$uaNL947Kt&NRt(Ci0mqG#|(YFIVl!c{R_d?Q-;wSJ` z6B0xc;wgja~&p9)5X6AQhX21RV_zA!yv?$_8DM&}*lly2C0i@b6 zhH<%MB523$C?;^H4ROI;1NS8r&n|*&)`pvtTP1W%#vV;X?jHz z-MtNAt?>9#{Y0n0QUhG_E=gJKEWH5^JAKkE>*9lp8C(Ai>| z7q4AG!Fo^A*QzHk7;d>N6X)u(!7JrVq2h?Lu(EjyFwk<(3z}>9}MM*yFlzPUp zc+GnTVXAnHyox87RxyKF1#>Fqu|RK7v52QCo}o`g0nZu2Ck<2a0)5oN^N^@X9*9@V z<&7P&Ne~^aY?3P0RCqwtWZhoat2#ArBwx`WR9$A;j@EPp~=pgya z=sSuTfaJJ|2(2-M2|iBP0|cI++)1)d5nY~`in!u&rs^yWPNE`xAMu81O8UvuM-iqm sh^s_BL{WQ5Q@17l+OCo9I@vl9_=&iJ8w!Tip%`(Sx*yD6#i~IWx5P4yGucfik23rDB{vu*|j~T>utTaP+^|X;; zFs{q+Jf%yI>O01sk#cO)O6g|JrYnl5RBVP|D~PBHUUMw6cKsXgtJy~36{Tu(E%4V4 zC#->!)a%t_`Xg<@GH<4#TSmE*%9U+i;v$_TfT6ZH7c|qNCHJi?5ISP#GWd_DrQsQ(4ACfJLe29~3#x6(D|MquQ1 z_{tW|Kb~uD*ony!fKe>|2VQ2k_!jZ@Rx4HNV7wioNrJ&A%+j`vVMOS4ls^xM4SMM8 zB`rmgk@O`Fz}~y=J~}&GV+Z=_S!)Df0Ov?!IFAbiA}{|SsgPVfg6G8nyvs*WNc!^Q zhv;B<12y>-Q}mCGCl8@|FqYhh{{sSt2zv0Gl#u@R_jiic7(SzOA7RqJjJ+dF1(L^g z1n3OF5BW6-VTjla)5jr>Fs7-bER~X{NXawN;L_wttZ)%g;_Ig!8Kj#YLYToNT!t4h niXR|L!#DibcZGac$rpz56J085#k{mcZ1O4?$hWWCB7ud literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BinaryTreeRightSideView.class b/leetcode/out/production/solution/BinaryTreeRightSideView.class new file mode 100644 index 0000000000000000000000000000000000000000..29f7f37be472a39b3cf2bc65928384a95c96c885 GIT binary patch literal 1362 zcmaJ=Sx*yD6#j0RcAyN4ibAC>AYu!}g5uU9F1UcHMXkXl@nN7>7%0;^ouWLLkZ59J z_yhXno3EOfD4H0bH1Q`Hx9?61j1Snf=bn4cced}Ie*gXPGk{@S38NVa9RpzmkZ8nV zB$XIcVo1l42Ix4d#IO>_!Z?l-jW~&$TlKpQLOr9ex@vSqfi zI4zx<=5&FU?U~|?S(q{%OWkWm&7HH#0+Gyl%Ql_mn~sz>tl2p?XXWLTB_E~*njF7D zAR5akSe9kd@yxurWF{-FRY+#6vP-z;%EgkvHlOEuMOLJ8*FN++#w zO*z+`S-5JJJdSjvb&T*K1R8SItZlj#hs_NAhlQ;YhjYb>Gb1lq>N%oYFn(AuYM=$J z0&RYF?FE@vZL=E#r!i{a49*%jhw}pU>n~zp44nopC~*;&bX+ztjtLGS(7r`QlJ3>< zh?tz7mosF!*Lyhq*D{%;5--qdc{ z+L_V@`q!WZaBE-JjD)jU2z3y|-W=dp|_qAli_oWsLJ&!*1M0 zCnWa5CgL&nV}+zWK{uYE2hY*#WgF+bEBtjJLXOhNFs>6p#R0P^ev}rajVp+!*u#7Q z)>vZB2J{}%!FC>sC( literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BinaryTreeUpsideDown.class b/leetcode/out/production/solution/BinaryTreeUpsideDown.class new file mode 100644 index 0000000000000000000000000000000000000000..da10b3df1010c789691c619799977b2e31db0c42 GIT binary patch literal 605 zcmZut%Q6E|5IuJ?$uOB99`Sy}N{o^PR+I(GDyZ_>-^3-Cm{DUw`4oRal}D9@B~?C3 zId_CuSlsT@XS(~G>5tEsR{)Eca*;uy6N4CXk;bq=BMwF#j0t2`bfDu^fz(XtP{3Xf zkCZ@nMF(oTd0th~zN|LL^j5-}Y#ho+o4Q5Xaa~^u6e?>vkkQS4q}0L1r9M&{;dQVq z(BJ&6+8yklshHMnN-dY#km^ww#scnN&I#1@ZbIkwVp%)ek{2y?cQ0&4HMOaYzu~q( z+rs>*ypkRqbT}CIFoC>>E_8dCM4s;c8xiO+L*<4HPRcvgQ&pp(jvu?U*igr0(vd!? z$0+ii86Fw1AdC)UC#y2EU{23IL)<5yUB*m83S^1B?*`@^D`9*wn&De6OEE9`Z*ctw zSno*tce4gPA+=>PpZ%C5%YTIJ3sW%Ib9Wp}!H7-M4fwKLnqw?bsz_9#)I7x&(32RM f`W9;$p)C14trU2rULp&9++)Mant$piwlMGoWY=^9 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BinaryTreeVerticalOrderTraversal.class b/leetcode/out/production/solution/BinaryTreeVerticalOrderTraversal.class new file mode 100644 index 0000000000000000000000000000000000000000..a286345bcdbbdda6e3917cfd6b52209d3d16aade GIT binary patch literal 2256 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 NPSe=W`7(!#{{h$NA4>oL literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BombEnemy.class b/leetcode/out/production/solution/BombEnemy.class new file mode 100644 index 0000000000000000000000000000000000000000..5c4bb348ac333c80b0b6d580fc534e5af0e177d1 GIT binary patch literal 1043 zcmaJ;O-~b16g{u=W?D)M1sPG95n50SHK4U&p}<0d2?}b0!5EBj+D>4gAEp)~i7P|m zPcX)X#F(&=1XmarEL@uS3)J{O42b7V#}XEr%)EErefOPv&$(ZIf7%6*!$1@|tSBVx zC{Cj{jJ`0E0>+qE@#+%-T6%C^Ku%VRu0Z>YS8;Eymh*1yj*~Aj(m7KtIHh@~=BaZK zl=UU=u|Vt0)oM9ERdLH}R|FDe=jjcvRC0?d;<-#P(hCcdgVO?HnZMdSmRhWNMb_mN zS3VMm&()p6%B=G!;E%5y<%uYs>1m&7ML;i9S1Waa=v;NRR&cL*s?oM)FT=~u6DI}( z;TVpiJB(BeUFa8RX{NASl{8XvDvKkx^2=_4bZv*BS*O0lI%!oCNt&nAOh5xQAtAYlz3Oq^rv zGV7~;6prH@+L53riBWVAX{wK)M}<0Zj9rHKs*ATFn7r?Vz7HwH9wMUe7j%BSp}h?~ z;w4!O=514jEsLYNslP@lV`WV}m$>@|-2t51fI$)K`oZSGPg_1zi4D#FOQzg!)*-8@ zXYGKs0gtd+0V{n>W&WK?&L5^c^zb@0!gr$sCy4v$!dd!ro+_uP^ERV%#P`sH3M{O_ z#xvsQ=))_z{SGN?5^v#*@AZ97CV~OJO3U&YjPLdsQt mVj4Z(!b!%YKa+mM_Bjq=a~OLZPBPg4o_p1h1Wu74gq}Z{sIKGy literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BulbSwitcher.class b/leetcode/out/production/solution/BulbSwitcher.class new file mode 100644 index 0000000000000000000000000000000000000000..e961883cab0c790381a23ca69edc801ed2120531 GIT binary patch literal 787 zcmZWn&rcI!5Ph@zZ5Or+1!MtPi@z?dAvCDz1=IM05HYQi7CGpJZCUBo+G^SAKVag` zyBzh<3l~osV?22D>|a9+_3gGo6PtcB-@Nb5%$sR{oqYQN;3lqGP;f0=K-$ETiHm~7 zt)LZz1%aN)?g-Sq_MR_D6@!-lu=}FwcecH1lgLc5UGthdUMGm+A*jN7a3Gj0-t9K4 zl{Z0HtNWcbfmJkk7nm7^97z!81;44+yZ3j4>M% zM55$1vNd|sefJgG`y*aQ)2%ptZa^8PlZ;8ESb#(PDm2*|7SYVq{kzz z#PU<@G{s)$sK?=G^Rx@x&Uvh25x04NKx_+3vGxL)E_XCd#RktE%+N-AET7I(9?oOo zKC8}hS{oaznquEMG9P0+ae^@u^CEwcls;MfVHYGu_(zF+pTtp6j~|Qw;hM-XlE)My JlpL*l@h?F-b?yKF literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/BurstBalloons.class b/leetcode/out/production/solution/BurstBalloons.class new file mode 100644 index 0000000000000000000000000000000000000000..221114e7e50ab88d8e7c2367bd1948d844a1d103 GIT binary patch literal 1040 zcmZ`%OHUI~7(I99&P*u|g{Y(f0Co)eYlT zQU+zW7Ix3ntF>Up_Pk2PuiX%cZP<@zE3VI?mR^|~o#R<-#)7_Z$>;bbW@~|64H$Wj zPj)j6O}o`@*ET&Y)!&K)-z z`_yFFb^DQ>fPq*7=W)S6I)PD)5&cw~Kr(Ec@N9o=Vrg~VDRRQjKdA*fD043E7_Jwx zVwl3})EZDBLIT=0MiV>*Pi^c7;vF3Yaauh}#?Veb(QM$^!H7iYqUB}rg`gqG`%L3C zH1#mkxM^9RpeTznCrxSX;f0#hOwE)9S+aKVwB_b>Q_C5qVd{G*XG|kImN7M1I)YlJ zr^`a<c0w6qu#VxGxh;;Y0D4?Coi`& z+9z9*c70r(vWRua!PRKl86@eqbD2>3F6NR*@##l5(l~=j^k5n$^5{hceRzhm*k*2r z^#k_3g%t^PpJL>3JGvdib$G0&h&YK&qNFJ5AfEGHicCFtMZ^?jC|^t3(Ca0>-~?~T zk>blpVISu>iHZSsK0v#1jD#?ti0_DrALtX}gj8(?ECYj4LGXt#jepaM5cmFD`HF#W z(D)}WzrN;6MuCw^tfaM#HY?NEfhG?#)?fN{M)e_1JD#(?Kd{Q%0!F5bKEy!*~Q_uT2XbNhUO}m~O%m_p?Ln{KxTxHV{XfL>)vsl~NaQtO!qf8`G zsMuC{#qwQw{tYTY$*l@>7UnE(*7q%M%UP}Xo7E{Y*k>VuRA#-fZS7h4GV}7qz<0f^ zsiEfr>Pz`XpzDHr>Z&>c?;1~Qfm_bcTh&t030Nd`R@AHAKf(r^)2Ew@&yYeZIptl) z7nsU4CtM(?nKtEQI z^fg|r)O_1{;>!7TpBvGL9EE{4T;lw~v7GkSz!mfxcz|&O4>3Wp1|DJ3z?4L$F=5~_ zCOGADtO6bXM!dAK?bw{%DX1}Zx>9vtQxw0s1%a4d@dC^BXkqfS361xmy_#LJ{8@4- znT4S_POa>CTS18o)+XK6d}pV!=U{-}y}|zj5CuKQC9dr}<+%&)s(A?UkwF9Pc8F*}nAuNI4hTg<8u@<$E5}G8sZxz}?maxk zpraRQl3nIWmT4e;j9R44%$8+NpfD4#b9JcMqkX8#L3VNYXk3Yot4TGfyvM?DQXQSt za%rs&?H$I}85xCvH)uY|Z4m0Zig5uF*Y;#dSvVXNT=dlkKqG$lrDw oNFUoA;B7Co)?>tU+z{d?ayo7%en9&U6}NaB!EM@dCyWMv0b73vivR!s literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/CloneGraph.class b/leetcode/out/production/solution/CloneGraph.class new file mode 100644 index 0000000000000000000000000000000000000000..dc5b0da0d260a30b884bb6ced2ba4506619d3157 GIT binary patch literal 2312 zcmb7ETW=dx5dMyD>)4x%b1`**mQrXO+ev6?A&E=U;x-rRxU^}Lrd-$dVsGoLjbj6S z<_U>6c%d&mp(3G3L4rh~65p+~G+f5l!E+^H$Z&)y%wOkzs`7Xh$vM z+fMwUBd(L3(b9K~PmGCr%_>bS8I>c!{kCZpirI2i!SCcqW2yCVZ*t;X<`u$^7k$5S zPw+?Wmj~LEXzWBX^I%9U9qM4Yw4!maT$q)aq5TUHCtBK2_AC2oJWJbyh*y z9E5dYWuUFX1!JQqyeeq6`Kk0z!TWLDtaA^y*>Py@nfbJ}QKRW>+eH)LsS;KgYeQ&3 zcLteB^5JmkIo2G&<#N56Gv_QB+}_mTG>%K7bqwQKg;1;M&FplX#LF61bgbgGjy2pN z3ms-x$2)jeP~Ow=K0eU#Aq)*!9XaILNF63V(osNBhlSe;gRMxdDsunQB{vUmAv`1D!;i#4-q)MS9WTS{k&gSoO@Gc0@Ks(D{wDB9qz4JSFudfWw* zfTug%KIy1ov^ z8opHPu;y^IiRd^Sa3Nz^G&VBkXSC*DjAeRk=P-C+-%bN$qM{un=zxS9hG>A$1*h;5VO%nmTnVSVg!9q65dR%swUvnP!t25}=n={1 z!f(*F9zk1+{{;UIx-yCQ*e(KYtWpu&g|0B|iFkI=t>|=0q#h+s)7~)}#3J4V)7wR_ z3#$+J{~VJ0iY3D|amJKfDF3!6IHGS~-2LHhc4PzR{|Dx>#wJye0ICH?X+F_h7 z>NgwIG}&JI4;$O)TYZEO8__RJ#J4f98u4sn@B!+w4>@EcBHnF;Mf63yhs@#!|(ySKR?|6qK)7=k_D3BBV|3LWte52 zBn2^2a0cU;V$ms=-iyx45$iD$UZO%L7`{`xUN7|6V z9fxR{pv}XEY&ILxgKvp@j>Hb*D|$B?@;P2(1dr1inb3ySB&8VSZi;u(q)GUEdx&Y6 jcG{HOL(~zZWq)Ie@;*n#tKov9Zdyqj72cq~3p4)$5;6>H literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ClosestBinarySearchTreeValue.class b/leetcode/out/production/solution/ClosestBinarySearchTreeValue.class new file mode 100644 index 0000000000000000000000000000000000000000..2d4db899e0bf33a50ee9729ffe35d54647281256 GIT binary patch literal 849 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 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/Codec.class b/leetcode/out/production/solution/Codec.class new file mode 100644 index 0000000000000000000000000000000000000000..4cecd97e5ab01ca03cf88890cdb047632d2d8141 GIT binary patch literal 4081 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 Q|KN6H-#qOraw&$=e+X=&3;+NC literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/CombinationSumII.class b/leetcode/out/production/solution/CombinationSumII.class new file mode 100644 index 0000000000000000000000000000000000000000..47d0e5ddc54742169c619de3853e07b3fa0a8531 GIT binary patch literal 1556 zcma)6+fvg|6kVrH8YmGJO;r%@mtJTq-nEFAsxzHIoe@VzeK9lTzryiB zeeqSE5S{S@{1N{`T{|fP)dz+lIeTaA%UXM%{`mFvJAjk8mW7FefnpXZ6tXB`B#SeTLPTVc~=WH+DPuxC4iY5rSqqit`fV$y7Ovegco?sZQV#OmIGiVWJsCiE+8 zUpw^Rnd`{t4V*D?7UxXt!+rstH&8P%h6@J9O*T-{qFp9#aUx9ZcROP zo3bOTg)WDo{el~%&9y?2l#+MIIe9?zV)w0OM|==w&Td+CLwDo)d~+3 zwyxIi?2v*nZ~JZc)?vpJaR{)8lHk|GX?zcVL+bt#(l<+ApcPBy zj=4L%1ik#3fOMR6AO`oM2l6Y^haoYz6I_& zN!-QKNZHcFvAVVd(1IbyU&6+ym7?;Blx`u#Hr?!<|hTFm=2 z^#)Hm*=ESHk3tSo#v!sgK&}VLag?4qJ-5j|Ae&cYBif87JpO94@K>9KSdo;lWERmz sPNJ8LWFgL~$9ms6> zxEDhnOVTRH&wUjSR6G=ju30V1DGG!$*)0KOz1=Vc#>-aA+;E#Uv-8HN+4M}6+jYa< zGCG#r2TsM=vAP0R%IocB&1xBr)oxYXW~o%tiBa!yE(=U&N~LUh*Elc=u4CDSvek7M zDE9c4__j!=V|HEJ5ttZ^OY~Csynjk#wJ&z<;=OIOwhN_}V{V%ry~sykxMFRSw%cKa z`UUJRj}+Z8?R~Q&ut1o;{CfYstA8;G*4fpBlnBy%R;q3&% z5K<$4$G9tS63m=-$58U$`7`VRj&TJ!43WiELQ3GAe>eap4B|+5$&!poFv$@A&CnmlHO5OKz9&Ub znw}7@^JQ0kLLvf{lz?jb5HqPmOnYpS zx#-h7E4g}Bay2NKHA@_+aFvJ&L_8U!Fn*Mj!H>GdsN1v^gpz6?%^k`$PhSWN F{{UD7Gn4=T literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/CombinationSumIV.class b/leetcode/out/production/solution/CombinationSumIV.class new file mode 100644 index 0000000000000000000000000000000000000000..2503bce134d36589fc0cc381edf37d2d8da5dbe7 GIT binary patch literal 691 zcmZ8d!D&Q3wij?si|Jd|e;dJN+I`+e$ zH=DNmk2zxWAGblP>TbJTYtt&2O$7wMgilK%4oU42+p&)Jy_jfxB(Ttn_2}@WK1%Eq ziVQ7~?S->w$qk&aj#`cx8??cPT&?^F)Gp zft8mS#8bM%{Mjy!IlfD#t5jv^jm37c^6 zg1AF|2jwKy7S-#xO>G_-_FC-alO+tU{)NfO7nA=Ra7v!bvGEEw$)!0FScUZ$iwd{I cISS?we^3$^)LIH9Lzox%&6Nszne~?c0m}||U;qFB literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/Combinations.class b/leetcode/out/production/solution/Combinations.class new file mode 100644 index 0000000000000000000000000000000000000000..294c2f3e99acb0c876043be937efa95a57768d09 GIT binary patch literal 1424 zcma)5T~E_s6n@^WU15}u!HUie6&2j3Fh5X`A&DU|Su)`Q!=hJqTZKZ|NY|0zA2IRT zA0StVCjJ2blg8(5>llLz(zHG2yyxS2&N=VzzdwEfSis8!hA^w+egX<+6G$K@rTh>I zc#yzD%t>ipeu_FC>3A#d%d$?v%R-g&820$(yCkT zmgPB8kBq9nF%n$xs=r`2qi1oV2KGc1)Wm-Cff>(DB8e8(+ToVHH~(d1j^ zyGI0`-R`))z}Q7U^}zCX1SZcHKRWmiV6iV`<#OG%n%l*4)3>*6ue8cXVCG7m0)v~* zHi>mSk||w6=IRw^8QoX3)UTK2479dydF;pVrf=2v-dG1ww`&&@T(x>%ohYoYEkW_b zW~<}X?bnVRda`$}^Kyy?3=9iQoK5tV=UGQ`tOh1^C^-jtkqkSGAMQQNiaq@B+7pj~UZF0I_Fl5EY$SzTF@TWd8M0%jD_lc$t_PyA=u zqv>-u4=uN2Z+zrd<^Hecxkm63w4G06&l|xN<$CV74yl^w-9xw~O!Jxz@%jNVkRFEl z9idj_U+}LLP9TmcC>Z589vD@OQ8q#cBr#5nT}6ssGWaw7H2$Z4LV0(B*n0F|RtuTz zTv}C6pw4}xLo7%-4wbTw0X|6#B125Fz(SZLD!_CwF&Pw{!Zk_?{Y_j)nt76hbAyt~ zX!M+AyJu58yU8;JxA=0{5!gSh9H+gS{esk-M4Bc(?G$kZ)nil3e1&?PR!!|Y^w3BW zYJ)UPP5nS7X+EbIVB;I77-UdLGCGyLQv;d>(gOPFED?U0mMvN& z{nZdwmwvTNzZ%ge=!m|QLi$pgW&^ZtBSJ6Ph|o(m;!c1{G2>B7?y{}-Xj3rr4~_0A A$p8QV literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.class b/leetcode/out/production/solution/ConstructBinaryTreeFromInorderAndPostorderTraversal.class new file mode 100644 index 0000000000000000000000000000000000000000..07cacf2cc2ead84b6543aedf3358b76bf9efa89c GIT binary patch literal 1065 zcmbVKT~8B16g|`KcDHNGmn>K)75pr1r4I@kBqmBEX{=xZAu+tL?JlrbcFA^2^v$IH z3?I}NUh%<@Xu=QhXZSNr{5UfdgRf+hyLZk#_srZg^ZobN69D&c$AXD#77ScBaKl0p zH`5HaWVmghXkc0(wcrPS{74{KoL(2u7DLw)=&$>Mx7^ulc+r~EXb~BzhfSxo?nJ&^ z_dqS)@!JBk^~Eq~$5E#lKk)-6db1XJ-cl6q)q*f`z36e^z6jf~%GV<2z>C^W>!Cop z(eYcZBnu1_H)AGAk^9(E-{%N~FVxva({+WirFxfToYyWo$UqFz`&ehn7VgcO` zo(68OxrZ52NTIB{-fK=Bg(1n-`Q5W*H(xz>_ItBht6?Woqx%R;;O8ZFyVLjL6^Ki7~|& zVe*B5?|{z0V!Xsvm4Cs%UOI;O%p`#fV@iPnS>~Bj0{YO;6}QA7qilXg(Io%bQaM>Z zsU#~W$4DFzI4`0pk;zkHPlPQP!eu3##W1r3KN@r@ELM2JG-A;XkE{+m& zMt;t;O@f88ZO-I0JEgfZA4oChj6TZ2shqbBLOMTV zGw<@WU!Y6eHnhzNRgt(Fa?F2bba92%gu-&nq`O^ZkfyRRV!F!4nWeaE jMD(U?x>^VjC{^Y-S;#7b z4;xEybePC)J9!yIp8T*beScZT`){Nl%Z@MWky7i@JM!hB7d{oRTiqb+q=f<_#m)L= zz0^p(74By`doXAf$ZXaHte`(aV4THume>DpSW7&a2ng1j?0*$?RO29Q1d)nRcl`Gx z9QqLn%Q$9_b8-0)JKB4%y@LTwXD#l^w!a*thgi5I*Xpi!w6!)u`zZP!*?yMCKY^kQB8$k5-SXUJfCC&3IKL6(mK{Pny&9Lg*7 zYSe<-DEA<~(#Rl3X{w;W5ba#Q09P?gk1H`snKrL-q((hju4t7ry)&oHQTC8IVesN0 zT@9M<7Y_!p4P&^bhL2*LR)!xB)E_QN3MCK~CcnTCC$6z*xt42w#zbCst!kxE{RHzE z_D4$`|M|(3(OJxXhxU${9`q-6-Y!=Pdb8kWo9r-LOJO^Op%RSh&B=6>-gHfZK82aL zQ{7_n-C{L<_V zTIty$#adTZo-spNH))yN-Nr3i7WceBfmW8=9udJ5@!V#m4c+<$O^h2n*fawf%=`sn Cr@r$5 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ContainerWithMostWater.class b/leetcode/out/production/solution/ContainerWithMostWater.class new file mode 100644 index 0000000000000000000000000000000000000000..62616bdb073fbea7718a451b92e38b0d8beafb6f GIT binary patch literal 616 zcmZutK~EDw7=5!l?aI19sT5IKgv0}-vGve!&_ZHJOq#TMz`%jiv>n;OvTK&X_yhPQ zT)24gWaEJ!;MJ2q#S8UK*~ANT_~y;~=6&zY{JQ;l1E7t~5CyD;c!H;{tOckBs0kE1 zCNXwTz~8DL3dsF*qy-jxCeiOM&IUUBpax?y8i zjE(#0xjj-=XRif$qF*(qXJWS^+^=$jnJhT#WS{@Q%s)lnBfpST+3A zSD$mM@F2a&hWf2>Vb<>VYo4kvDnb!Kfb|H^un}Py8v-l$-xnx3MQf~*lh*sesU9-S z!hfo-Z0z!w#KrG2J~kowk8XKja0ILmcxrJM+zZ=3AimGqbF9S~86YH%?k?aV5s2rp z!0N=4d}znt_4gV#aO_M;}uqBS=xMr#11Fp_>acrxq-zAGcIE->l-+Y~T!n~nS{0TJ?VkS-kV5+K!S zrOV6-9#wOT*U10JoIrAX#R5+5)WnFUu5MbFoemaY@hPZJgHVnb z)2yn@g4rw_Kzxd~ZN^00w2$}qjMXF7D=icw$bI$iWcjnWtcgFz6vFO1$45=9Qz=0tT z+z80oEfphjF)9~hD#ksim)rH2ki(>k+bX66+%smzv_b+-pMOxfs~%v2t+cLv0>yHE=>L-^pq*2S;eu=x!7h*TF+Ht z3YM7)+|ze9@9R0nw4b)Qmn&Nh7E4qgpQ%x`h7@Aj#uZCXY_o(7&StZ_0-gWh8>Pn` z!#eA6#ju#n_m>r_wXB4Kyfp#OO16+s7)z$Sh0Yp{9+th+(1d1z7Q2ttkQ(k_T0;;s z<=yHoYnVky!(GgkcPp`UrC}an4GRbprAB3e=97C{j&B(WGON3Ks$eWX;a&J5{u=#c zb2emiu9x~?`zb~TtIwAtfjTo|t;(c~^!fP`ICBNYPt}O8D)+yP?!1xC?lPaZMh^S6 z)RRf{qLH7L{5io-0?iy-xC-zo_;d{%LcHO`fmV)gTU61;xmG-Y^YC)TR-l8U4F1Yw zZa!m2a6CMOGv=IByvpG5OUw=pdX?d~P!8aF5BIdI%k>d0UZu-*05#eD3NB^8e8j8R z=jzs;DdP3-56*pNRBRW0sN>wjv4Lw1eS{bz#suvzQHxTQ4nuU&hkkUT3oh#OxPXhy zL1!h`a@LJYHc1RU+;uSP5-#Hk8G3nAQWljyDp#qr!ub;oD*D9__*Go{MsnVCh5idG zxOgsngnH6@PUuIxO1JX(1==KHcT!0fJJGOKMm~V{T(-a_{(OeGolZJfzmptY7@*rJ zx}T;tN5_(Q+~%C9aE2?K;R!iT4+Tyy AQUCw| literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ContainsDuplicateIII.class b/leetcode/out/production/solution/ContainsDuplicateIII.class new file mode 100644 index 0000000000000000000000000000000000000000..e3a3e9f48c41e993e84e7be40ac8efd20277a6ef GIT binary patch literal 2073 zcma)7-A`L(9Dd&RoPHi;Kq(es8zR`k27+@SAUK$eb_H}GxPc$1?HQcW4{T3~GhQrF zc4cg>QdNbUXOs|YFUg#g-mEnId%jSIE(^ASH#y0P-zxQ{3-_LW>U;nxH z0Kh4vd}zX$8?XD|z?cs%oRQkN8x!(!R$ktaVp588QcSrKRiE&4jTzjC`A{n(gE;R; z9Me+FNHHtLn{K@2#svY_h?zC5Q2}Q-vLK*L1MWYwz!@)le%R@qtRi3)@0c}W9a$B)idc#u3%Ms1l-{z zIz}!Dh%8Txhv|;Qujm_kZ(7f;^u}}96($lZJSI<+EoO@udO4P;i!~mL%@+*HhEibB zGSj{DdBd19EXD@+cYbw!xBHHR?jui^9%X`>IZIEjP3!CS)Wn1!2>4eFYrL3TGpuMz zKn=%Y5%%xg(9;6Gg#BR7{Fs|N`kzbaXRMh`86Pn=qp!==+tb@auqNyG?YA80@nFwx z%(02NTrr8_L`VY zTrrYFyk@U!W+kDx{-QB^nOq3RB2O=d&y$9kHnU_?XSnKVDcx{&K-nbVO_PEPGOhiN z5M%XnI+x>EPCZ5B8xKoFMk@syeZE%YsVi?}avRLx-zCF&<0>wMDNHi&%dF$n`;IG=X4e>n{2cDyJ*+vgqsB0w$wBjgl0>^NilEGq?em>f6 z+=t`hHk?C>^R(Kic0agk>p2!cjnS6*mU=a6C+r!HvnG8iy?O8or;)vR zaGIKv`alKAd;Bx-@Yzm_a+6#C3aWGKK57Z-kt$Gs>9SF6-Sp|(sH=c`7xfN&xr?OF zARJ{=hwU%%En6ELAjSmNXx-cc-=|lF*xn^W#oJD^FN6WM(GCnau}CJ|M4N0-GU8y1 zjSiFuGEha3Ns$kdkG%OpqpcyyS-8 XjS=w(ol1ZILkvo82)xE292or<@6fSJ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ConvertSortedArrayToBinarySearchTree.class b/leetcode/out/production/solution/ConvertSortedArrayToBinarySearchTree.class new file mode 100644 index 0000000000000000000000000000000000000000..719776109579f2279fbd422bf5745d4b6fb5151f GIT binary patch literal 810 zcma)3U2hUW6g|VvvaoJjT15q+wYFA1OnEUTDmKw3CL~xNAWckPI>1=A!mb&XCjB}7 zgZf~In)C z2ag5PO+WCXJprpyJrt1p;Xn(lwEaLIOvgQKx~ex~Wvw0d)#y+eKgNrqjE4S1V5hww z24~ttozO&j@WvQ*-VNXSfimYEtxSK|HCn$C$W5*dbh-k|m7`X*9rq8Y%o!O>$K*^M zwK&ga>w4RsM9M@0f^AC&1IDq>C`}l$>|Ui>>O`vl`MvtGu}=kj4!{2mGe5{Ms4^Y%rYDIyC;@1;3eQ2Xe6U3M$Bt8x>EnAT_%NF$qsjoFr zn`q*zi9f?9|AZfBwovL@vzvSG+_`h^Id|sApD*74+{Zl&7M3lfaXpO{+(@FR{Y?u7 zZl!5T+LV*1B;g1o9(W@!To;I!${hh?)9)*RGfi)#T6-_LDrn2@kePE$zbA(s8F+d< zO&a0A8w(VhoBn8`g3$GYQ1zSMIBfeH-be;-TqT3vpdBc+M%3}~eYY);D>Zd>i%r+c zOUgq^<7CiL`MFwvCIpL=YP_WCc<)U>mEb>x$bp?qJczT`UT$ zoB&&3L8I4)aRT-3 zjgN>k$VLIyJFX5OqgH8T2yBtuM3=5b z@Ly!BU@0iL%));l`b$b_JntnSicMzj$GKmz@ky6sw5A3n;*4V>0;Vy;j4#GTT0Sh^ z^SHyrKIF>z0aE$T2vxqqc*Z~;BfKsxSvW!{Z%Nuhxj+1+iD^aTZ4MAuj#(d49Klot zUS$4MItE3``ASX+4PX~6$)b{?t5^g_bRs%jm;K=nCGn9x8SER_Vz1!fCP$v)f01aC zQ>}5D6z9pXUgTNa#~iAd#~v2&oGc#}0wnMjOL&K6y@y?`kx(Z`^+hUNVkEiHG%hm= zAqRULImqfrs_l$7r=ofC1a|oeE$AoqaEnSx&m!|KCQcEG;K~V7rw|OD@*c8cM37*} WOV{a75I;kFgy}Rx;U!W-xcVD9UbQCx literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/CountAndSay.class b/leetcode/out/production/solution/CountAndSay.class new file mode 100644 index 0000000000000000000000000000000000000000..be4752b6557ee1b0a631f6fd4789a839fa54f95e GIT binary patch literal 1398 zcmaJ=OHUI~7(KW1Ds`YxC?bg911xP7pD2P=sG`-Pi8Uy3VW!g&M$43xsnM;$n7CoB zE29e*Zgf+KMt^`m$EAtlnJLmL#KnDm_k53YzI(s@`t%jRDP%)vLL!J{2w@!2a5MxN zi4cZy%$tq}aYDn%5Rs=t7{M9Oc-F&=deb=#V*={9?bvQgK#C2`2*~MD!4e2(ZO6J% zS;$-E+eW@fOC(z|jpB?^w!QPFQFiC;C4uH_x>Rx838#=Vo-*bxvwjqa#xg_MhsI-L zxM(W52-e ze<^MzV9h$tBcG4D z{N-O0l$|VE&YU~%capNI=Dbm!pinaPC%3kG#*E`ya~3&kkBwr*y7@q$^Y12YA}CIK z-7U?4hUt2aU9ohd)>}7pP#=`a3kLI!?$Drn4Q;6L9&3!V^)^&vanW)L0!MZTvfZQJ z%b;8Oqen+f@Mu86Q^%?+Cbn?WG zql>fW{ETRsYgZ&Nt)zN;-XR=Mu0fh!mc;7D_v8oONq)ReDBR0DDF`uoE7wj0{rGX( z6&ADy-MnYC%}m~|hcv3L!bD;I05e&*6I-%MplVf`3!k>4a&5X zl15}{M2RYiD%7{Q6_sD3H4#;+&{FbyfOYr7puH3-$;E(Lx!*X!dDGNUI$K6eB^Rrzy-B zso$j__enob%sl$AK%y^k(3dRbOXwlGePLI&BwO)?63p-d2Z#bH90mTz^h?NEq{|z8y8K3|F literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/CountCompleteTreeNodes.class b/leetcode/out/production/solution/CountCompleteTreeNodes.class new file mode 100644 index 0000000000000000000000000000000000000000..2dd0420535596e4892537dd613ba86ccab73b696 GIT binary patch literal 661 zcmZutyG|QX5IwVd?Zq2A*bXm)iFqgz4+$5c2?RHmkWdUMK-5_;7g)0FqGcWN0ench zG&GSAky4~gkx$?+Xd^^8cY#1bGjrz5>&*PQ`S}aLBBosAFc)(_$lkW=MUKY5%$z+kBG}C#=EzhoTS(GhvA6arq9H(@l-lY>(<&t1;pSZM{ zdj98i?msGv2? zm#{e&ShrW~*8GyHsoyBq)H$prb!y4Ce^*aQo1|^X`uJBARQ*KloT<5aR$oAUGQc+A zj00^L5u=&n1{5Yx;{^+t!dpz^9o}TZTFg7BqKpb_>i-c1-HSD-%B=9}4}9bRy}}y5 eIlvu5+%b&Y4IB{%!+%k^hII#Awu~@sp>_)fcYBin literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/CountNumberWithUniqueDigits.class b/leetcode/out/production/solution/CountNumberWithUniqueDigits.class new file mode 100644 index 0000000000000000000000000000000000000000..aa01024fb14b55d79b275f8b990981fe7dabf961 GIT binary patch literal 583 zcmaJ-%}x_h7(HL-PR9xH1+-I=9va?}4oC*z}7 ze@&xz`dBB6Ey1(!e|d4YPR_<|b5|gm$M}RNrm}goNT*D4ABmO@k|6xF7ktU69aIGF z!7QDJ(R*$5t=}V|Jqb>NA{1;v?Vdh?XFC095Fh)!;Uo$ZyhM)QWmXQ93Y#|1%%>N6 z`}J?gudM9Q<}*<6fN}Ar0R_0s1WOrWhJW%Jn|`CF2IuZx%ThhH?G-jvz4i_D7PlI; zt7_1zD$lKt#+&NYlJD1lTebENj#)5N&oiq?X_Fw2D)V&`HyQgxjD!wrMZ7`@4>{%G o1g$Dv#_z9hl3rH?HZ{V*>iBQT0qp9Mah8L zNnQo)xaUXJOM%K1J384ne&ENqJo;qX&-ME0Gr?;q_(H=E)CBKIwlrH=Y7E;_Kg-ZJ z_1~mrP)Io9V9Ym%N!V8RzS(f_f3N3#Ig&0GvE-tJLl;F9T+AC;K*7P$REPAo1d7J! zLd)Rg;<43NZF6rYrj?!l0Z`$)Ieb=|V+M0n!2OHlNNb{`k#InV#0cYQce#O cTq*M_(7|LI%(BckS!J+=JY$|9HumX?Unkyl$O?#fl7`dMQj+%Gnr%vWc=`+e(QNwJO_6{VDwkT_id085$M{x|lofx9-~WC9U>-j^=*66k zl7sWO>ELsGVdIvA4CWmexSiwbjxt{=^OZ7REAx$w1sjV3)>?C03b>UxmdSDyv|6$y zkX;PpFf9w1h3WeQEo)F;HH_t2dv{AF_kyj6ZvE9}J&5iHNvQURhgSM9WQ^<8l2F-lQl>8r`7mULtF1@6?*@ zq%K!N)ui#$Bh4wnU0g)Jz(pyfNe(e9BRjin?Bo^k@RK}$^un_W1rW7lKhgkhR2oFVK2 zwdcs&PlBi|*Bb(t3r9nFTo-oQB!qUmy+_;9ZHQ!pTrx?x^DxCIpJXpzDPV%qqM!B> zcenT#{AY@9A%5e+zyPg!ub_*CKIFM_yC7V~748JC;u;Yuz&^5k!hk<>@F$E_u{LvH zZQrr-)(c!I&g8ARSwC-?Z(*)Iw?6ED_{V<->sR7UooA5VfU+LWVTchwBh?}Hc|_-( zXY5|)8sxpDvK%r{t07`3I;Jp8v_by~T&K5*F(Uh5yhpE%aT^ojUlN|=p+T^rhKPi#8D8(FRHU1jb!a_(6f(`?xB0+p4-$h^tJ1M(qs-jq%_5PZ?K92E1$+VW-!Z| z%d{&f;TPP5Wb>Zkw$`cKE#p6RI`r{$&pIel6V=U**2&bXBRxBe>rrE+SQeHyHsulP Rb7wHq1^yjI$#4?-fRApgOVR}%bIy0pxxel%uK{eMoPmXB4wfCP2<*3E6vi!q zRjD2bRD1L#5X^VOD0n|P=>_9`uQw!8?2deIc;Jmg6F-0|?uTcBxo&$jiQn%ZVmrxjXV`w97xq#bHI0d36C z&;Bn!8W~0$l^~}14=Igpmao*V)zS^+s`5G3*Ic#r4KJsb=!SN+tNKI>L|xri`%^6! z_kX8~`uB_PY`0)W))M**cbg??7W0@x2{|m&TSXr0v|GgAU@=*%#j596VpWdUq_N3- vj@?}6VO8VhiJ5zMP(YEl+jxxyVis9IQFll?a7AwU)i)^JBtKJPE`_CkigQ~3 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/CountUnivalueSubtrees.class b/leetcode/out/production/solution/CountUnivalueSubtrees.class new file mode 100644 index 0000000000000000000000000000000000000000..3b0c4c64a50cfd35f2a9988e4cadcc7bc4e868e3 GIT binary patch literal 833 zcmZuuU279j5Ir}0cayA}HYTR6jn!7G=8FU*2pXwiK?o$Rn6{#^;3lrk)-_wUoBo$R z`3LeM6a^6<75ppy2E}tXsqI5wX6BxmGjnF{ufJcv1E`~5B90{!2CgS@1Ix;+D04H8 zTXC!k7?0ec8?Fgxh2oBYT=(BP0<$f5=xmHW^qgSJ?s-HqEx&JjJ9glz_Y{=jz&#Y0 zZ>{^IVYoeXk8E$`bVj`}aGb-2K(>FDIE4jLh1M1eHaMzLY;tJe`=Nk&h6?BrQy|u5 zfiZBr11F%abIfkD_=;T5c}K2bs0Z%efN`o5+Wq%!`(Ucl?D(Ug?>u$Y9*Y-Bt?t`L zwuJnN~j0_t}R%CI7OsE@7NBoYsz;5{`bU7}SPoSwe zYbuf|x-XZG@i-@s@lYjyAgkO7bUOVbbZx9EC$KyZSG3nv`DRm&H6>V!_P!TMG$Szv z_f1n?o&r}X@d4#EDD4@=J;wrG@^`w-svFh0AVvOPYInMn!X`_l(dL&fa84di$Xwuz UMRGXH_=CC-a|y1TClbT8e_e)<+W-In literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/CourseSchedule.class b/leetcode/out/production/solution/CourseSchedule.class new file mode 100644 index 0000000000000000000000000000000000000000..9b255ef7837a63c6d2424c660ca33604dec1c14e GIT binary patch literal 1848 zcmZ`)T~k{{7=AW6CmX^E-$75YwY3!kl%Q?J8W3w~vC%+msnC{Mdq@^IB_wHb(pvAF z;le-QIO1Jr9B%Z&nGO|km|lD5UvQ@XzzaXd;h=HzE*>_e=>Gqs5#OXimEYHBnufRpqPBY@V97bTRAXr<}5@ z&)Z7FTW~7^E$Pu>wOmn?*#(uW=GBluL)Iybk-4%UAmgc-nN-gW`lu*RlizXfIRjPC z%@0f}kLX~jNSeS*N6h!mnWat^u`F>LQc(>m9JTHO1pHv-%CzqVcaQ^&b(VyRVLV47u990;$7$dq#u-a5Eo6~n^cIwc&S_}V{?Iv#z7yXzGkZs6 z^}Ox*^{d8V-qWN!Rd&2$nPYm-$yZfoj%|;pdJgEQfHkkYO!8U0mNR}JbJ#6-Q#unL z&W8}@tJqGlbH~Jg13Rg6VB~^RnNXiFB%{C$#}MN$kNyil=tfe2NtT|Y%8HW0Y}7{R1*GHKf8=3po|C}T1f zdWb8w8Iz}yVcW37M&bt;8!!nCtwBCPIN7kPw;R^bFl{&3;h=`CBND(@i1zFA&4h6~ zvn<8x)^{6dq`8$egM*=1sDJYz4)@1Gi50ZaQOGxp1~9!GBKTL^Tt}0@3Y3I+a$vbgNBSFH1}- zBYKScI<{-Om0Iedj{T?9i$2bVA)+`*mLQ_SKtB?U{64EUfLHmEdX2dpO4V#cfCnS;lUXrjR7!eo57);D6VU0v$f(M4(0VXWFWOkNH z%7Yh5B(BvS}@U@zySKy@|IdIO1!NwmlS3&fp>6OEmtJomAEQk z_WKn-91w_QIz|Qb!D`79Xddz_-f(?(!V7M=6J>h#4ONS7dDIPjb>4L9;j~{ zQ1eEL(_X1w_VW2Yfu>2nQYr)`FA#`l@?&H9jNPKaJL=S3-&rc(r<&M(cmOy+60r@rhl;{V%9{fQ%=1XZb&1 zawK$%GuPa?NK%Qz5~n1NOXN8?iT5bL2*oXWS9~>w^lqiIN;ez((8AUt4Wpi~y0vNc zZR33mNnEorjDo=aZ2$*6AR&8 zCCTgnHs+$N!4yF5D=-jAL(&-z@oT&4z@o#dPN=naLVs)7g}J*wxWwQhw((r%T^ zDa&cMHtgMFDSCw)jv&QvQ~haRn`q&>pQkSFg1d40A;fplb(*UgIZd?Ewi^JvgqL{| zaBzStgS8Mkzh8({+hc3E?FqD;9_umEhNG`7A?@gC;}Nu54-p$#FvRl4A7^uhW32U< zu^yS0X>$qZ93w5eb8$y^;(E5*iN~@(KwpKS;Y%bt)%laGK3-Um4FBa3Op?i*5$iG2 zX4?`Db*9biB2r{Aqqw++n+qnfzZ1fua?&wY(Il{lab;NoKOw<<%ubvW{~mThCFkC~ ziljiU$!S`}9>M%)l-1mbusR)!7#33+D=Z@E7>>0Hm2P?C*X50`SkBiV?J~^RV{3&v z=}k^`wy(|bgGM%6#3{RLwmQ0qms;aeQU z3J&234&yhxf_|+Yu z6<5>SoUF2r5+@?xF|umVg^d$riBUQeCt0`7I=?{%9nA3npW<}Hyoh<6Ax`2f`)y@p z1K;@^pC!JFckFr{Nr`h3=fzVv>#!uch3NbX#xo=&UKP$$WlBNNGn|*WAn{uEZ)loz Ni7wXHLmmyU{|hXtUhV(@ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/DecodeString.class b/leetcode/out/production/solution/DecodeString.class new file mode 100644 index 0000000000000000000000000000000000000000..7c7d5c09450afbc1c27cfb384ab9202901a234fb GIT binary patch literal 2241 zcmaJ?-)|IE6#nkc?9A+RO1G2|7j~%?!QJk*?k;XxBqP!lvE@xjDLH9Yxb)cB%rM1l3Yv)doA4QcL=bLQN0zwbNe zZhv_C^?d;SxMrdqhjch5LO5jN4IGxcBXSy$(@{AM%ITPiEQaLnxQQrE$mygsb8;Hi zaZ1N&0d3GLdDX0dl1z;YsJZgAE6|qrO76LZ52jrIVqt2Io~`+Eu`oAY@I7faoN9H} zs|ak#54%O48>{+WY38VaHNC+W*qhAXDBLXc%@s;BeT|@0vr9nS;27cX1VWW5fml=2 z$pvq2+Vy#fC~;IdiX1r(BH7v$&%kh{S}49R&^jj9(ZYOyUdI{gsN*a@Y=nD&$_PZ} z%ky=l0zJ*}S5a)rB2*y~g9&owg%SbAUvQpem7)wX$I1(S(LL=+vD-K5*(g(+xQs~)J?OQt5Bp{O6$@AK zE{nGDQi16DRp+N}xJ6>z;9Autbd}1tRLi;9f`7vI3m>wDk}2ub3iI=BXp(YX1w5vTl0;j-B+*|bkY{$#AB8XuJJv=P_W3m?d{{9A`$-7YU z-78Q>GxxKKquOd>2|s0QwciQb;pny7XieMU6@(|2ajy|Sprz9*(A4P_=+UdU(G}B_ zbE+5P#j%#40-kz2G`vBJ(wROW9zoD?u+i5p1tnS6*XshWc5Dgd!RTG zJ7VigNGgtLn=y^~mSCr2nr#x1#JXsT<=XFy5zfCXs+?tlme0vq33M6{W&;Lw>4b^B z)MFo7aRgg%7HycM?C(+Tc?y1$ntjChC93)v)m)*H-%-mSu@euu{!05d=J^Y+1iD{f z)(435Yn++CLIw%$BFudUyLg+13Vg=Kp)+@xC64n%C%(t4*v-nYE_e-lxElC_$U0fI z*J+(XOO0^CI+8k4I=TfL;4$LjF$_8~PtYdB&|`$?h=_l&v&Ll4Mn4L=D81GQEo_?z zQ(tQoc9bfq=X<sv@gzt4lcEV~6`4&DMfe$k-HHw!-f2%w1Rmx?EZv!!~Xqnu$^S zEfb4IZMpW(VwkFbn|Vg{Zt4LtGsve4N&cm90BI_dA-f*rxnAJ6%k;_)&Qh!6tb)|f zU{s8!_E5Dh><_fkB=kmq%biq>ZxxpUokM|YNrY=Gpr#}9oNx*81g-RmM`)MAgyc_N z{e|FD_KC{u&IV!F@7Z*s(efRcU>o$BLcV`WGeWv;&oJIaw9Gho3W+;RQGX;mC_iwLKO{Le^Dsf@ zNaZw+;YgW^j%&%|N3g&EC zvGBJBO{$@MXoFiv)Q1@2K6D}A!v!RKNFv43R<=N(MIxJDH4F8Bpaw6>Suv|C^^zqg z$8;4+M(r9?Wh5P)5pZvA2 z{W=vr!HB>~t4gTBD45;hC&yK21a*PH*H$M@*^%a(6Jp1G_3Jm492CE z`3^k|Yw`p9;aJ>x0RFYyG;LZn8!(Rjk~QZto$+gqN&Bf4PZSIQav%o9ZcJIxKVFJaY+6W)reWR@e3* zWmZngpbWpq?RZeiqM}F2eNBg~d+8`#kxeiur;cJWYr~^E2w3oPl2 z*%DxqbkuHj+~Md;-1=Q^Kv!@w(Iujwg4Cdeqkx^9w}id$2f zZCjcSyr8&Bnl98RaUUgAB3(wC`-pN&9bp}(g-+YSLmV-99Mlvj4xx#dH}s4B1Q(>f G+x|bE6~ABr literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/DeleteNodeInALinkedList.class b/leetcode/out/production/solution/DeleteNodeInALinkedList.class new file mode 100644 index 0000000000000000000000000000000000000000..1ff9cb86ab95758f7483e000048c99a0da1d1ab4 GIT binary patch literal 491 zcmZ`#O;5r=6r9%<3bjB*1yMYBLrLt#8^*+FOh_6$V7M=^(Z$*(r4av?3B<&MKfoVl zd|OaX?BRXP&dl3=-#?#U04{OjAcwso_Hm#?%|_kEAt8UIB9&ef%+}d}VBN-JNvH%W zlD*mMP$rLJ7&1}~;*kgkB2l_ugI4;iri4atCqtRa9&5YN4QpTII8f8HLvY6bSARSW^PfPqzL{I+1 za3V)3q44(@{&ytb7%}G}Bv2Qpuy|kk7~mzr=2+m)=S-Y)=O3W=?7GM?pMe$}uH6*@ zJ6wV563QI4xX)$==X$%nfU$tNgt;z_C5(+-879+gwkV*6VrE-gN!PY)f(kq~ChRiT GK=l{RT3q7* literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/DeleteNodeInBST.class b/leetcode/out/production/solution/DeleteNodeInBST.class new file mode 100644 index 0000000000000000000000000000000000000000..10bd39c7f113dd660582fdad7f03d4915dc8fa14 GIT binary patch literal 733 zcmZ8fOKTHR7(F+W$>cFj^JpC(vD#K^n?bV?H&qu=lt7G&30=66NqTK39cN^m7L@!N z5weY76pO5m-@ql zNB#@F*1{Ucd+}j1ln(;MZRynd8zcY7w~%R2O~KogZv-TBy;44WE;w7#LXnw+fT8|V_G~jkO7NPpe-_M(F=OB`4QrselF4G zG$>#*wr2%cK$#iophC-L;ULQo7`rDh#kAqRN9GOcZj*u0_<-y&j0v7<{Oue!XSg}R zLsfNxJe@gJW)>Sd?p^2O7nGFiO@4iI8Dx%;(X&mJ=<%jI<$eQ-bDO-N8JSvanKD-> zbc0-PQNsuNS^8nbVi br#!>BihRy-N~IsjT5!tWIZkk#y7ald;FL@n#4&BZ5sNZj*XK-lR%R+5YiS5PSVyPq2-maJ+`Mf<7hmN znk5qIZve4DY=T(9#!Wy%tXLo+@e7bxAR)10Ndyh&j_qbbMTO-1&As3A-0yt8KRo#Q zTL2RWLJ zdtHjGJT9tOQn4%$oHZ@enG^6QMpp%tg<8=N=*gOvvDDbe8}^ExuTs;Otrhg@s&1R| z+*T@1#jFdAWUrW|l3^QG!C2F`>npYSV)44pvr{qZMtw%$Sdktr+d^$)v*9r1*+lk^ zzNL>>b*ns{b8OQp&y2QI4acmGXU)39P+WwOW29Mr)d$V)%bN{M0>q*uDI7f(GIY%$N zzo>7z9aC}L?fVTCH%X2_IA@kE-D%it$EE+#j{hnX$<-Qm!MJ8hs?I!~jWKy`4TBg` zaYI86E9|e^3b*U?wykf=)@yhJoCtp^oz$>~H#OYCZ4D9(~cHKkm_24)q83b`FXkDq`p0bb1ec5@UBdwTu2%zVw$Yr9ifC3H_8R z0tllEQTAJ7)4GvB4<^yeSG&x;~qI3Vg5-p>2ZdXE#PyUlLjjMj19FNf#@^fK86aex_wRXnTWIrl7u`@0DI pjbRlNDlYyd<;2j?J_i1T?|@YUo)8d0pr2*sh)xmQ^X~42e*hs!pW6Tc literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/DivideTwoIntegers.class b/leetcode/out/production/solution/DivideTwoIntegers.class new file mode 100644 index 0000000000000000000000000000000000000000..1af395357427a11e20f1f3655e4753d44fd7bd44 GIT binary patch literal 761 zcmZWmOKTHR6#i~km5vf%N9UZ9Ti^z6d!vwm@RDJM6W*+rAl0AK|{dL3Ag z$j~DpvXm?q8<1g>QDGnP!gvBZk4RzcSBvzEGru_YE0$eRj<)vpQPx()j$TbV+NM{c z@~T?N`Q)pyTT$Cp-5xa6vvIOj{$?f0?yJ}cud`un( literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/EditDistance.class b/leetcode/out/production/solution/EditDistance.class new file mode 100644 index 0000000000000000000000000000000000000000..14338d3ddd1ea565863b7c21922478fc4c8bcc5f GIT binary patch literal 1014 zcmZuuO;1xn6g|_es|AzhmLc}w#MKIXB-j8$7y>sTy_uo4o0o=lH7z%x1T*eiJ zUgNKZaShiM`W4~=_8qtCdgB7Ycw$CCPSlDefzvs+T6(ayJYT9ma^@>UqPbeZsmwTa z*W^u5dJFEVz^UB*qU+srS3Rd%D2)lUF1yvkRG>eeTXdc|sftrAr>4ESTP=^BL=ss6 z;qp%(WIv-t0c*WhFWxlApBT|BrYX8os*+LxV{QP36;Qa$NZpsZ) zR@qzdH%w7>VZo{2B~`|=i3u+6XvmafXjVL%O=Qsrn=fa60SKdsHq0zVFX*j-_Ym*= zax1Of01;svX~u0h#f-0sc3L)zAFwzG*d5$PV0?%sBV%$-OF8!i!N8~`Gq$#4ZxHRa zw4DxWJHKIzt%F}auBBfHrZq{8!q3Bob(v9G8Af?f+p@R~Ii!{EU!%vLrj>EBm^OGa zzlGaPnAzV-@&l|)=s$cNVnxp7Hx%`}@>RX;wqj{5lW%#WAj}pf(Lozx+=6qwaUY`r z`eC$Tl-rn~&vF|N$$Nq*YJArh(AdNo>=66J+E?`WTU=ppFKZp-*%%?C5p5FfBo@MB zETM~$LJrTHRqmE&n7x}wv&%fzF3vIvaQok=E9$HLjBZAf`8H4NW$iqfX@n1$D2159 i1%5&(1UX|5UHb@#J!s?h5fZ~Ad$9QNgp2G9;L;yd1GX9f literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/EncodeAndDecodeStrings.class b/leetcode/out/production/solution/EncodeAndDecodeStrings.class new file mode 100644 index 0000000000000000000000000000000000000000..8c0300feb86bbbbb0d7c0ee5371475a107482ef7 GIT binary patch literal 1810 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
(lE_8M+FicdD-)-n@f>vRd>2JcoW;*8 z;id_x+bqdoXnkbEGB#gEi$H%Olemnu;LS84XIliW;c6WRR{vPR9GpCEQ-S!5dq;_O|l=rHQn8o&g8A?<3A&VPsem+jyXR_}jr> z7rEX?rtcxwr--UYTwf%nXSwnU@qCk5{+T%Zm8i)YIl=5tVLu+mFlS81Dy|n46J&{9 z;Q9fD>jgZ*nWkh1i72astCAf$y*{n5Ht5?YqaG!)66+3X1s+C251rHq>>k7+t_C}I z6A+32Ru~zP{2bdQ1xy_NFAkVE@+mp<7*}KXMpH_*+@O-lvY4`!2rF4uMzj+&M>;_Q zM;Sf1pMCo#_czt<=lPE*FB7Z>u+Czvr&HKxB$?TF@E2n8IOUS#Q`9}dN_rxkA=Nkf|-8ZN7;T_IO=bm+LMr8}W44aH zAQL<-`$rV|jSG}!{nCyVXLxgZf!9|YO#WGN?*a9P$z6H34kjEqD^sx^MkvaJx@RUc zFVBcqL)|rW3HZnDbZS}-SW2hbW2IZ)7|J-RLoJ12_4WeWiAj zF>njL2KsQ@KtEVE5#?y$Xf`l_I|5b5CLmCpIO$X!n=yN%8FUdv!k3N%gC}qa_I!^2YFEp{T zQ@~{(+@HmJk0ptRh67WwMmf=hbc;ksx0cEyQ)&;urhNUl6w~M;H zq7_YgBKb;5Ggmd+kapdvI2*>Uz)*hfV@Wp)8@leyR?O{Y3yy7A>$z!m>nb=}X=_p2sSyg`sX#};ShqB%YLoQDf3RLq(OX_4$!t^NIV8DO zBvN?6tVrvX!0g4P+CpfpA^I)tky)4HgFj#Xp zsW?+L%(89^K*cnk1@K(O3(QDkR>e!qskn(-D&`SW@d`0Ytl~8m1Uwl&x@dbOob_3w zx5Z7p#NOd%ND_=++u6~rvOp%@hIEUo4wX|6HXa~f{hnr0eBz147wXTkm7dITD(<_X zHu2U#`EpHtji`LKvA)6GtCb0Dpc$IWB$xPrQT~*@{FebQICu1M?WdLHPA%a}o(}#>#YCWRN1_B83Q_+DiI+5f__8f8R)_bx8h7n`$AjWV7SK0p>qa-rd zGeXZOJwb?H2nTQ-H)wen?UB!cEAa|y#ooX^aVkf|rJkaXTh}Snbmj}f9=xl$e;|>R z*9{&S(uj1sT-0VdGPxey)h@WJIatc;Qcohpa}TXvLh9q!Pl5xaI7r|_SfIqq^z4zW slq2cF{wv3RT@F&I%OOv<5vOboVcffhFn%b$XgXb&B|+hmtm{GQ4@F&0ssI20 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ExcelSheetColumnTitle.class b/leetcode/out/production/solution/ExcelSheetColumnTitle.class new file mode 100644 index 0000000000000000000000000000000000000000..4eb7f572cf9da716177bcb643b4f74d021708313 GIT binary patch literal 671 zcmZuuT~8B16g_vhbeFn7MG*U?h%qUI&==nzB+_8gr07E%jBjq22@Ec~WIHAP0N#A_ z2l(o%zCa?0KfoX2uQ0%wwh4)4HgoUXd(Yf+?#`db@Y?Ob?V`uB{XGc5u>DSvTy(%*?mbD2(^ROxt*z%$XzI7c8}R zKSwI=94Td*X*@Vdy4u8QQ!pE)$(hPbHyvgKi}luO`#3xc8*!K%HaaHL$svJ~aJK|b zzb7b7Aa({iK2RBfGaVB~pZ3Djp#;t)D0I?67O6Md>MY+YWy4Yi@G(ub|I?3~2Y80% z0MD^PnfG=P6z}f7>m94e@CWLo&j|&!daF4(+nsXXq@!^K3-w9hCYkemE4v(s)k<4n z)SwsoskKYU&tdriZGM;(1Uv^L0A?`Di0_9Yt-bsOIk@y|S8zUD!riNUL-ky4*4;|6 zd|G_{@#_V0?|F{5zTf;^zrfTFqFq>qGC4p=KEHr+=Gd{u%1iQC*5y&>F)KOn5cA~q av4Tff;24WUO~d&I-^1f7OG`{RcybF+K95=e literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/ExpressionAddOperators.class b/leetcode/out/production/solution/ExpressionAddOperators.class new file mode 100644 index 0000000000000000000000000000000000000000..2c072bdec27d809bc65341bf63398d78766ef575 GIT binary patch literal 1957 zcma)7-*XdH7(F-HB%96lM@n}~e_;IqnzV$XVzH!DO9f30tynCAI^#B3(}l3fY<3af z^~DFDoN=ZvGQ98#FF|0&Kfnk637>rPndzwK?j{nNGQ-2({qEiG`|i2toSXdd&%@sV zoWNHaMlqklNewZ~Yj_t6Do$xQfMN!VI4xI}P#t)98SkzDzzb;FvgTW)P`!}lDwRxIVC zwZM1kb7iOHvn=ig*X5pl$pq|MUd{FeM2Qpb8q_%%?(bnfi}<@{7xm#ixr_bVED^)N zhHq7_owu6dVN>{6Aid$#T+0tU60-0jM|n=`1^H>vrjv367W*zJJM8^eus$&BeQ}|5BCN2q#?RCSMz^PYl zPsiuDEQc#PzQC7cW0p^W&y0Y%KQKDxX}9&Qt9FGP4fZ0Gr1j)PW~Jlmwp)`t^S;o4 zar#@p=p{GmR?J^va%J1{mf1+jmGUd}Pb=7Jg{~*CT&e5)-rLYc5w4XRZjDt<%WK(D z{LD_B3zV1F*lIRymrx45P`U|y8g`hY%cpXyo%`2=;^}AAZ*)&Sn(I$2;uZb?jq(Qy zh=WAHMSYa+o|hl&9VVGvmivspIWW+rOY*@jK=5+8|e z8ZQ%nj8$WJ6|eCGhr=$SvvPzhuX9C(*hMylH<05jhCHk3)d;NkoBIwBf7(b$n73d| z{a_}4-ho~iR~{f0!=-yhVqP;e`S~{fG&CdeE3&gjq78NU_$?&w;4x>0rhMH-`Zs7N zGe%+ud3o4J$dCbjTxny#%(OAs#*j=jGjhhtpY~>r4DU@%ni(t1?n}+?lWLopfSvnt zNBVPB+f>brV}&DYzSqQ^e9f)k-1-uVx7M5{Ca literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FactorCombinations.class b/leetcode/out/production/solution/FactorCombinations.class new file mode 100644 index 0000000000000000000000000000000000000000..28cf74492037e825da6b050e2b41ee033063e76f GIT binary patch literal 1431 zcma)5O-~b16g_V`L!k`c6evY03er|+#Sc)5-H?zp7Fl308aLDFPzQ!i(@sfr?XPf) ziCbA!G;!y~pJa@B-n2q#U69GVdH4I=bMO54{pA~g`^bjSkHsM3At+c3A%sLflDI9! zC3#y8A%(QO-3ekPh`Rzk8+O_DvI2p4VoyNbbc>e2P~I+EPwPhotNP3+IMj^hUDI&( zjH)f=mQwXz+ckml{FY&QZgtZ=D%fSiv)ytnBM>TCUeiFIv3M?#KQNAsbltO^bl$Fc zbP;8~IijdqwYuX840roXT(114@~`?@hwsM!WydI&(z&u{m8@ze%SWJZ*Deufy~@Vc zyMbLjQJ}cb-WKAyTu1Fpr!2`8Hfc8NRnqLRe+G7VwF-A278uy|4D)c?sI+)Dx(i+v z^OY(}u%TVIUNx;PTTXwnd%!6c?mPx7x+e=99)SCU4$hfxLpGdr|uT9r+7{e{h$VLK2 zu_zF3d9)?XBwh-PT$F0Y||<11AR^R71?FoID^{Btl)FBx2+Ux44KuTWkz5ZF#e zwWZd*0d?sUZ2>>upzjw%FP{nY`FUf_*j8R2@$C#)^Y05!s=nWuP$KE}S&#K%A1B|)m+P|9a>fTafscL*`IF-KyOY+{9NWZA+K zHt~wO0%1!cvxGU%bCz~Z0zPluY_%?RFK=1JcIZ3=Gv1xjEx2><{9 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FactorialTrailingZeroes.class b/leetcode/out/production/solution/FactorialTrailingZeroes.class new file mode 100644 index 0000000000000000000000000000000000000000..938f589840c925413351fb7ee952d6abdcda6566 GIT binary patch literal 460 zcmZ{gJx{|h5Qg7#+NOklhYz84fURYq3mYv9Ql&}-hE^SzaDr7_(gdX`KZlitg$ap) zAHeTnM8G*@VW=hF`QCf|_~ei8w|4-?*l}RNwXtPmn^5TKP$#DZtKFFra%a(vB2-5@ zR2Qp-r{an90#+KM$d|!X#@f`Gm`iT;lCU=#NI!|V6-;8O10Bw;R2-@0389kwQ}~7U zurnl3$eXjZTrCLYaU%V@b9tYEopH2^eKpYL>DC(h(Of>r5^~5BcGq|aHRI|AGMsfU zy}9xe96<07m?gmTAkVSDRhKhy&L6&lUedPBv5<;{BA-it25i9Lim;g~=CYSTU8~=G zM5S2_dadSl|LNzm^~`Mx2Ia7c`KUA0;P%rw+zbb}D5Jty!Hz1Q1ZwQEA-*8UH0oRm GG=2f430Q&v literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindAllAnagramsInString.class b/leetcode/out/production/solution/FindAllAnagramsInString.class new file mode 100644 index 0000000000000000000000000000000000000000..d396b2c1b07cf82a9e313cb0388e14f392f5596e GIT binary patch literal 2084 zcmbVM-EUK69Dd&ReD$nsYyf8+G7Yt3fGczVb1&LS7H1Wz9V`5^$h5id%5bE=uc3WlOg-v_j-}`%iU+?og zr$0UT?hb$*IBp_}q={X4UdIb2!j(<0^z@n7jXibPi+wuwn}{H(qhH4X0d05Q&HH-= z!X5Eb0!nHk>j*TY^R6>gx-{x|C+*P!Jx%F}j9oZodwIF9Iu(CBUlfR?59i%%f1%Lt z+Bwg@R2*nek>M{T zpcZ}G^Jx!oWXH|Y;si}AYw%!_;hBk&%ka=^j8}Z;5`CKI6iWpaTs682g72uuHu|dZ{9ft%WBl(;Tw~OO)=ZtZudimTqS94^de${leTr4<}E=Mw@-oodiBGJ;i=j)6Fj z8<+c4X%x^e+l7)dJVrS%=n+J-n4P5vty%^v7SHV@? zdK2O+8X>IaQ>!@9NIP1!o3MsE;th*YOb%^>!m_~KMuFSrQ1I+ky5ZopVr=8WYu|9!?tJWW76#EAly-V@juGOc{bltde2iyk>DbIVlJQDZJEOMHa|A}2#SI-DI^w~1s}6oU1=Vv8>&qO+ zTyfeZ_yO*tN2qPv?y*>c#X`Kc;I*qV62EaMd69)%h)@saQ0F`>DTz-}-!%_Y>S7vd zV)j1-7OM)36xS&1uW(WgFAB@jWXahs0ly7_y_zcCVrhah13r^$;`X&+;e%lflsoJjfDA;RS-ecKxh>TbFThiH(o~`a@ zpziP32LjX8b=z&19p_=taqO1#t%HhNcFUe8k4gf=Tg>)S0+X4|O18Qy4`m_nZKqJR z4}8`|S!TTy5EZ^QwYb3^*(000Yo5h$^#7)*zjYmT&b7_|Q@hf=JJQ`QR9xTMw!G3R zrw%oI*?Livop2`uIe~b?-gc!Qc-%XCf!2OhW@A6_TGqO)44dumNnWja0ZUKfd!W$RF7)ey~SLlfHT>FH`(_?5gZFMGh`Ub_^O#TGA z-oCHrl6w9%CYO@B{+!SWq8~62!4u*t<=0QriD92G~3TGJf2 zOfe;5Wy(;piX5F{W*igjH1PnFj5HtXPia6$F%YWpX$!61(uGuI$tIn$H%EM)W_!dzY_PS_+k@RLUQ`(gW zGT-(rJ72O|9`VY7v;{C9i)l}>I;XFFeX zJagN0mkaC}t$MQlsw|tqgc`B}JymPlkzU)S3zd`C1a7`Tm`hP;7A+@UxFcX3Z(@@jIr6;K8PS8BUvod))uckvsX6#`6I zdOI{)*66vKE@tTZ;5kFrG69Wu)HW+yyj_AWG1cd2Gz4Pl3!5DQ%b6EQLE}&AKOxX+ z==}CF%X1Z6!}G@w?}KfF-$+nY5oK(20O&(MGY*JBlJKxlp(4y$^%FwRkD-*6LNa^$ z22hs_$p(0gSSJ3PYG@zKA#;;5rIOV4d+3j0KVl9AK2#Aq=B0r#O7#9=Y5dID!5?qnwRtPr8k($ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindBottomLeftTreeValue.class b/leetcode/out/production/solution/FindBottomLeftTreeValue.class new file mode 100644 index 0000000000000000000000000000000000000000..3bbed665dcd709a8f5e0305d897100f046c9b323 GIT binary patch literal 1195 zcmZ`%O-~b16g{t<4=95a0dW*iQKZ#k6%n*xRS+Uc!4C*VHfCt2I52eTFhyCI__6XQ z;KHpNHzp(oO^hoS{v>0>^QJ{a110ypciw&Ho_p?m|Mlq$fB}rhZ~#diXJUvT*?_Z1 z$_a8VuybX?LgD4>lvB`3%VL=(w50cFf9*aA&Cr({o8Ru*i3 z)>?3h9L#xn%bl})N1kh-5|!wM+xDF0R_tMcmg1hP5Ef`m z%Am#-Q?G?RV-VxsUFWJa$;j0{xcc%`s{ns;rB3ZiS49ML3B zpphT2{EL8+5oc`XDa}=IRnL5c_z+$nWYj`XK@0arH36+?c{b3R>f1t$+*}&y&!GBl`>m;L!gxIo0$6p*VHe%o?9q8hz zm*V@03^6Cerm{GU37CA-fq8VIh~x0+*b{W)8BXFkdhm*`q#3u!*^gs*k~NX1`J0u;zmzDU^`h3kw~QNbFjSjPf9 zF1|&yORR@RI_M_%GO>htVg?*+WD&5N4WC3+R)yR>vQ+46)Ow1!YnURHf3W^T#9k0a Oyce&_valh!%+ejqAZ0WF literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindDuplicateSubtrees.class b/leetcode/out/production/solution/FindDuplicateSubtrees.class new file mode 100644 index 0000000000000000000000000000000000000000..2e0c2507e5078e2b2e928b1d227ad99694aadf3a GIT binary patch literal 1892 zcma)7?Q+{h6g_Lnk>e<7YR7I;0+bf06FUtpr8IFcv<;yF=K~y^wm_+DD~?)K_Q+Ca z;Awb-GQ&7PW*Gi4!#lxnR+eL>_GI|s)$ZB*aqii>>%af~{SN>)(MVzzD;idlh{vH&1E;o`$<1^`cU&E$cd_I9MP?pG+ zhHVWy0%L2IV|gV3CAUx&Q17)Grog$f<(S+4^P1`I88w?os@$p@cGYk#xeh_qJG43i z7s?x!(^&W0wpBMgv*Oo0*EBmtfy}|E4T1Swd50$fqX>vcb`vm7-v0WQPEHTe`#cDc+=esO0cLt?b-8v>^u&p2I zb|>N%Np|1p9BvuyVgw3m3yZZ4r@375T+3;ahVtBK3#22qeRoP>QxX9|nNvN3)4uU~ z%Xg%~roifOgtcLx2(syTX47UBc!ARr?ea?N3zoL z-MYD9$-cWdvbC4VgvY`~VKs)Uk*>m3qLA4K^c6-t{fJVY(W= z)bSN==%`?irUg0qT1OREbnMIF0Uqjjgl}|wi|_hbf|MC;SrRr#r!c;&fpFNRYyK{ud;>m`LeeOfGUURahb^E>4hheWZ)&RkbjuD!<}<7pXsy z?qcRvJQG)c!o*VkH)LYi=RScafk}3MPL;)}L2;K!8Ax%JhK3AEEOD25S6R|yDs7Xd z6tdK#c~WpIESS_$z!J-mvui9}q3v~^&3lZwOWCjE28)z(WJ9Y0-aoOwO8cAK+A1g^X;5pm1!}7(H6;id3Z=QYBnzx0*|6C-!`)N= z0_$`-9WNZ(Lp#%vsXDY{Z=Ig|$2hk1`8G=vM)c5R@_p~`AJ6;l=8u1#Yy-G}yn#-f z)p711*-Hi@_&~>p2BJ7CnNfL+$zxncZwEfYWgQ>u_(VV(cPfs5SwI;|%nPU!ZqXL# z$~qPMX1%;*dvn%OiIRg^w_ug#EzgmBC{+DbrzX&sopdV2saebMY736Pnk!qSl3nw2 z^>S@Y;K16hAg~bV8Omq!nM@*k*Scqo)P1Kkl67i6O@+f>hQ$=>oNTp@>nthW;y>#-uIKn0x9WD?W+270Sy-&aBFu1PZyy`g-Cp`zZ1+SP&u1<(;^7v( zj1`JIbG}tro3^R}B%FYbD+28~XQg8Kb&q8p+rQh;zo%rCmx|WFUW^7V3Fv`ef)EIc zza;@9=hnS~J?Y4SoOnIvX^E?e1Lz{wO^o++MR2aVu3z&#t2%A_t8TH@rQvD}6TGg) zkTh`}lQPJs0*9JGu6UlcA^SIR0~r&aVah}n(`?(sO|aVD*B8d5L8OvZSs9sGx@#AF zu17PtjB8*9vjS&^8hE#uj=d^LWDJT$<6+=wahSHV~jVf zN|6uWK*O;Wvz+fam6cY>9>+O83;$2qNcm>pa3}#xVcH44C322$kLe(wgRkJTUq1rJ z-)x6>xDcIu3jzwbTfV zU*P#uL>8YgGPaTb;GsQ#ie+Vre{ZYB7b!*A(M@V#Q{f}@eu4>PW zMJ3s-rDqn^l)^Kr%shs^a9Q7B6OSfNxVz@qeN~UQ;4IN6p=v#HAx+#OhWw}eWW4* z)lUzFQGdp9oL~h#_#SU_SW%p$UgF%)o%&BVK;0m9ebD~KppMfz&O}}!B3>Z%QvQ1x zFL0Vw%Sk3;hJ4DHRgU@^GsVI@7Rrtc(`bTO%>i$4Um&8fEqJ;~g(MT)h`PmKM^ h`W2+fMYuTgybVg`h|lNj_&j;JEAP?f0^Y~Pe*u>#(q8}o literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindLargestValueInEachTreeRow.class b/leetcode/out/production/solution/FindLargestValueInEachTreeRow.class new file mode 100644 index 0000000000000000000000000000000000000000..27bf43bdbaacc837ce32b6284d0196f25be1ecc2 GIT binary patch literal 1519 zcmaJ>-*XdH6#j0q$u{YR{(zuST1xrR4Na+lRBdW4)>Z=BR%i|4@W3{?O%}Ghb-StX z;Eb>OxKJ>z&zI4h7ei&X(_-mgo6KFjgsa%*#425a`ZOUt0;*KD_H2aeizj9S=qwgrw_ zi;h>f?4TjH!>aAJWW`&sYt6Ml%4`0YWr3UDz~TRnb8l;J zq@h?;ly|1v#4Kx^jQLg8nfBhby~bq43uQwFWrfSFhIZ}FlD!pCrDIXY$2=Z^%&ODy z?64JZh_n09@PCQ3t9~n}$wfz<%ILntpHajbIE1{wp*YFj9a&e+vn>OcKt2W{cYF#1 zmvO~_g(ZQWy~8rFj8i&R44lL#2Cib*z%{k3VvPeD_!JcbRa`glnW{RpZ+|?aZrPRf z+p@-E>+3ce@h@Kc8y0g8oxfR}vE;aYsmhZZx!0cSL zXv_|tm>rwWc9F=lWQR=_F)NiKnbBOip=t(Bqe-a~-I6OCyh3Iro^S8)nb5A+`C@Us zsLB>PT}Bsto}F+^$M>R6Q#DuG0ghpiZ@2m-z&?@ZdYHRON<~5$;TqR3bSSh?yhWqIZo` z-y))kVT7ddD~#e>9LIf}!1uhP4={$GP>h(mL^kGdljvbGNM0DPI8)kD+IY=5_z1Hk zSnWPD9Yd0sZwk0`r3H&72bS>FA{&6s3D|ZVnoMy^e??YuXus; VIwlT2$5;Yq2uVbz{8pr${TF5LPc{Gm literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindLeavesOfBinaryTree.class b/leetcode/out/production/solution/FindLeavesOfBinaryTree.class new file mode 100644 index 0000000000000000000000000000000000000000..90fdd00ccb4fa920fbc9cd09d5375c23f6cb9a8c GIT binary patch literal 1384 zcma)5T~8B16g{)uc4=7(ML`9NsHknJR{TOOq5`5dg+4$a`s6}~vaqydyKU6J<0}uE zm;jm>-%Nb)7a8N3c7cLu?4);Q?&mpk?|%RF=?j2ccpgC~k_J){Xh=p7#c&vDTvg&) z1Q}d!M>|H8xS_;N1Gkjzb_91YYT&Mcdjg>`yKH;o0)a$wK|r6Z6s16C-Y(18+QyP} z=dC4&n(lmM*>V;v*H(95se7w-Rp4}f+AbIK(yGg9VP(QDTke~ASIVqFWM$tXa5j-w z>RFb^Ci81n-OAKF+sWkZsz+bltyDaQ95@l4E2}k!+O9wSdk;f;v$+Rr^oZ}+@ps26 zmomAsCri@Jj&liw=j>A1@@g&_PyPe#|7Q%XN@r8L0`Zn~NAP5mIf0-f>(UVrJa^1_ z*7Ev{wdud})Zb(O7l|qnnXA;?WjSrDhV~!dvumm?Cb|$4IN92w^13XlMwvK|3kL3+ z$fD2082Su6FfopYCLZCji3v=an8Fi*XluNRoW_uWrzW0(XnKzaz*aZH8r>-@t;uC} zzin@BI3y;`aP9_ zMxtoL!9W{VC&G<{gUuj6A;WP7eN5a&dq2)Hd7Sa8Y*RBp%{gi`4D!#`Q>yYmpmPC* z;cp0PTdCoX2&($(5K@O782YR6^e);s`|l7-`#5(I*07k4?;@h%E86LA?x3Toj&Cug z-T*%UgXa$3qI{7q3=nF9rSFi&4B@NSNi`wtlPUOQ2+JokfDv585J~URYT6X7OUz(E S3;je!_#7{j_Z6x&Bz^-zc`RE1 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindMedianFromDataStream.class b/leetcode/out/production/solution/FindMedianFromDataStream.class new file mode 100644 index 0000000000000000000000000000000000000000..93737c7dc43b8e12a1a20198a0459f35c6c749da GIT binary patch literal 1207 zcmZ`%TTc@~7(LV5(z1Y*S_%l>v8_nG;I$RO)+QuHFf|x`a%iV8u-$EzEkXYP@n0BU zd^9FATzJfO}xVe#AG99rY?EE}EtTm%xA?*9}^USF9R0*0?Pd_7_9Wrrco|uau=(Ulw)A&9ZGZOWfgA z#}>RvQW0LS6BALVmy|-#RDdlp3{)Ln+g|1^pDot-$Ku*4F~q7?+pdYSR2C+Csm!XB zbfhrGFxn$A9V19+c%b7U9;v-~9ivF-DB!V>aUU*9E~;I@5KBosAUWSo-vd3RBzV zMq8{j7?PCkDVNO&Jof*225g#5W{&~@Yz3*ALXc!{f5xQG5QV>eMP;d z@F8M8q_$tJ(%&b<)yzZgTxkcPw37%^jg#I8;S^@*6nW~Dhoq^{x% z)Ly|=-`1Xg=%Q!iMEfJAy#@Uj1`aXknef5e{RD=r&lvu1%l;RaU%87AIq2-2M2fx} R8{sQ4N|9Joa literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindMinimumInRotatedSortedArray.class b/leetcode/out/production/solution/FindMinimumInRotatedSortedArray.class new file mode 100644 index 0000000000000000000000000000000000000000..b217a04022496a5f80517ab4d37cdb60139777b2 GIT binary patch literal 603 zcmah{O-mb56g_w5&5Vs-(RSJj303Gq6G))gQd$j^f)I!;G{ub@UoxXUJ0E476#8@O z#!WX}2`*e0m;Rj6uk*(2eT#d~J@4FmE^p@g@8uPMO{~=5;$eVC0UitdEt8qDCvev{ z_5|u}9>s#ifyv@`lXMgpAN439vpmShI@!~OvGtTx<*_*xtPOTd7VUCSI!XK4hrHBf z91Zh=@l8?audfBc;jKjAt?&0Y`ZP>UBoHE%O;V0=_AO50!;+%H933;y4@*7%w5vZ) z9c#mUQjFsrV|RLbhi&IXf6;SL@B~lp&wwX(NWl#8+^qojP-7*Str*+2oIB5=3kEG~Nj zdu{zdpq}SpB&Y{*7QGs!gQ$3`2MIe1K|a*Ufi7ZGPn)VdjXww;1bcB7?sHH&O8x9j zUg|Om`+33mv?%n2?{5jb<7<(?Sv&OCeXdO7P#{Dq8>Jj%9U7cO$0bEYd~(WM>z8`? zZePEj?yU6lQ8A46V&m%Jjf*>H`dn9`;0RW4R14;ezMJUmr2Bes77a_R!s3OQ&jQ`S zVRTt_nT6Te_zL+lp*==-(iGexu3if;g9d{S= zagh$1^l%?FY~VKeI<_%~XIQ~5?%@Sl<9Cyu7RlDAQLKZhbA#&C^M&vd^JFbf-Ngct a%@bhH{R2m`Y%}Ku9iqxX#59YSa?GK literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindModeInBinarySearchTree.class b/leetcode/out/production/solution/FindModeInBinarySearchTree.class new file mode 100644 index 0000000000000000000000000000000000000000..23133d69551095d446e664bbf4f2c6138c41f7be GIT binary patch literal 1997 zcmZ`(T~ixX7=CsWSdwh`C?TZ?K@ltoSd?OE3k|ijC^aFip|n6-yGfR?G;BIcg4Jui za_mjHmvK77t;`S+?R31dGyV>Lg)@FU?|NQX^wpe141=3IF_V>cVfn}b4hy6+E*;wa6U_$hLc^LcTAJbG_BOM3YrHKayduSiKwJkEar5I zMfT}GRvFY)A0bkIwGMEw{Tj=n<5RM zS3%dS%jWzYr%z?p%q($juCHHa)Vom~hQTNa@Z?Qibqvl%>qe>SD%4qasWxg&hr}^J z!Caw}XH!N@<61UTD+PZ)fOs$dL` z7f&jB_z^KzCSLANEV)C#ad*Py?!?L6i5&L^#vqeiV?2#;SL8Of4`r8viXpCz?qxHE zDeF}Oyp1zFDRg;M48WlYECq40=;TPYcd$>n# zdk&zf_!&*#!LOk9r;IABbo;r~FPoRfe=$zM|1zrNxt>m+TMYC1oI0CRW#ygp&VtuF|sy{AffLg_%Zf5#@?pb%XM~>#sxl{ zizr|MpJEbUQu8$~yJ&^09Ufuyq=u0oqoJXp-#6Y#I4&GC0FG+*GLe5$+uNcLVFGU@HSeH zA>ZLacyOVwAS{Kv#5ry?L|xmE&=cChrNjGY7!|kBF$sN#s%@N z2lx$siTFD6bi*VwbMCqKo^xkjzn)(JEMp>$2=XzE#V{_2uDQM&R0WZR;-NrobXtxe zS$BPBr`K*c-2>h5$c)xIP3;}(u502xse&{2N|3JCT)(yF=!;FyX*+(fN`;fZl)zp% z+A40*sO`1{LZtj&o9)&Sv3T5F!N`7~n-|;qvTqUJ@ASG&r{Kz75w0`&fR=8(x1jc7J zbVv{-?K~FmNr!gqWK7J)@)681bDpDaqhYTx| UP@jm2d|*o6q0H;Eq%Gur0Ee?%P5=M^ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindRightInterval.class b/leetcode/out/production/solution/FindRightInterval.class new file mode 100644 index 0000000000000000000000000000000000000000..75be576c58701665b4325269f00b7f681e94b9bf GIT binary patch literal 1468 zcmb7E+fEZv6kTUJ?J3hiQ7i&p5WKa37EzI#R|KsVnkc~-o`y2k!EwOpl*D(x#1~#Q zG2$)6Cm;L@e?w!`b*2N1!i!CME_<(iS$pp@Uw?hr0B`{_2AWZj7%-rr(1ddsG+^L- zhPsRDI;2jQGU&vx#E8<3N{mU23#7&!&k3#wBy#yV0exb5(H7WSay)yc{&d0iXRQU7 zlKrLSisjB(zN7AuP!AqEHG$UBl;bVlbE=Pnq8Hfys^yLe?0fXDkbZOXr7cK)z9=9Z z{<$Y@FYupBFq7n@ItrLY&$Imr*Q(WQM#+|ztW~Q}4;;5JZLORLQH;~%L@|lU#N3mc zZ`bN>AfTy8nN1vx1=?fYW~^1Gs%TL|hi!jTeZI0u_j1f;D}(Wd(6zj3K~byP{@5;} zD|CD2R zHD`TWQJ1)8;yT(*+`t6=nz)Hc6H`iZ3%5-aac9#mPS?a;l&IJdPM{?W5`xPMOLirY znC84}hu$h9)7_TFizATUoEVNqEwFqxRC2`XcKH#la>e{E<>oxE)CnBU#gvT{;@ycP zaSxG*4s36cLs+pL*YT>+Oy+m-7g_HZ%yiWb=2V^n2XecHNOL431fL&gw0XM*tPHwg z@@1=^2BF%RPW=O3WYlM^K3Q%XvG2E_5tGJt|Kv%7}B$P-^NRHo$1T!gKwa}Lo%zD_edr1;Ds*Met+9SU5rpN1f(^LCi}B` zNAe3=J801)@EOKiWY(Z-<Wf8=m&vlsL>-=& znZ6=(o7ff{C$60y%KVOX;0UdUFcQf~C!(rON6|&HNw_%18fuKOh#uM}aDv|2C~5dO zNlZg`in`O(O(XRSEfP72y!e5hpU}i_3?L=ZE72DzB>JK8OckrXLzPe}@tsxHNJ};E QEDm!wm{cbT9!fR+0pWj8kpKVy literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FindTheDuplicateNumber.class b/leetcode/out/production/solution/FindTheDuplicateNumber.class new file mode 100644 index 0000000000000000000000000000000000000000..5d34df0908ff82bbe937098b76f042462bd16d99 GIT binary patch literal 642 zcmZuuO-~b16g{`|W(G=Ipg0u-zhX?NHElGeiBU?T1Z`4f0b#?2*Xbw^r&CgAj6Z;1 zf+pR#ab@D78+ZN`|A7+0GehHwnasWCoqO-O_rCdg_I(WC5tj3?u;^mR#WjKR)I=t3 z39QxXu0TB>^a8yB#PNRO8V5x?OjBoG_F5VWjogXyI1;X z(l@_7NQQo}Y0}A-FK=Ey)E{&K3bvqfd5T~zO=^TXdfV9Q9tM7l+sN^H(kBNF1e@03 zsX;IF_PuYAuUXiobuv<6inwr*fNA7;63k>wT6{{eG`p?VYGc)Ftz16=&AuHrmDRMZ zrsFxa@d><|=hQv*3C^)C$BvB7e|fg2K4aQbtr4a?rS{iG=Ra1yP|V6Cn zZgtU(F}l&jg&)ArVEiD)e`f|VR&;akdw0&9^LuaR^Usf;0BoX`gTitSNvvd0&A<|* z?;6hpZ9%ebcLnPH&~XKYj`7@wXQw^af2?~0PD-6&Uk|$4H{pIVRKbxM3FbT7#vcXu zw9|F{kr{e-=y34&h}QKTdxtrv#t{ft;&C`|4+25TH-|^;bGw1=pFGe{CIQ7Mms^6o z8T|z1#~Qx;hNda@hT5vOt=dbh zSvAX1&-ZVujf#4Y#0z9As(p@`ics1tR1M{%4 z5XEmYqJ%OoaUPzaF#!ozMb3oCHuVK|g>`BROjw|j`X5jt-}z^JgGx|Zj@jQ%*qdYa zSGXRrKfAy_OKRr={g;2}mzcOr$`z(sq_1HOS5fB~8eD~!H>O{V>6cF;n0i?N literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FirstMissingPositive.class b/leetcode/out/production/solution/FirstMissingPositive.class new file mode 100644 index 0000000000000000000000000000000000000000..b82bee419b075fdee22ed820b7e6074a820249e4 GIT binary patch literal 761 zcmZvZ&uSA<6vn?he=_Zunl@>sjhzUBlqLfS)KbKM2tr{XF+!vW-E@+U^`>c3GLyO% ze2<_mx^d&G;35wo_yBzcA3=)syOYsX7WbU*oO{l_zjN=8Ki{VSc2KrqpkzbG9Sa*4 zT!G9JIgs%)0e!2oFJQbF9)$wAh8%=1$ETfe^g8JDnaMYX-Jri8jHHUwq!GW9k$}_K zlcOkZ$|#b9<5$B-#_~LTEU@}^PF}#=I`AvLfRJ4D#$bHPW3&V6rFI;2PnyBmzbm5m z!I^-?7T;HdBIfD|*zMtX)D8EfqASej}?hLb5=;i2JayP4$o*&v6?*a%fVwkx#0s98|+DcXITPP)Zd!*{NnwY8fk>B2Qg_ zbq!6JmESP0Aw-^@jeOs9%nv-!WTE4hCn#`;U4yffYb~!_G+OG>W{}RTigt|`t@DZ! oir7e?c9>O{7YU{Q!TFEkq$nykLsrURou1(FzlsD|W0QvUzpsjb3;+NC literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FirstUniqueCharacterInAString.class b/leetcode/out/production/solution/FirstUniqueCharacterInAString.class new file mode 100644 index 0000000000000000000000000000000000000000..17cde3bfe812a4334a836bc7692f852e4fb02509 GIT binary patch literal 790 zcmaKp-)a*<6vn^F{?nM)7+qtdNo~}aZT=yIfGC9$s07jmiS|Y>oNU)*YuxB|BY58j zk=}UI8*eIz^Z|SiuY3U!v3|3SCSD6=$+}dC$P}-18;Noa_EJRA| zmU`=cxEnnV{MR$DGnS!rBQNX*YlA5CgV8;K^z%Ogl@_ooy&d^RHYYL|HRmd)DAu*IuVSdUud;=lh1&wj!E_e7-ny?^D4j~#P(UeI zIAfulLIq9=E2ySWLtUV7>RExz-*)=L9nU4)KcSNj6)$@`7fsb8tc9U`%LlJGDrio; zU=)qxZ(vWRs}wAvSGrCI%P{zbY9t^OBJEl3np_1}W91{nhd7<2HRB*}qMteua7}Y3 za2^Y^>hL${ECoEw-o*DxWxDQ4I>D9A9L_^hI9g5Ut7BU1lE;uS>sABn8@{ zsz@(`3sl{qpT$MiA>bTdd6!@l-#`zSk>hJzVZH?8SRJykXd!Rms)cKU&+;9GpAaJV MgL?iTl?fDo105lm?f?J) literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FizzBuzz.class b/leetcode/out/production/solution/FizzBuzz.class new file mode 100644 index 0000000000000000000000000000000000000000..f8525b7bba05273e042dfa4bb787639245412dc3 GIT binary patch literal 901 zcmZ`%$!^n76g@9-W7ip*PCy!HXdwe30l@~P$^t~CB9|fsg<JaZST@ z4S5{}6jf}gC<#P%Y{z!%0^vfjDWE*)cPxRVVLR4i?{&)>J~dlCB59-FHhWETXv_Ny zRNPngNI*As?eX}&Hy+mnw8NP%uw2+H8b{`dS@m4IS2gUBOMe z1R;g+jPq8d6|@Vb3B*S~oZuPpK?Oh)5>Qogz)SX<#IX__?tmg4Uj}R`w80g_BJd||4hmsSX+Udr^1l| z6&htEDP)!R3@6JodWVzU<7^K(*AvE@Soh~HF;|Cy6|%!}%9#S`tr6olBYzzisNy2y jQs)%8L?lBbg~%`HDmKJMbV>io9b}1yaGA_2zPI@oDIL0W literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FlattenBinaryTreeToLinkedList.class b/leetcode/out/production/solution/FlattenBinaryTreeToLinkedList.class new file mode 100644 index 0000000000000000000000000000000000000000..f541bfb6869ffa29cb46763953d460ccf87c2b7f GIT binary patch literal 1601 zcmaJ>OH&hB6#i~4YdCqr7}DplFCzK}qS#hP2SyCaF$i6_&Fa zf5j|k!`7+tQH)iVE39(m){Q@8YDWBSCy=O=mE_*@y61f7JNM@O=YQS+7{SdbIxwVR zIEsMUN1~7zQp(vFM)9kX&b1+i^GX`iFs_sd<(pK?R1^tZ&~Q=1C4umSUADa`fna*z zmVlhDlq`Yvf?c+X>kpSLchOvSXgOG@teDO%)3ue}FiLODt_d6|%sQs$S>?-i*>pD+ zUCUamFvA0@RIqE_xPW%A9v~1;7nHxqGUKYCu=$%~VYgE81for^K&a-KD-Q%Z3ir)N zW`5nXo&16_F{5;tSs>BkYSilf8tF!L7i~{Vtefe3OznDE7ZlS$9{gSzB@5 z_d{9-6)8FnqLcIbh9H5?rsb0Bnj5Mi9n<)YsCCR>R>u`w)iH-&9oKN3pmyh?Bdd%B z%vjfu0|N;UxTmj#*yK-&nqHt+34lO$@3$uYp~gd06!}{M&Yit63@uB-3@` zTh5LT&?~F!wKaiL`?^m1W%alD0xc2BdvW1 z;y5F_X{q~8?DkBm`snc*Bl;u#6o=S5MBNk#oOdNXQgnWCWtQfT-T zXDMYkmG&{2lG})+)N=d`VhCq&9>aTt z638ChnFib##?-qc&^XTVR4;2JIGRC9(kHD8GW;2ahJ5{-;6J>&t*410fHPkJi8Vfh literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FlattenNestedListIterator.class b/leetcode/out/production/solution/FlattenNestedListIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..596920f88db73099317131d2c9c674b17f2b68ff GIT binary patch literal 1605 zcmZ`(O;giQ6g@9Zi7kN^6a+yO@T0Us6+ci46-Cf$tvWb5x(kpg(b9IB)DhSI3H1lC zaiKE`gU&cE9XI|ThEdN;Qfvz@`f_vMednHY-c5i0{_+jL1w06&1LGRbhoN9RgeWeA zxm;|;B}~ZWvW6?IIDko6kdo1qjHYFjmeEyNKcnHAhU*$;1%kF?EIk+K$UZY(7|E(* z6_N`wl@bUoSoxyiR4b;yQ1kv&HfP$7xtu9FX5Or%(mc>IWfd(aEpRYaSDv+OCpGd& zK%Ffu6DpFmie|35x@cA&8jA&HIRGzGAj^mZYt2-h`d&=p$|6I?kDF&vx>b%uB>v^UZFZkMXGD`ML<~mWdzz> zU+)@aS0Hc7J@b-hx?&?9oq|!!Cu@!hXe)-DGi5~}Hu6;9P($6l#b@S{LlaVUhy7%o zx|&;4byc+%^3uW!rD|o#oVVmn4E)#ZF*zSP4&w$jHqDBTgE*vP7(E*1bj;(Xj$4qD z8@$kQ8>6!9j*cwu>d0YC$2}x;+?N}1Bm{c@%YYZ`_H|A2baHh5QK<=a-Qu{l|J(BB zL$$3})JQK$Es!@|=QH)z?^+tNY~Le+Q~ns#^-b-2NF$`zsk3%b?)M~fG&)c&m1#GN zcA+)Po?9(DYw93B%MMTue~NUI&n|xR3c3+wd>B29dzr~2zzFDyZ$iYsLV2=@z-OrO z#3q6txe>q-uANZ1hPZ|iK`Q}u^fA-z9Y#Nn@{KSUz%e#B&RFNu%M9+eA7VZ4)o=cT zPl=mOY@vnYyFA_h4(Aj7ThJ7I$AR4F7D57V5Q%?+I=X@I<8`#fnQavyzt_s2^*_HP zOVwpL0F7}3ZIs_b0|v=^lw2p6o2F>VIL_K0ay)^P)E463;3=GTRit-Sr1z+h8L1*h z1bVSUT00olFtUx%HZAqc9byHij;pkGl27SCRFdC-PC;8}6ZpWK;__{A_xoI4o?B6$ zgTNUw_i*MKaoXQPQ`eye-V?{W9S`UDJ~)zZ5K8-uh+ZSLF&{GNLk8m;h&1yF*5L$w OK8mj}iL);IbAJImXGm56 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FlipGame.class b/leetcode/out/production/solution/FlipGame.class new file mode 100644 index 0000000000000000000000000000000000000000..8f6dbbaaa2c427ec667b28f4f983aa61f74d39ed GIT binary patch literal 1218 zcma)5T~pIg5Ir|dNgBe3m4b*>LDZH~>IYV|SQP}UQ$VLo9epBguO$%DPLeYCbM(bm zeW`=Y_yhbU{sw3K*qgQkQk=1!?A^Qf?B26ylW)Jid<8Izry2$kS1_ePLR>=v(<+i; zol%g|ptOQFgm+WLEpc*NY-W3L2WbU&70fa8%$v69Wf=moc#%O~tW`L}K;E?ZT4T4w zoeiU8Q6!wNl?|(CIHuUQgR-|}x(r%=*)r=Z#xBn=j8?hL9mC_#Yp!b&c8%|QtF=8& zz{yyC+t@QwmSI;@1HcM!|g@8O$?CiG+>^prMVNlyjkBS{3f-c!)Ue@B>O;peRv6UI#iZU*mG#m#FO#7C#~HXn;Ui3IaHPJ)?W(uszdAH2 z#h=>x8;0Riw8_N@5^@_Q*B`q8<#O%WAAcRFtWmFXyTXt>rA&85yJMPIBzAg1)vI+V z55>9*P-eiW(0!5P_qBw`#9w0^1N5bdp9Ci6L-s7~QnWH!gHxZuKKaK(WPALej0pL9 z3xHva(2n68MyZHM{*EC1f#M;gSDz7B4P>KHWN_EDr8k69>N$jYN!`^ z;`V~t+MtF6(^+COhBVHTl?n3<7sw0HNwLjdcu`!WE>x`H5-w9G<8&^1Y(*w0a>b8G WKcOj@WIvF@RfD%4++|zw}`s=SxUjUS_p<)h~R9wcDD6aBzS-~|G z@-Ug@UM`9}zcF}lUBxU43RV;p86q2w=lEL;Vm7zOAnkNoHbcDXc=qGLQN!*%u^KLA z^lGPRxqDX6;qfRb`3Fv)L913=r~AMUa#vZ1vE3Wffh^YZvQ&&+*#j z+;axzbH0fy2HEji_G{nlE>)Zdg;n4F*`$F)~DrG_{X z1k-R6w-^M&&~O_ihSdKBw+D{fvU?it;I4*ySS56!z{52S>nLkjK#Ho33osd`R3Sx{KmG=Z))1(Pn`t9}@D3G27t;ZxtxWnY);>dic7li@W&$VyqI!&s zk&*WUsN@BhS(oyQQUL7@Wa&5~?Qg#S{ZTw7N)fz`WyHuz;M=ZKQzOR~7U_kKRh-2+;t}u&Y4QZZ)J7t>mmwU(dCDdr{(!)KVuvZX@I4fN Jk@5nT{s5>eyFLH_ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/FourSum.class b/leetcode/out/production/solution/FourSum.class new file mode 100644 index 0000000000000000000000000000000000000000..0edf98786fa61ea2aa57f15a81d255011fda56ce GIT binary patch literal 1387 zcma)6L2nyH6#mAZ-SuwPbxX2tL(|ew(%LbxfffgFh=h9z?=mQWfiQ9;WfN&;0*)U1oQ>J>xYX1=|XW?K)&B=djh$- z-}P=r+iPBM+gxn7g6jqm(iuFx* z$E`%6->KC7en>>RA8iYW4>-0smN@8}UGMH~H`wq(`kNd+lj%m=q))99qlcqKJ@EQb zhp5y4rOy8|$$NK>5}p4ScHv~d<90VHOWn}h@PgVRAAxKmbX!{=x_9C$8@SF?8~#Su z4WodvESz-7|IcnUs8-9n;VX&lk&0y{nT;{n2Hvz$#k|18aT&W?UR#MNa3&5PPus>@ zc-zK1s4-U?3wW0`84**nzwx)$HoX=pP90}foCzkb*n2_X-eU!1zZY;t<7HKo7&~q! z@@}mQJ#zy1Q%u8TORHZBLJ7k;ORvJW z;9Hx04Do%ue2TLk2Q$dgR!{6OQjH`7(=NWED) zc!Wbo?qR&-$TEj)m%o8N!0$AhRn5_~81vN8RN!lc(}>fKa6e3`jcpZeKbY6K(5z-k z2eMr?os45X!o!l2;RdtZd@yh2t-Stl59Y2p9N=#3eMK)L2Jq*MC(u^Xif$izV?`>? z*wPe5Z0U+fS^F@4L?(q#xR+$fQCE_qGI4H`3d$jyypWy12E$(m!>wIS42H#BDF%nb zx$h{Jgc5TZ4(Bm?S<02eIZ8Q8G3PMB?sD)E^7t5&XyHZd;5_bQ3ZLTwzQ9F%iI=d) z>OI9}Au%HiOo%LUVjRV|IP0wHeLfT9vEUP%$5~|1{=n?l<(M?RU$3ZrL4U= zZ6<>6>=JNi9vgOU_k+(DJdz`tgN@DOFitb=Msxiz$v34wqP_WS4X7 z%^V^Hj-o(hu3~5J&)5(AE)m6?b=>8Arc`EykSeLZK}CAP@tELTX|0@fCSA4Jrjz{) zuh{E$7$$;YoWWTW17Tc5Jd8oa$vR0CXjZ8st9EgDB$ZilvK4_-C(w*t$#bU#o6YpN z*IX;OMT)6YU-fAasuAY~dLvu~SAFO!#4e2hLY$2{D9}hd>?LrG&|^C^aVA;3WS&Xv zUE&9ViP|RQZlZQQp^eqXwWPFU=Qb9#q;Bc4ZOjZMI%Af!^e+e`jf5q~EPYsRq1`g{ z_lR1Cv4chrHd20gvyN{a;d-j7i;w?4S0(2UM;&^PI<$JM#bNo>OZ-z${H0E%)lW5v zC~ZkwM+yyp6b{#&w?DvNdA6*8h! z;XJu5v~*awhtsqqo|EBWk1*h4)XLXUS*^_GOJeOdG6KwgMNX8v?O=yNgd1>(kPzYk zL5@+ekM@1&{0|VQgZpTs$0B?+{-s3NTHS0~OB$AxIc*PG(zHz4=}wv3gWN&V()~ct z3erx;`~YtwVVPrAa9D1nlSVa2rGHmV&fitUyR?lQD;uBK!;`g#a)ArXV3im-#;$^T*ZS7vRJloHG>qE)A%@p zGx#KfPjSt{^$aX5tL27TDr#97$7fj0;B$PT%rzByQ|;C*d}-k;0dvLm-Dp)nE6(i* z=<7jC3Y@CBzP#Q2sUgFAPQ#-oTML?wx8sDavinXw+I61@y>NnlZe;#pM$WavX2Dw z%wvqe>Cs!$!(@N$91xy861y^ryUMI%b+_$1Q8#4a*WQ5W2{7ia^g1#WxPA;q^$3;9 zD3z+3h~~C_5fD}Gnq6WU&7kYE?1_5hG#_s{op=`UI5#ZZq7E#4EwJ?lDUYRn0*y>P z=!Q+X;VLl{PMG(Snv#vPm=c(ZC)S^(|5&!vL0l?ZzY7RFXM#CDId^9Hgs= zCj8x?T$j{5rJZ~SrYHS&v>SgfoQdglI?|^?7mw+8U(W*)?-xgj6^hmWJ5EQz0kf&% zXdnSJr^U3n!L&(vmAM}T&Ky=)^&{CTYyodn=5 z)PsF!Tk|DtA**ZqFc$u#UyHFOM>b5uDZWb`0HkrxoXLUc-eLG@KQ~MIG;o`z0NhHC%}ygZIRa_XTpg6*HI> z!&M#EG<*<48$Q&Kl@OhDN{%-rK~4_MNl-47bGC%`X{Th*R_`v_?saRi$Vhy;ykr&U zEY}h1FsOJ1ry{|ezHFCl*YfOZmTQ;1f?csIX$f8V#;`zlB{M_Qx2=2DSk-fiW7AH> zBUUQ$%8-w1SE@x%LdRZA_ihgNSGIW!G+-x#bT_!OUsl%E?|fJLeX7O`X?2a=2?2P;E^Y-ruqtBbeoCC|Vz^0a4@D%i~z z+%ulAdYLUg@FEzLB3ro}Ux%=Ze(Qs?(?d6z+FDt$O9YJ6144g>uSA_)!m{aG-75zu zYM9&$BqAurf1l2|u63XFMXgFeYA_jgbr+w#&F`r<--U9qNKKq_DJ?9mJ3B>pZ!_?- zZHqw;TEVK!+F!Dx{FJaWwS1 zybd+>8{@Kn)&U>W0v$2L(dwUhB-n@GOrC%vq)73Y?HFF+`2*Z9G6#`CMqXtkg5$jS z4sa9YAVWtsgifYV`KZVsVWP6EEH1ws*aHv&`ypWWZwxBUF4M@vu<3Wzl2a}{F)>FY#1keMG8n!2gQ$#aHj6)An?a9NJU2ZRE2ED5lSL@_}X?;q_0S< zg^*gWvhWmCu_n z3_7#6_0QVY&kq%8ZR?wdGRJDFcU(9o&~}19xu9Yi9oNUg2B_31)i_NBZqgkO82OG` zd`|&>WPFX7Uoq_KeTBOoaPLVfsuO(?s{OFOD%MuhF|ao zCg`ti2L_Qh84=1Sp>LvJ!&}mGD)St14W~CTpy3QB|Kij$M4mzA-;Q4;q`5DG$^QW> CPvw{Z literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/GraphValidTree.class b/leetcode/out/production/solution/GraphValidTree.class new file mode 100644 index 0000000000000000000000000000000000000000..c5ee0e3a12329d8d2b7051a36c892d960354d507 GIT binary patch literal 2976 zcmcgtT~iZR7=AX{WJ3r9lu%PZtsgXe1P~Q1P}EwLC=e0FDpp;{23A56lMRY(r|q;( zzpgsHveOwIZ@BTMH(F}z=v}8Xj@SJS?R3V@bjER@^f_nq0ZMOsvAgd%=RNP&^Stl= z`p=IK0PMn?7aK6(#VZ)pFyw_(Ec}R;<2Z&jobW=kk4MUJ5~sv#Se%WP<22q8uQM9X ziYsFp&UsOdfpWZy^Wt?uye-?r_O_^B*RRc#ddU|S9PnfZj8N=vNP&QjwD9}QYv9UaR{LFB#}1}c?wtZEL(dSyX-0B6XXNOy zdWETBvBlanzPPux0}XM~mWYm|a+wL^uqjBlel@S!1gt&;@v0ADwDG)z^MOo8pA%sF zFo`J*rVp3E(5g!+{d#tai2Lvcx`~7j3C#GAM2eO3A&tvEWI$-_D=R_v!NQD!nvyN{ z$Fva>{usCqIZXR7D=b_=)`zRYbLHyb*(UP3v>P42WK0mcijqY}#x5(ZBbJfTtrRQl zFKx=A3O4JBoDq$ayP-(an&hY~T@q1}c6yBD3xrl^+fnognyFdy8Vk-Lz^?MJQ}VuR zLwWPEnF=w9hMLl|L&jBMI3x`u<)WsbzamX)d(5Q8@gO+jO2y*_v(n7$p_#PBDWIlP zi3Dk!F=kS;243Un+rUu>xS&_LN|D_|owaiw50 zjmgVO160mU;C$Di`j6E8xB*tb~PRUwo|Ip$DgostXmAH^IXgyx59LgqT(nqYQBs7W73o zQ#yj(oW^@G%AIrQky)JJt!k{p7HX>0s>e1;F6#QRost`k=*pimqkOhPYUHUX(RsX1 zKMs05PM^(;sfD{ixV=koYiL!Tqk0hzWeH7+@(krX6am?FKF5nr?o_qZx7FW-m!CK1 zm;bIWCFi9Eu#e{V%YZlA`o%!1q*D<{l?>A%-K)G+K_Bf!P);!^7qza}{S0RjiyC5a zAI>xPppHmD{wM;nCyz&`fJJTl0j>qO9XKtw)i$~9EN#o%zubpLTb^#UIUH1-j(aHk zRsa`N7vN>ax1g!>P@N(@Rbtmk9sv=Cc9ba|W8IDt$w4MH#Dt^#!w&K{I*d3@aA1sZ zHk^`W=qJNGMA^n|3(>SCCRi-Z^&&>s^BB4C5jwDgC5+QcCw4N5UG!hea@l9Qi)URt z6G+xWTY^W!9s*e_fP9YbMbv88Te+XV3^CyN7ESXPZ3x~+TN`Ax${mo|w={Gvz^9VYpx#7Hb4#mSG!zOqzx+fJ-7eNfY5oF{y-0eF6Ws~) zBgT@&S*A%@m_Aaro#FJLmlA_1mLn=t7fgxD)CI4ic#||142+_WQmGtbr-Kbs(C=cB zq8t@a{fj8mu&?7exAt?(fdf=~t3Wk}s9YIGg5&?8+I>`$bL&KPowDxh$x^bffWc`| z>l%evOb96;tImpdxx)c>9vLmD<&o(XQXUykPz`z(P{1+h5-VXn9Q4pYXTU9e)N*Hj z`QiNXjsNEPS#k{g|GAJN&(jF0yJCN!*=xP{dz+{PUP zYX+(Uxh+5RN2`--yx+d>WNgtl-Gb?#_fOX_JwI`mF=-|dm{^kfsY zp4q=SBVq!^u?!M-=LHw^hrk8u{G+np7bx2kdl^DBYtMNPa=aMo(ZGRF;AzroPzuWI z`YFVxG(5#KmpTnt)U9CxikPOw%Yqp;QN?G_k)_=D3hmh`GTZvn>sIE0Ue=f2qf#$Z z(cirN4E+pQ4SVl&@!{8x`bSpiP$(7RfSvNREWTx8R4MDkP{^C?UcxeFF~n7@ie`ZBn}Of~Z`c9pSf^c10;qhz2W#7|tu5?valV0)$A_zkGVtsVdX literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/GroupAnagrams.class b/leetcode/out/production/solution/GroupAnagrams.class new file mode 100644 index 0000000000000000000000000000000000000000..238af99e9ea45fdb8300d52a7dfbdb30ec54a119 GIT binary patch literal 1542 zcma)6TT>HB6#hDw>0}s0#h{}u-ZeomE(@#%WW{(v33$PRQl6TS3L_ztnoO+n-CwdV z`?OX10=iULzFFmuTKu|+I+0jqs?u}%obR0TopZYT^Z);S05FCpHV$D-V%$ayV>T>I z*!UCIB(CdCL8~VvrX+6Iur(rv=^mu~Uf{PHGj&xB)Mj&1ptl-T2wcdn zlwPQpDqmCeYJM>cyn1yqx2I}_UM*kpnj!sSRfCxaI_rDY_*&!n2wbzA+D~el{&NvnJ8BnX1oYEbI$G~y zsLC5;W*Ti~b&m7qfF(|HvI6NvuUc1OE8uMAexzT24 zO!kVNhl9iD7dT{QW5TuTb#NPZBaOz0(aP>u{%xFEKUtCwgOc1D7JQUfSK2m#x3}a(3$Hfl_ zPi9w&`t--E749x(BO~66`1P!sFcs)A&H&B z37n)fj$!;p{}g@B;1o_X;vkBY2iXjk*e+j7XK{{gNMQr#86k#?v=8XF)OcPpT(m7q yUCv~R?~;rqF(h$WVwkI7(|5_u?o>*QNL(>%UIY3N{{~>BtNh3CJF|}(>5ngzv0w%O literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/GroupShiftedStrings.class b/leetcode/out/production/solution/GroupShiftedStrings.class new file mode 100644 index 0000000000000000000000000000000000000000..701116fa98ac92a24da3b2cd6e3d365dac16c588 GIT binary patch literal 2336 zcma)7-%}e^6#i~DyEh~Yg+ic9Yg@Ig0h&@<8Y^j0iY>*aR7(Z>L+wJAuq7mMv#CXW z?2Ipca>g0;u`hkq7g}V7@y!_@{0n^W&v2Zv_}xuHg2W#a*uD4ccfNbhch0@{=jT6c z0vN&PQS{-W#HA=gxEMt*CS$maDT%iwu0$bmQOz?k7`UoN(=lAbJ2AYA>*_HR#SOd{ z#VqC|-jAY7k<8+z8r@Ql+Y)yqJ`ga@xdqoB6VMU^vjX9XV%8DZlW_~qbY*4U@ow1j zd0O^niVJpr*7jUAuNlMsl3NytXC}R3r8KkTF8WS(#`oMpuACMybAh=!7dV=@ow;Y< zw}~66j zQ7d*yr5NxB3tzQMYF*Evckj+bS4;I|k2E=`NYCvKaEvUIO)&DdKs5pWkw-D5S_8MG zYC%1gR*vm6zP+%_#e*^hl}<=}DDhFyKX(P%X53uC_A4H>yz+m_Qd{f4*EVvFf5XlR z982uhr&jFd`U{8!{!g&=vhLy{hf@Nf^1Ohx%l|^f&1W4i&6bw11)?*>inriga#e%w zYte%zREbUOgC)?_DEDQ%yhL?OypB=oVqzYQp`!s%WfACZ7{)!%UR72TSvV#Zku$Lb zSK^+DW#lF9npi=>L=h#4k4<-0iL--NKXvB*AguV?(`b9<~{A5Me(WYU}ide=v zq9M#Z)WwsnXEn_9@pZ%m)?o^ahOO{A+6BJBVKwRy0jF;1&#)(H=~ee9TfZj1V|3vl zqcQB^IKp3)dBkvxd7VZ(&Y}b3{FcF9-gQyjL7cm_7hh1WM-=KSO7%4vloHqJeGDfl z=1aUxPvd3&j?i|HEJtZG=+!~Q5$H;lnqq473KCQnr-#j@)27!%dE9E|C850 z)c&sD9-nD{Q;_KYpK*VAr?Nw_W3ML=W@a>IKH_kwzXfdhTtQ6j1#b7~vwJdEv-ieR zzpJ;s&`;?p$@PJI>Ly{rN+N@lApaCokO{ffp*!kVcRK^!4b&UnM)6i4(g`faIIAjA zi00}Ih1E=Oal*m2a TiX{KQFnB0lm?MG1Xdw3pg63>f literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/GuessNumberHigherOrLowerII.class b/leetcode/out/production/solution/GuessNumberHigherOrLowerII.class new file mode 100644 index 0000000000000000000000000000000000000000..0fcbf05431f4cf4771f8862277ee4bd9b4deb94d GIT binary patch literal 819 zcmZ`%-%rzE6g}Vewbi+SOzRIOPDEvxWiyMJ7zj!$# z){ec)L2}k$R!)X-82ldL6@v(M(4M1LI3cr?wNYtlqFM_jY6Kb zRvJVK2heI|!!%6o0D4*5*Tv`l?8!P25^1!raEVAV ze+!q1;yiEfcqbvcLN44&7gsULC1)7VKtDptKur9FA&xL2#33I1LHdv_`R_6%hOz&n C%bvmj literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/HIndex.class b/leetcode/out/production/solution/HIndex.class new file mode 100644 index 0000000000000000000000000000000000000000..ef4e5d40673431e3059f614bf51bc540b59dd5b3 GIT binary patch literal 915 zcmYLH+fEZv6kVrtW~Q{|A~-^E3Ize%4onk6YJ!$TO^gk7SJ-;EdlwcS*-~SuKJDI`q4qT)_UfZ>x>MqHY;9z%WL`Jxfhhd zu74;HU42q&RBOlg2)C;|0X?%_%9aF#&qdo;@dGdLn+?`Swi)Q(47|$zn)jxMWp+F7 zuza6ukE_A;D#Y|dbj5f?Ahy{&YE^2F{g76?d$YUez4a0>5jAl;fef-HatSz?PhbJ_ z#OT%u426~Xy4QG}-ze|ZD#2ywDDdm~2d$R(jtu2tv&D=O!Kn;fHLZEUE{ApClboI@ zDUI5JcZ@0M9CP^7AVMbG`*_OJ3R*q)8R8S22x8m~6&ygEexh4I+s_lP!yxyt`8_26 zz?^fAh*oskvbvl)#hC51Q&lJBodl=pq;^} zx-rL097zn}8as&JyF2uT*~5YHa~WVZ!Y&Xq@)vO-{$Pwb>yn?CAx@O}vePcwa_4Jo z-C2@J*)Hf>!LSTV{{TBFEyFFC3zlh4Q^;W_=6m{-+L$#R++Z%~nm zCCn=2I*N>rG8R5u`Tq>cy%}iiA5$~vBU+Mk(RhP{amJ*Y3-x#Cm?mzTumx9W_}srR Rd4Z@9;y0NIq=+BE#6ML*i~|4w literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/HIndexII.class b/leetcode/out/production/solution/HIndexII.class new file mode 100644 index 0000000000000000000000000000000000000000..3ce9f71e8875e0afc8d52d422b959ff91ad7296a GIT binary patch literal 595 zcmXv~K~EDw7=5!lv!x3y6Pj;cSkz7Y|XkD5B?Yv zO}KFJWa5FViND6H2hq3NGKcxz_vZWF`@Z>g_2Ux21KjoD;!XuC6*L9BCpNYDK)~JT z90g->lPAc*F4mfI*XY^g>z*SVdf#Li(+m6(+FiFuQ=HM7TK#@c?aqqi^gyP2QA zKRL@Hvtx^iYS*US6a7IiKtj>tniOahbT85AaqrdW#6&sP;BfWgIG`64Z;x4zQ821| z-yy!0&lTQYNjjJ#UYHi33ZI$4e908ezbRQ%?`>Xgxr3IB`?4L#FL=be9m`Kgebow7 z-1h=+Gf>^nAh?*~ub2;%JQ|#%%E-p^e?MF8_=0Lv%`Sb4IegC0pm&q`Dr)Fp5%nQW!Ad#lE~ja-qJ}ybT*W$T>*bnzv*|f2dv9Bb5PfsE$LR_3ttLoe2Nco}8V!xcNP=2m=$GRH%g3F8!)Rk+O#BW00vj7E z6AOQUf5zU#kJ*z(b~E#4-psz4egA%a15m@30~2{08#Xoxv3=#Mut6|OBHblZo>ChiVo|-}UxbVep?KSfysO z+$4}<(|E;p%{C$=+M#quC-Pz;?6iaV)b);(9-UiK-yO*sDtd9ZyAuRSW&Z>;WXjNW7&r#WCAB#xB3dixk2CTy2jIb6l`tdzWT8u@r zQP{q%i@bP1CeI*xH+6Am(&NuZ@rfHuXwmg(1Hl_uDDVg^UgOwC4hgObEwvbm!)fczwx5xcXdYxY4Tz! z8!XcGgBEjSw-@ZOYh%z8h^=)7y+-gbRHRbp<`%a7JwFZ$wu5{eS8!Eepb4r%!>74>CO#|%vBrG6#|!lrc?73l@Nb^RU0TW$fvEVYgm%RVCSf@kS9`T!DodF1oQI`` ziI4t^|3CdZxe8qRBOX4Hjgq%yE}512+cG1M%a&QTUE8$|FrAUET_`)*a>RAK%`8Q# zxRIrOn>u~Xo@q3tUvYx>&LE4+$ng$y@Nk3iBL5s}LWR$i<1rY-!Xr zwgs$5Q5aNtgUi=OM+?q${ABN1dGxMdQhkG~5b}tysr8K#n89NJyBa$Kt zjI$ukC>O?k%8b(Rlud7v3X~6$N!kmaMMbzP{@zJ&8dP9GS5U=ujk^`xLxY}IXadVQ zu{{XlH|>|*ldwmprOVM?kR8))7`)4Gl4nDm&!_mDfCQfonstF)o2%feT4xYn2@I52 ztzyWm#FZHVi$ox|B{DC~lwdtNec0NMMsbhYEcBMCMxzbVnGZ-z`bj%!lgPf8p z3;i{o1S3g?(!?d!C2FqFCHLH#>CQdrfEt$RD$&3-vJ9+}rD6O*Ni4ACYt2LbV3&vU zq;E=JIlg6E>z}b{D_^^|<=N(ITQQ8UZ0(!xE%D{=FI!zk+n_9HXVI`mvsK#FSsUzK z*hRd3I^=Vkzh?Mt+#t%Yu-CIPGpNrc>CeJjnMx=@hEyB3qg@pJ` LOMyE)V!-(asf2If literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/HouseRobberIII.class b/leetcode/out/production/solution/HouseRobberIII.class new file mode 100644 index 0000000000000000000000000000000000000000..377be24e0841a9dfa32c735eccdc31cc83455f9b GIT binary patch literal 729 zcmY+BO-~b16o%hBpJf~iQUydr@N?QGHX*toHEu|VleCx!VZn+!^-2eajv1!Jzv6$W z3lb8H3%4fxD8hTE!$&vgYuNt>tIEPHr{6&I^6 zo(ni1;z68$6flGOu7I_XepLd~op_+OhDVXgc4U;WGTTXeGTD_`tn;#H<^A|rV5aja z9UiMMX+(V(hHXyE(n#Qb(Amk9+TzT1J>>K(O>+V7wklA)quJ9UvB$>kT=u?q<&Sca zx1A2Np4yBxN^Nr6+e3LGeN4ggF@uLLUif&4S3X{&=Hm@&E&?BQG`MTBljOR$mB_(C z>vMFddW5T76Z41@nUF_=C+Zu&*;#zhr?1|&b!FbC@<{&V=O7I0Ay)b375)RjgwR~H z_n5Wl1-;!khd5~R{)cUjmVRNac?PpVW0{=1uOs^=vh=p1q=WrGa7Kl6vaE5; y;+kbH1&J+Y4zKXII^Y%W>DLLPuUr`e++cP~OhQrhh`4i9SumV6LeDccuy6&Ti+4f* literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/IncreasingTripletSubsequence.class b/leetcode/out/production/solution/IncreasingTripletSubsequence.class new file mode 100644 index 0000000000000000000000000000000000000000..5ac60c50aa8765630964486e42ba4077408b1e90 GIT binary patch literal 624 zcmaJ-J#SM%5S)D^ zSd;Yxers!A5ImnAYC&~itbUcBjC8W6MiVmi!8BHreU%tjFUTN!XHvnPLEpxSR;jV$ zy~LbObT-UKseYep8|$ZnHS>R85Vj8bTW7eg`3ZM<2gKo9lcX8Vr8=J4L&3^0 zQ}OXjb-EC)45xV#>lemZ+q_JD=SY1}%P1kD4Tn1uWyhVq&Gc9&g63tzg4(~4*P|mH zXV^r*e{{zK9U@}9!m7h8%;EMo$k(D>W-Jw?hYIoX-v?MC0`Uq~8Qt&?E^|wt)cxJM z-}4^^ji7!08SQo>*lB*jlFPd@G+e&DsCzSn!P%!kX7gYE8K-?X#d}2z3u`rMZBXql zwOUlWj~X7(@?%^p9CfK$ru8cM!09i%Ikbj4-T8QgtL%E**X2}=OoK015niAyBI{N8 M%`Jj;vL3Gg0b~z*q5uE@ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/InorderSuccessorInBST.class b/leetcode/out/production/solution/InorderSuccessorInBST.class new file mode 100644 index 0000000000000000000000000000000000000000..85568325d911cc9f2de885d258cee67c9d4a6a9d GIT binary patch literal 3055 zcmc&#OK%%h6#lL~W5>?q;k;UxBn^+Gi5(|U0;P^gY5F4Ix+O^yl0w0;ht#cWyJNd* z5g@VPAtWRatq?1OKy=$mRU@c`V3P$ufgO((8^pG18@_wTnb>Y9umB|c&Yg45J?Hz* z`R<+X?|l6YfHA!6M>{6H*yo1}lXBQEhXXz|;Gmox^5SXvG9`y+{Ak0oUc~({q<0$* zHzI)}a&}Y>&v`NJ#f*R_mdRyG69VqRp*aCn#xVi%#I7RX6hCM`Uc~(mT4xKXMAHe zv@sSqlTynHr%4A1pq=}idoC2;DEc2W|S1sBLg>}R| z^;=^bNhTPkNyR&yEGUL7H>=8o^)z;}UY1GfEz4$UZ#L@?7wDn{d=J(`HfW zPoPuLt1?vxwp9RCtx#z*`LdNV4`!s&w{0rs5sAh?2RhmGI%EcpVa~ujo;R?7UIU9b zF3_+pa|16(Gxp-1wpiiFc@TrGZAg*%a!WNDm zW%OYy=Z5WoAhz*M;68M7pr>uow&lNnnJRZ`GIEMtSuZ{i6MaP zBr`xd50l1jBH2UFN#Z-m)uZT9s3&Y>71YE?d#_?L&HcSZ&bu0YEQ}kCID`ji)0kmD z9^_2NL(D3f+g|LtW5BfC_`e`XxnwAgynLg7gF3L0;~U=N$3S}3xD=7p%fieOMD z`0h{FehacwU!lc?c>-se zQ|B`hrtT=q9X(QT{?E}dT&K@p93}oBkA%&1o2uFpnWmUAO$;VQvrML^6w5INcT)^RmfcBQwl8!REx z8@J5kun8#+{4&!r&Q(_x2f5ZywMh;waQkk^cl^E5vd6yX9BGb27*>}k7 zUAF2yGJRjM{4d1FPvqYbqo-DkzD>pW0mb+s#rP4~T%;H;QAigl#*Y=7e^rc6QL8TO F{R0ZwFpU5J literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/InsertDeleteGetRandom.class b/leetcode/out/production/solution/InsertDeleteGetRandom.class new file mode 100644 index 0000000000000000000000000000000000000000..c584613b7b01715184a7eb1df5bf921873c262bb GIT binary patch literal 1757 zcmZuyT~`}b6y0}b!oV_ zfWJXs`~!V)Euo@oxqS8y`J~HzW+o(+Jmlt{kGs#_=iJ=<_3v+g09e3R7RIn>;v)+h z7W;4tOC~NKJ!UZ`-YT=GLVh_1OcH*#;dQ5)Th z1H>(qX17^nV>lER6N$f{GM-;`pR=9fDW&_}7JAH> zK-Na18C2Zsp0GUKmB^e7$wnS;aboR(T?qo`g>=)#B+e-0+M#roHr~K#cE24+l-YO_ zQ#Q)DZQ~BsP29C{59>DWbqUlbx%4vn( zckHJAtjS_aUCwqvJML1L>2kD_ZpuWV*YjoOO)1I=3*pyv9VP0aM9&vW$IEpEHhuRw z?+(w%4J=`b55pKA44tn8XA6aKS{f$!;Uze-&(h|M88hhP&Ea~E*4I3#_&rm61y%eV z+M`#{_hE3G;kIWVCbzxZ_U*&^ImVvmI?9Iyd{hh!VGzTtd=k?b!3@22f{61d&{CL1 zF|GDJ^ELV|7Jq>`{ww+qVE=%O{*tyK_90Ga*lI<^dx!yQt;V^7TgFSC)>)~=UikPrfmZW}6Nu?ySe7DE$yhYRGcjVsT2AVTme`y~C8S42sIx;&5f&*-QB9s|&T*Y4#Ti_n zhBfx_A?ZG*hHt4s6fThR8uRDrGlcw+)-ctY=P&p@Mm6HB;eGD(Sbs0H>_7Z5^Vz}& z#82+QHuGdMdD63lV%+xwjIM|=-XT#Ypv4oAe9Yq@tok!$*yUYHQmiS;JzoNjDn`PX9qK zdsSz==}m9A>5RluXFA@t{*3+&rqkz~-H-)grWZLm@AvyY&zqCK|NY}n02lBqg7+}3 z;dTTeOt)efcQnjI(Bugz4R<4G5gzvm)9bOd73 z)X;KrpX%To3Ys0m&XtM^x&i_BrH)yeCoJ1?Cplw$WRc}=mU0{MUow6&Y$SwvG)2y@$+RZ&l`+UtVSZM3j72 z&G{#!kPG0E6)Z+>+vLe_ zPZF)*)B$-9%%WDTXM|j{D$~WX%YOO0;r6yzuIU((ub#LcC?ATHujiayjRxvkE}m_! zv;NU~P;hLK)^-;KfC862@a>Kju896m$5a0k22B*?OXU3`Q+#lT`2oUwa=C&~@FArT zPV&QD-Ie2%xp%aw)N#Rio~2Y`q{8p>iC0h(uMv9q3gIoNyf*RLyakQd7G7IDZG_jh zE$F|=GUs?6M>EfMCT`_R9Hks%`3`)9PK?o_dj%+;r=;LxeBu}XhcPO3j}tGU_5Y6c z8lu+*o};HOzebGZI%?=#qDmDm+vo~GNPfVPH;B!h71nJWB`P_YrhAELH1$`g;Y}7$ zAsRgajb}F->ScS!h*m#a8o+f7B7-5>Y{F~EZu|Sxgn;I?P z;Fau_3hOzAWrbd3E~vtTi~rg@P0rNF9_F5e2Tva zpxBcOgrIoAkXx62|e9%-JBpvn6R0B(x*kv4dVRu!A232UEDg pQ*8WQf8&S6Ed1!ZGu1E@08R`Rl6%w4NMJg!%)`6Od{cVe`VaNi11kUk literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/InsertInterval.class b/leetcode/out/production/solution/InsertInterval.class new file mode 100644 index 0000000000000000000000000000000000000000..8f33958214c868743ca176760bd3beca7447e3dc GIT binary patch literal 1243 zcmZ8g+fEZv6kVt7Fue>=u2Mx2QEZ{5ig@GZ1q5pfCSdULHnbBuP^M%$MU3&u@DKWG zOnB7E%hA@QT5aLM4 zFrp$EfQlTo z)jW~*bRnbXS9IHy`wHlDa%NE=oK9Iq!*)`ZW7ykzeu8C97ZHd@)9d=So-8?LKAAR) z&IHL7TC6c8;5REtf#3;IAW+5Kb`2E;LYDEeT9(aiqgcv20^RjPzuKw}-rLZ5@}$=^ zr*B?%^vuSBzUAsvaZAN*n#nPi%{5DRN;VytZB$lQpzcafdEez0hzM_cYv>VFt4*9%z`uyoQIE z7ig*P#uw@K$m`Zx^6~1rk)eexwQY+8+E0KK-=ppnZ28*$FT10)f~ypos^;|KqOrpg zylO9a)hu_@S>@NXC0i*vx=pS~k#AU8Mm@{eRdKzREvuF1bkPOf$&tQkS}YSyrDC$g zroMxIH1lhbKM#1v5oT=TF3G3hQyDsh`0S?J8Jk?thYqf_G69|F;*K{9r&xrC#T2|` z0=wVfd434*;_wlC0^`1j?+A*(dt~LRN#F<6aV5SFe?-|w;3HZS5#cb;eul-~%e=vQ&!7ZNH4BFE@E=822UdT@y+2Hn-=e_mG-jQ{`u literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/InsertionSortList.class b/leetcode/out/production/solution/InsertionSortList.class new file mode 100644 index 0000000000000000000000000000000000000000..8454e96cc7d4d483b5501cb97bacea2b9e8305a7 GIT binary patch literal 703 zcmZXQUu)A~6vm&^q)pSMx^}MGsne+!ot+k?H?AteU{K7eQa6})Z`0s1+eFfI==TwN ztDqDVye#4u5{5dTH%=56l5^hkoImd`=j+dpp8+&+tpE#47S0!t!3CS3^Zru1j@~Qb)X#NVGHtqZrAaOg9VfwT)|b+p6C(0hN zh0hz0di%boX=-h~CgVU21k%O|a@?7RWKxqXKmfAnls#~nv7;xq?k?5^ly-xP)WlN zU|pSdf?_JHo0Fq2H{8k5bd8;FIo*IJx}CCE1kaPiMwtXl%-o{hB-uT3ZIEn}`eW8? zb7z{qNy0_6P-2J4?}6SWXOjB(kM!vbHR04JtSxgz73QnReTQw~><`S*@?9<+!an2} K!8sOWQ2hm11%vef literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/IntegerToEnglishWords.class b/leetcode/out/production/solution/IntegerToEnglishWords.class new file mode 100644 index 0000000000000000000000000000000000000000..8dd9878ce0fbae8a7fa8f0c7a1441a47908f47b1 GIT binary patch literal 1829 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 E15kj#3IG5A literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/IntersectionOfTwoArraysII.class b/leetcode/out/production/solution/IntersectionOfTwoArraysII.class new file mode 100644 index 0000000000000000000000000000000000000000..a82d13ba04efa799b47a80ef76e83cbe12cb1975 GIT binary patch literal 1443 zcmZ`(Sx*yD7(KVMK^YLiK`V-aTgz5KMFqqKTxzP-NHB^I4lv+gX~}eo(Ptn02|n?_ z3yCjkV$i5DK51f1@Gtl`FfQj#r&uDE^nTmU2&uEsIx>66-Vd7LnC(m=m}KIrCLe@H-yC&mQS;rx^%uqEy0 zoU6sT3CA0?C$jW3r1O(@cFgu%X@^eLzvmVNn$xMA?|21g(s%Q@%=GAk{8`Vl9~M%n z0fB0_92BUEkEg~{iSd+xaQUUwa>cnqk3d8^1EZJ2%-Qn-jpzK#8~^66&uroxhE0s%yon1EIf9DTQkhDsLr-O?(8Z_2XEY}J1y7Z4MVT*h z2F0G5;#1h9ZsInhY%g$dv*^Er@bwqmN33scyiGU)TCs&cI{Ar!oTGtfBdsK*pw!x5 zL%a;a+j#1MQ-wv{ECJAj?X(1TAjXr);uAC&^sT-_gGD=^f%fmL<$u_~5-e|v{&W=H!~rBAc8PNrY$>a;YOz9DT9y)iWmtf1y* z8B~@lFvI#&<@y@yKaa6|3&cF7y-36|X?exWPn2Itn56Fx^J;JeJJHOlmoXY> z8lIso&~#!}Lvp3I3%ditSJ6T(!j7M@2YaEg>l5y=ja8Nr$38|i>}PhL5{v i7~2QqCu$7D#Tt48Eg^p3${Mu5Xs5fC?K%jJpz{xe8%bpV literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/IntersectionOfTwoLinkedLists.class b/leetcode/out/production/solution/IntersectionOfTwoLinkedLists.class new file mode 100644 index 0000000000000000000000000000000000000000..3633d4be5a7847ce1711bea1b96518d7326cd6c6 GIT binary patch literal 899 zcmaJGq~%xb#+Kc5Wjr9&pzgK= zGFI6OoMy|Z2Cna|Z*RWxS-x&XNf-SRA7K5DJKWf#^Sk zOR_AW)g8O`WZ<7tcf;`*O2V7_?zVMS4N6J@^9gsdpTq)qA9lC~>TxfDs}Pk7A6L#lnZu zYtmMhl?Am>(oF3H2~+!wP)R#dM5p_E?h2_&ayqSkfKli`<#9ilV^ApR%7T$L$ke_< zd5^@AAqL$#-Cwf#tf`+MV``@U5xS`z4^B;8Ua5DwKgBUMDv&eGQ!zM!Mn6gIMJivS z_A=sdkbsYI93qJ~#P5*q&ALq+CKo5C@xQ)67EER*xi+9Z*n~tW=E?Q7ag8X%S9VHL zfrhuZPNeeA=YxJ_tl$RobWE`3A!6qU3t_-K#rPRQeGqv}e})lSiT*&P6{na;$*U$= H7{blJ!Gx~x literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/InvertBinaryTree.class b/leetcode/out/production/solution/InvertBinaryTree.class new file mode 100644 index 0000000000000000000000000000000000000000..97d175d4f49faa5ee3f934b29c23091a4898e867 GIT binary patch literal 1117 zcmZWn+fEZv6kTUJ(}8wq0ihL?tDv1uOBGRwMIO9GlL9diyu1x%3InB6hbajU{)j)| zD<&dA6XTO6{*j5db*9BCCX;>6S$oggYwdHs{(S!tzzpVMFfiGP7%t0jC5AXMI?Na} zOvaIgB|}bzypAay1szufqVsOe4Hg6<8FNiQz3Xi_0?CqFbCw#r>yE!_uUCommb|iE zU9){xo?DZkID&KA$NWh@kRT;rUmZN+Q&W#@q_$IyS)>6GkepbH5D=aDvWQHDPB3-q<6aGX2N zM#U~##;0TOQ2`O~8jxU2@>Jj|xN6yBh&S9Q z=w^(DUe=a(dla2>b4Kof`7TPTZGmP_Ov)FUWXHWzLp)*-7R zA@d-)K`|SM zdv=WIV$M2&uHZ@T1RVme@Q|BMflr7n zUq_)GHMFx34kAT6Y1$d&TrW`Y5JoTzlV%E>{47n}#suzR63fV7jTsvjHjoc3&rrFE zIsTcZ`2wF39~>F!=Fb=^tuZ92J#X!;6>m-ruZTQkN`zO2D5?8`R3TYj) zCM=W)nLm<{lXR^u!qeJrv*o!lVdNj$7BQQvfw-1ea-52T1*rTHaw%XCX^uKqHO|C2 zRec6M_2~>pNrU$gNAtG<28R2Xi7X>>_?9K5sI9K5b<6JEqiB^LFkZ53Yw`F6O8rKm z?)N)WchI#iH1(0&RY;2h-vT_Yu-PcfO>>@S6KPrP3(sPN8I@~$U@lKNjIq6f3i8Y< X7-v2U?GqZ&2WE!WiOhC&Vl(S_4;qoW<29Mf<78?Qw%(cGfbeTl=JiGq7YIl869rHYr z3L645%})E+>3dRMKyTS^$B}>DCxSqDuQTY?ou{re8I#9jA6CPDV@D8#u465N+ek-n z2Wd7;-w}w*w+c*Xx=n;PZjb0 z;>8RI;SQzeBoyW*U|4Lq3CXnTSrqXgy& zrQrpxG73-yScLvZevE7446$$vIjORfbd7ZeNXSd?&lfVneXD|ns!2bli=yX}n% literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/KthLargestElementInArray.class b/leetcode/out/production/solution/KthLargestElementInArray.class new file mode 100644 index 0000000000000000000000000000000000000000..733a01f6b253165055bb26f50ce37765efb4e534 GIT binary patch literal 1991 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 O=lPG&A;|GR2mA{MY0-`V literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LargestBSTSubtree$Result.class b/leetcode/out/production/solution/LargestBSTSubtree$Result.class new file mode 100644 index 0000000000000000000000000000000000000000..09fee2901979328e817b148e61b3c5e538144d2d GIT binary patch literal 589 zcmZut%TB^T6g^W4m0AT<5b%Y{0&5~J+-Y1$V$y_YBF25e36|8B^r0Jn$^|iT;RpCp z#xs>2F6N&5n0wBd`TqI*0&s@IA_{1jFwj)lmI~V{>=@WH&=Sax!Zb((gu~nqUu8s0 zr&EQ6IGsqY2y zCVd{t=-wUr?5y>}k?TLWk*Df;Q&);)zLRn4)0O1}fsA^-8^@CU=Ausf?<(z>gD{Oo z^4e4EwFSc`6ZgfnU}43=D)ucbp=iNWVHrgO2Lknlr8&DmS#5WHHyC$shZ8xXw_HcP zud=X%7XR1a_v<_qVT97jkWxUotZc9rJgX=X%go-OAx~`D$1@1~1Dd@(L(blrLAR^= z4Ec9XHB=aD*-gb>B!h`{KB7U^HO|idSlFwvB44Jaw3?Y8Ez6XnT$U+MI(au)X{e)0 LH0h~;U2Fiq&{l4~ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LargestBSTSubtree.class b/leetcode/out/production/solution/LargestBSTSubtree.class new file mode 100644 index 0000000000000000000000000000000000000000..23c969afd953b239fbca81d936b0af308a4bc56d GIT binary patch literal 1169 zcmaJ<+fEZv6kVq?W#}+aC{V5nC}0_GUI0<>Mg?tBFp&o18`C8lT#U?7_KYT`dBt~0GdY+^dyXYYO1S$nU2&W~STz5$rQ104xW#L$LGon}hIw1&&d z>ywic6tAM&pMvHR@u$le$L9f%p|glz9ZvW zQVq5ovbATkmS42X!P0tey^;@n+g=c8bN@{WG^esT?yj-O!WgToeyPOn^wTUm+Opj} z+ZPx;3$8CQT-C-(s%t+dOYi?MQQs+U5u}!#SCrGd9$1B)RckL)!dbJ4^-{$z*ei~d zo2*kbwQcQN2D;E~pc6?07jRLayAD@ti~8k(Y1i_K(-|+Yi?%OM-_~%)z%Ygkj7oD? zQr(kgNt!g08t%&q%LZ1kOq#k10L`h!#o}kML+^ zFPyQmZ@G-z(hE89mQ&tUE7;;jiVVCbW!LdA#Alh{OBDQb0<;Q!4urOc(L5sIo^BpN zn965FJ~10XFRjj1o>UP>A3dXrL_f}j`STd4v80KV*d}xQ2+9-l5RnfI&(b8&fcB6k zS%ubUcnE`RQ!vZhsS=6~Xo!;GVEjAUzCwL!Dv5@Kc7(={=J+9EtgE3O=X_?n6M-2!#)0hc9b{ n+!m&AiT9);MgC?eiJzF&FvhQmK$FP`#?ir5=d4s-Z#(cC^rqv8 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LargestNumber$1.class b/leetcode/out/production/solution/LargestNumber$1.class new file mode 100644 index 0000000000000000000000000000000000000000..fc4bc7c5cf4fbb153be23d0a64f54a8f0dbd0392 GIT binary patch literal 1161 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 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LetterCombinationOfPhoneNumber.class b/leetcode/out/production/solution/LetterCombinationOfPhoneNumber.class new file mode 100644 index 0000000000000000000000000000000000000000..989c561e5ff77422f640fd89e422bafdd21b1e7d GIT binary patch literal 2612 zcma)7U2_vv7=BK&$!^juZMSS85TNp*{iIkRBCTjCAk{#jL29TUY?3A2Hci5I!h(q%8?mn6o>J~3z*R`$jEr@rQ?rL2gT=X(wctAc(L!E^PcxS=Xsy^J-fgB{o^A5 z`>+tjGZZJ+j8_y6W+yn zIkKe5sK`cP$|w^#X>4gO$eoO8mOGn~Z^CqK>d4WIidhu}f#Ar*gh2aLa>lx34HT?m zejw$!PBA|u5FU1lj(3PbUEOB|l+jYo7HCO2Mf+rBE@QiAtW1F(BU#E?g|n9H$a&qV zc+<|jKxZ;(d!Fr%mgX`}(ej*9as0xm>Cz$uk1+}>Be-v8*J?)HHCM%R3Ij=J-jft_ zPTuhtZ>$a{;{u}uT37GuSWfwBd6D+c6|uvsaS!p_=9Fh;XHQsVKU)=Z0+E!HXMz=% ziX8YK?EeEfJZ%@sw!1dQ*a~(-tJ%p)i7cN{fzZ5XxfDQ*@u5hf=$HMJilRVr4UQ}E z*W|eNneD5qILH$nvbb2WD-@+;8TsO@ovRm7DcV=avaMnLwA@0Sdm4P~yZW9rX$kCV z2=)QijN_$JQ4)xzN)(&>xgyU}$`@VgAM`4hIJtb~>NOqPu|r_J4_5E!#q@NPaZ$$$IH1GDJiAMWhl-9% zxUAy}t_o~eN#bzDDdcQd$2Ghs&HFk&z=t|M!gXe=<70fH}X&iv82vPXjaWSrymEZD`oH|OcZ0pJ`N*y@WEXIx zaLneSeU>v9A&!6}J@+AcTBAQ9kPaHbR9cZHWGJb0*a)T4su515HA79MTf>G%s~Qnn z&4|)QjHc8N(C-l^fahrCzXC*7(1b3I^x7HdMh|BKz35|vJb!^vLB2OVM05H+)}83B zqU9#^p59=e5xkGqzPnsid{l#PpbZ*xX+b+S^4BBLJ8KAabYh_&yLpO?8^9i(^gN>^ zhni=Qp1t&F5Rb7@E03(3Od%f{0+FSSJ z5}}^&p_`$>D%Kwi$HI>iYA~UhnyKDKe=KZj`x23!-neqU{~=6f*AY{y*kDGg*jPo3 z$t`H&+b6$D-D(+bCnq3AyNP*jCjTvnV=E3}8>aZSSWB7laj5id!HYPEh~&7Gd#0Yd z^bKK{xyX@JL8_d=OH@W7<}vOcruK`<)S?C%C6%F~#uMU4RJ^R>6+w+^uMxp!`JHGr z#ST-`(ZyPd@3^~(yYDpAvh5~9eRu1QlPqZ!n`waacH6m?(GVe8EH9pY{b0^9o+a5w6HqzOz)eJ4-El3rAU; z02zG7UB@Y@EKvtN8c#clv8A=w>c!fR@ME;8c>OPFli~?^MQeqlQ+k%wZucKB|0Kv_ M&kLO30Rf!+2P)J*t^fc4 literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LicenseKeyFormatting.class b/leetcode/out/production/solution/LicenseKeyFormatting.class new file mode 100644 index 0000000000000000000000000000000000000000..9d3ac22668a6d24d7a54a017426ea6b68870e0da GIT binary patch literal 1073 zcmaJ9homwo zmbq-9x zDAx8pN3OU^U!s$Q3DwO+526D7|93vCt>b}-hnO<)2-75EnRtvD9ZyU=MOHbpCgw12 zVgZXBNvA#n(evuhOS{tX{|TMWh(D_$tK0rg>t}H)VQ0tomI&2S`E-uHU9Zb(S-|Qr z;P&~R52x?EdyXY-$CsW!mtT9yf?m#Ua6norr+N%>yI{<^Cl92j@B^ufa1p=uS5&M6 zFpD8{^JS|q0KP{=X|K@Ba2MP|qel>*Tj^ffa4V>zk7x4~fEeQR_&m{1t1kaSkVs(b z8v?J65L_E;Let9AT5viP*WO`nEUq;Xidr8q9uE!H-y&u;5q^(ut5ikPH~88XR|Tb}F+%&jBQVm(i0 zQ7jXifX2uIuJaU9Y|oUa(*Oor>b7u$*#N7r<0fvg=WQZ;pdF)6$B+=o=x<&YxWjM& G!+!w6(CVxJ literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LinkedListCycle.class b/leetcode/out/production/solution/LinkedListCycle.class new file mode 100644 index 0000000000000000000000000000000000000000..07acbce180c1bf488e984ca7f6af4eb609dc8b62 GIT binary patch literal 544 zcmZ8exlY4C6r8mU&P5IgHv}Psl#?`cAQ~j9BorVDx{b3CCniC$!|@^f0#zC$BqRz- z3OvVd^@H7O$5UGZp{DeQ zSYRT{eLtvCc`J9!87I;Y1R}pIIp6DEGBuTK@WeqNopx2859ioeWcNY0-*eQStIeeU z&D&_n3mL;0#@QRg5)$86`0Gg^sk_Ra?3|YO>n-KbL+HmCM|ad!fK{0MMfx)!v>>C+ zs?02y$MO#lcf;)vquwToFk@_lBZ#sRtS1=t;Twu+(e*;LP%AzoQ@n@qjM)-XO=GTV zv2^?SY7NW*8%=2O1ACG_>^q;oxn$9qq!}n(pF{f5p3U zg@lBJgGUbjAs&rqLx496#t=5U^L_KaH}AcjpJ&HE04(A`1};j&xPxgAcRkz_q@M@9 zAYK(XbMspQcdg$sf?Ol$nbz+6wi#^dc1R@O==(a{(u2V6uRu5M29aR0LHdsAG=eBz z`{IYDUSAQ6bWCjgOF&SZBPoholwXfgs5S+E0I(D73O`AYT2@Ri)OB#^4(Q-jTL<&J_p%TZJ#A@9pPL(;>dyD!LQ&@nCGNILY1ZU?s(qJ?mquK|N0%kBRq8BqH5!&3jb_zfxsSYskk>B2nwxzb*viWBJsxzz(JR&I6DhQYUDe-Fqe$0N&`S2ABSDE8@j=+r z1{2?@jkT9rJGT{Lmlgs^w2=r!vo|6OPA?gsPt95+j!a854-F# zd$GNA1a8WX!?#IO4`BICJ(I~9SZEkk-j~bEH2Baz&DcWv=5{d;!2+w-Fv$Rl!5Jj@ z2II{c%u`sw+9@)hQ+k210E^LOoaJE;OPptsNNIAIb&(Zih~z0PxPq%wix1@J(}B5R zYz8ODwCg`mVPd@#DSyGtdt~b;us0d9?T>$ct$ZTeq$f~;&A32?MQRl3T0)uHtIU07 vx`%*Y9NfS%oz1kKbYqZljU29of9nb}1K0VTtaCUbHY%mx)EA!Bi(35)Bw~zW literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LoggerRateLimiter$1.class b/leetcode/out/production/solution/LoggerRateLimiter$1.class new file mode 100644 index 0000000000000000000000000000000000000000..beec01466d02c4886d2a82a1c4d30d9537029ad6 GIT binary patch literal 1232 zcmZuxTTc@~6#k~&c41kd+=@56R_FyO)e0!s#8izuqAC{pE+3u3slUrq&X*T^45bN(7r^-jbeFHHK{d8hc@n!KnKO zf?={LJ@KL2-WS0qzVDJ|y6HRI-Q$7Oa-=l0I|jSqc_OI0ywedR&JA~gPF-c^D0TARa~LW3dUSG4aTw6;*bDJ9#25R9PVnREl>JNw7NQE~D} zqsd2iWy|BLt3%p~`53s=Rnjfj!^pYvgE%gVyhgcMyM8xt#5<{Ll^v@6icWya`qpz? zzeDM63w7iln0RJm5>*@Hn6U92Yc|%gVd902mmu1y%fuU=64X!|TX@Bgxis{nurZGt zy6;!po}==_(EZ#PWN&oT2|sjnPLch7swhJsm@s zNdx!kof!jp0Lx@_;puft(wanuv{Q7dAwhq@DwckL6@Mb}jidyo>6s=BFpC*_X8S0T zvLq2cWTR=+y@G(K3*)HV`Q0D p52Ke(^vXUe-ckeyt+~+*!IcN9Je}4NNz&y4GFot&xjN__~ zf`Np3F6(&DKng1cl6YT5d@zV>_)slH9jhvAO~-WuC-IRo-cXj3I)1EnpQxp5@ZP$P zn>scG%u=Iac|}LI+g4jZbJt}{AYFba_hi1~+fM$5Z12)o5E!V~^@j92o+WU#J7PIB zIkHjDSA5TI)C)07so`67%PXu9DCOSnSRJCAilGE1Ixil#^}r24mhFb^uLvZvGn-^y zZ0-DlTW88v^`X1VEdxmhQxJJPqxwrl$&NKI;v zCB3!BE!(qph@35{1PQlYS7?DU@ggaVZ@X68moB9fC4mzaU)CN`v_lH*-DbzxxkXL< zb*tT$b@Cd^mb$TK?hEL|3PUu7%gmnT6PPYT)@pQ4&&|yVWV1ck&&1R_>RjJr#v7Gp z$E#V_ZKcXsSK+g&FcTAa)x;#G*qp8z5EwtQv6`l5`%j`)rn>;AuPC5fYPoIVEY9h; zW1@n)CO!oP9X_t4i7nha%o`{i4ULH^?wj}wn3A#u zmttf4p;e=dV?9+Por!Erx?krL~%l!}rFs+~yvw`kwM`JP4*J4srOF zafq36!&|i;$d1F@OFeSO#xG(ThdLtP>iC%AM`N5{rat~TA`r*~r!zdWwJ*=-p>fao z;rbdQs{C9DJ}=}B(3g9TMD+mLGYD>z)#pf6Y1a?X{|o~^1%Ma0ju0eV(-^`ifzDu> z7BhsxMO+GE+4m^TQ-0VIw5{cS#=x&I1inEb+z$%8fVrOGNnGB?i5EDzkD;Am<2y`* z5yJvok@wWr(|`X^L=sR$&OzsTo{1+}^%Q1FWr?0^9Jy5{SEMExJHh=7a@2wpB6@1~ z1}>A}o3y6r`wK;$W|5Cb|G=9``WA!a!{7dbk$t2?ek+LuEps+tnGW2Uz&pC7EoiyS z0ZyORzUS3A%~>jyXOreg_zDxh#nU|h?*ugG!&EQHEk@*+o;MWrQ5L4|C5SP}+i$ZA zin^%Hf{w{#hRbPicJaM9lMI5tu3E>=G^o6&UeoE&wqY<2;d?geJ+`J8_U}Kj`q1MaYf=? zf#jm=yJ1lvmd$Mn#Fy)PN?@?;`f9bczpEP8on4QXk#fD_c$-ec)z4jHJgm7*flRqv z_p7QIF6}n!UMo~rTu-e#VXYuA>?yw**18VbC}3yHx18I~tmpXE*^RK_`qe_NB#_us zfxZ{iQ-RY^eppsMp)m)cdBmiFJQ2%C*AH4D&t~XUK4;aAQ!8{m7NChpV*Ab=fwBMg zaW{C}%hdlv7JCYn{7_X@qflg?bd+$#2_h0A9k$yc;>+WMrTeXKuKD zxaoK;CP{XdjJs!T`20h#H2_z%ahTD88l7_oPSneT^~m-0Rbrq_&L7w{tU zlY=flT6>8$t^u=6;VcO^@eO?^$ySb@n$OPNIo_S8WeLV1OG=4pi3<`lLSj}3;1Q0~ bAcoA6c!V=T91{AIUVkIOlrJ+;A71$vqJ}@h literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LongestCommonPrefix.class b/leetcode/out/production/solution/LongestCommonPrefix.class new file mode 100644 index 0000000000000000000000000000000000000000..7c9210211fca165fb801dd8cb6c3f554f91548a1 GIT binary patch literal 933 zcmZuwT~8BH5Iwj1)z(ESWd)R?Re>!wB6*+&YYP$_ng_g-+q1R0a(LY5=ms^xMkpW5(=_O z+`+sw3o=}k#x{^Muq2>A^n5QW3Mh7NM?ftF4Od{i?D_7~!~L2YZacL$k%@9pciKBn z=*jpTRHK&H5wObTz;C*ps1)q)2mbTWedE2~5JaRe8^O=M>tG-z-$4(DR!c zxnW2^cwAdtb*>WE9tn1$kVmFR^bm-3Y63GutsWnG?S>nY(O5Nd>TfH~L0(M{ZU@H7NZP#x`t^U{HAoP062_LakwYPE{NIVKIDktrcBh;OP1J`c|%-W^lf{Vc* ziv;hCd}5SHskCE^3Vc&Fw53ys&;9geT73XwoW3k&0aCcaH!lj(wA?Hbyk|PGM!xp} z`b6yHE0o<+s1>D{$t$Z}Xvf&3lj%ZVSJidR((=7yEM)SQHpr%=C)1Yt5%J|NjFTfx zeER);*;2cRzdTYHbo)5ZQ6Rakk`WLmqXex^Po53~eOko?>**}I1^HVV5XGj>B6KAl5m{Wg3 N`_UiK4W?tb`3Faa!x8`h literal 0 HcmV?d00001 diff --git a/leetcode/out/production/solution/LongestConsecutiveSequence.class b/leetcode/out/production/solution/LongestConsecutiveSequence.class new file mode 100644 index 0000000000000000000000000000000000000000..279979f3959decc355da72505f32251ad313b5d7 GIT binary patch literal 1234 zcmZ`(OHUI~7(KT$?X=?v0*;9C@NEl7eO3glCKzI4kwgqej0r=zl+j^|?F`X{u1ri! z`~kW!#)Z0Y;|7f;#I?W3#6&!IiV7(-nR~zQeDCw!^vCb7s{qd8vIz@m0~r%Bq)iy; zRZ^ci`VE{=$beF^CQjm%fzt-g2qZ>a-wpBtS~@c&ppRDOq(F1g_2u<&aaLAuI