Skip to content
This repository has been archived by the owner on Jan 31, 2024. It is now read-only.

morrisxyang/Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm

每天一点算法,保持状态.

Leetcode

├── PermutationAndCombination
│   ├── CombinationSum.java
│   ├── CombinationSum.md
│   ├── CombinationSumII.java
│   ├── CombinationSumII.md
│   ├── Combinations.java
│   ├── Combinations.md
│   ├── LetterCombinationsOfAPhoneNumber.java
│   ├── LetterCombinationsOfAPhoneNumber.md
│   ├── NextPermutation.java
│   ├── NextPermutation.md
│   ├── Permutations.java
│   ├── Permutations.md
│   ├── PermutationsII.java
│   └── PermutationsII.md
├── add
│   ├── AddBinary.java
│   ├── AddBinary.md
│   ├── AddStrings.java
│   ├── AddStrings.md
│   ├── AddTwoNumbers.java
│   ├── AddTwoNumbers.md
│   ├── AddTwoNumbersII.java
│   ├── AddTwoNumbersII.md
│   ├── PlusOne.java
│   ├── PlusOne.md
│   ├── SumOfTwoIntegers.java
│   ├── SumOfTwoIntegers.md
│   └── table.md
├── array
│   ├── ContainerWithMostWater.java
│   ├── ContainerWithMostWater.md
│   ├── FindAllDuplicatesInAnArray.java
│   ├── FindAllDuplicatesInAnArray.md
│   ├── FindAllNumbersDisappearedInAnArray.java
│   ├── FindAllNumbersDisappearedInAnArray.md
│   ├── FirstMissingPositive.java
│   ├── FirstMissingPositive.md
│   ├── GameofLife.java
│   ├── GameofLife.md
│   ├── MergeIntervals.java
│   ├── MergeIntervals.md
│   ├── MergeSortedArray.java
│   ├── MergeSortedArray.md
│   ├── ProductofArrayExceptSelf.java
│   ├── ProductofArrayExceptSelf.md
│   ├── RotateArray.java
│   ├── RotateArray.md
│   ├── RotateImage.java
│   ├── RotateImage.md
│   ├── RottingOranges.java
│   ├── RottingOranges.md
│   ├── SetMatrixZeroes.java
│   ├── SetMatrixZeroes.md
│   ├── SpiralMatrix.java
│   ├── SpiralMatrix.md
│   ├── TrappingRainWater.java
│   ├── TrappingRainWater.md
│   ├── easy
│   │   ├── MoveZeroes.java
│   │   ├── MoveZeroes.md
│   │   ├── RemoveDuplicatesFromSortedArray.java
│   │   ├── RemoveDuplicatesFromSortedArray.md
│   │   ├── RemoveElement.java
│   │   └── RemoveElement.md
│   └── table.md
├── bfs
│   ├── WordLadder.java
│   ├── WordLadder.md
│   ├── WordLadderII.java
│   └── table.md
├── binsearch
│   ├── BinSearch.java
│   ├── MedianOfTwoSortedArrays.java
│   ├── MedianOfTwoSortedArrays.md
│   ├── SearchA2DMatrix.java
│   ├── SearchA2DMatrix.md
│   ├── SearchA2DMatrixII.java
│   ├── SearchA2DMatrixII.md
│   ├── alsobinsearch
│   │   ├── LongestIncreasingSubsequence.java
│   │   └── LongestIncreasingSubsequence.md
│   ├── condition
│   │   ├── FindPeakElement.java
│   │   └── FindPeakElement.md
│   ├── easy
│   │   ├── FirstBadVersion.java
│   │   └── FirstBadVersion.md
│   ├── findnlt
│   │   ├── CountOfSmallerNumbersAfterSelf.java
│   │   ├── CountOfSmallerNumbersAfterSelf.md
│   │   ├── SearchInsertPosition.java
│   │   └── SearchInsertPosition.md
│   ├── findrange
│   │   ├── FindTheDuplicateNumber.java
│   │   ├── FindtheDuplicateNumber.md
│   │   ├── KthSmallestElementinaSortedMatrix.java
│   │   └── KthSmallestElementinaSortedMatrix.md
│   ├── rotatedarray
│   │   ├── FindMinimumInRotatedSortedArray.java
│   │   ├── FindMinimumInRotatedSortedArray.md
│   │   ├── SearchInRotatedSortedArray.java
│   │   ├── SearchInRotatedSortedArray.md
│   │   ├── SearchInRotatedSortedArrayII.java
│   │   └── SearchInRotatedSortedArrayII.md
│   └── table.md
├── bitmanipulation
│   ├── MajorityElement.java
│   ├── MajorityElement.md
│   ├── MissingNumber.java
│   ├── MissingNumber.md
│   ├── UTF8Validation.java
│   ├── UTF8Validation.md
│   ├── basic
│   │   ├── NumberOf1Bits.java
│   │   ├── NumberOf1Bits.md
│   │   ├── ReverseBits.java
│   │   └── ReverseBits.md
│   ├── bitconv
│   │   ├── ExcelSheetColumnNumber.java
│   │   ├── ExcelSheetColumnNumber.md
│   │   ├── ExcelSheetColumnTitle.java
│   │   └── ExcelSheetColumnTitle.md
│   ├── singlenum
│   │   ├── FindTheDifference.java
│   │   ├── FindTheDifference.md
│   │   ├── SingleNumber.java
│   │   └── SingleNumber.md
│   ├── table.md
│   └── 常见的位操作.md
├── concurrency
│   ├── Foo.java
│   ├── FooBar.java
│   ├── H2O.java
│   └── ZeroEvenOdd.java
├── design
│   ├── EncodeAndDecodeTinyURL.java
│   ├── EncodeAndDecodeTinyURL.md
│   ├── ImplementTriePrefixTree.java
│   ├── ImplementTriePrefixTree.md
│   ├── LFUCache.java
│   ├── LFUCache.md
│   ├── LRUCache.java
│   ├── LRUCache.md
│   └── table.md
├── dfs
│   ├── FriendCircles.java
│   ├── FriendCircles.md
│   ├── GenerateParentheses.java
│   ├── GenerateParentheses.md
│   ├── MaxAreaOfIsland.java
│   ├── MaxAreaOfIsland.md
│   ├── PalindromePartitioning.java
│   ├── PalindromePartitioning.md
│   ├── RestoreIPAddresses.java
│   ├── RestoreIPAddresses.md
│   └── table.md
├── dp
│   ├── CoinChange.java
│   ├── CoinChange.md
│   ├── CoinChange2.java
│   ├── CoinChange2.md
│   ├── EditDistance.java
│   ├── EditDistance.md
│   ├── HouseRobberII.java
│   ├── HouseRobberII.md
│   ├── IncreasingTripletSubsequence.java
│   ├── IncreasingTripletSubsequence.md
│   ├── KnightProbabilityInChessboard.java
│   ├── KnightProbabilityInChessboard.md
│   ├── LongestIncreasingPathInAMatrix.java
│   ├── LongestIncreasingPathInAMatrix.md
│   ├── LongestIncreasingSubsequence.java
│   ├── LongestIncreasingSubsequence.md
│   ├── LongestSubstringWithAtLeastKRepeatingCharacters.java
│   ├── LongestSubstringWithAtLeastKRepeatingCharacters.md
│   ├── LongestSubstringWithoutRepeatingCharacters.java
│   ├── LongestSubstringWithoutRepeatingCharacters.md
│   ├── PaintFence.java
│   ├── PaintFence.md
│   ├── RussianDollEnvelopes.java
│   ├── RussianDollEnvelopes.md
│   ├── SuperEggDrop.java
│   ├── SuperEggDrop.md
│   ├── Triangle.java
│   ├── Triangle.md
│   ├── easy
│   │   ├── MaximumSubarray.java
│   │   ├── MaximumSubarray.md
│   │   ├── PerfectSquares.java
│   │   └── PerfectSquares.md
│   ├── lcss
│   │   ├── DeleteOperationForTwoStrings.java
│   │   ├── DeleteOperationForTwoStrings.md
│   │   ├── MaximumLengthOfRepeatedSubarray.java
│   │   └── MaximumLengthOfRepeatedSubarray.md
│   ├── table.md
│   └── taildp
│       ├── ArithmeticSlices.java
│       └── ArithmeticSlices.md
├── easy
│   ├── FirstUniqueCharacterInAString.java
│   ├── FirstUniqueCharacterInAString.md
│   ├── ImplementstrStr.java
│   ├── ImplementstrStr.md
│   ├── IntersectionOfTwoArraysII.java
│   ├── IntersectionOfTwoArraysII.md
│   ├── JewelsAndStones.java
│   ├── JewelsAndStones.md
│   ├── PathSum.java
│   ├── PathSumII.java
│   ├── PathSumIII.java
│   ├── ReverseString.java
│   ├── ReverseString.md
│   ├── ReverseWordsInAStringIII.java
│   └── ReverseWordsInAStringIII.md
├── graph
│   ├── CourseSchedule.java
│   ├── CourseSchedule.md
│   ├── CourseScheduleII.java
│   └── CourseScheduleII.md
├── greedy
│   ├── BestSightseeingPair.java
│   ├── BestSightseeingPair.md
│   ├── BestTimeToBuyAndSellStock.java
│   ├── BestTimeToBuyAndSellStock.md
│   ├── BestTimeToBuyAndSellStockII.java
│   ├── BestTimeToBuyAndSellStockII.md
│   ├── Candy.java
│   ├── Candy.md
│   ├── GasStation.java
│   ├── GasStation.md
│   ├── JumpGame.java
│   ├── JumpGame.md
│   ├── JumpGameII.java
│   ├── JumpGameII.md
│   └── table.md
├── hashmap
│   ├── ContainsDuplicate.java
│   ├── ContainsDuplicate.md
│   ├── InsertDeleteGetRandomO1.java
│   ├── InsertDeleteGetRandomO1.md
│   ├── LongestConsecutiveSequence.java
│   ├── LongestConsecutiveSequence.md
│   ├── MaxPointsonaLine.java
│   ├── MaxPointsonaLine.md
│   ├── MinimumWindowSubstring.java
│   ├── MinimumWindowSubstring.md
│   ├── ValidAnagram.java
│   ├── ValidAnagram.md
│   ├── ValidSudoku.java
│   └── ValidSudoku.md
├── ksum
│   ├── ThreeSum.java
│   ├── ThreeSum.md
│   ├── ThreeSumWithMultiplicity.java
│   ├── ThreeSumWithMultiplicity.md
│   ├── TwoSum.java
│   ├── TwoSum.md
│   ├── TwoSumII.java
│   └── TwoSumII.md
├── linkedlist
│   ├── DeleteNodeInaLinkedList.java
│   ├── DeleteNodeInaLinkedList.md
│   ├── IntersectionOfTwoLinkedLists.java
│   ├── IntersectionOfTwoLinkedLists.md
│   ├── LinkedListUtils.java
│   ├── ListNode.java
│   ├── OddEvenLinkedList.java
│   ├── OddEvenLinkedList.md
│   ├── PalindromeLinkedList.java
│   ├── PalindromeLinkedList.md
│   ├── RemoveDuplicatesFromSortedList.java
│   ├── RemoveDuplicatesFromSortedList.md
│   ├── RemoveNthNodeFromEndOfList.java
│   ├── RemoveNthNodeFromEndOfList.md
│   ├── ReorderList.java
│   ├── ReorderList.md
│   ├── ReverseLinkedList.java
│   ├── ReverseLinkedList.md
│   ├── ReverseLinkedListII.java
│   ├── ReverseLinkedListII.md
│   ├── ReverseNodesInkGroup.java
│   ├── ReverseNodesInkGroup.md
│   ├── SwapNodesInPairs.java
│   ├── SwapNodesInPairs.md
│   ├── easy
│   │   ├── LinkedListCycle.java
│   │   ├── LinkedListCycle.md
│   │   ├── LinkedListCycleII.java
│   │   ├── LinkedListCycleII.md
│   │   ├── RotateList.java
│   │   └── RotateList.md
│   ├── merge
│   │   ├── MergeKSortedLists.java
│   │   ├── MergeKSortedLists.md
│   │   ├── MergeTwoSortedLists.java
│   │   └── MergeTwoSortedLists.md
│   └── table.md
├── math
│   ├── AddDigits.java
│   ├── AddDigits.md
│   ├── BasicCalculatorIII.java
│   ├── CountPrimes.java
│   ├── CountPrimes.md
│   ├── FactorialTrailingZeroes.java
│   ├── FactorialTrailingZeroes.md
│   ├── Pow.java
│   ├── Pow.md
│   ├── RectangleOverlap.java
│   ├── RectangleOverlap.md
│   ├── SqrtX.java
│   ├── SqrtX.md
│   ├── StatisticsFromALargeSample.java
│   ├── StatisticsFromALargeSample.md
│   ├── easy
│   │   ├── HappyNumber.java
│   │   ├── HappyNumber.md
│   │   ├── PalindromeNumber.java
│   │   ├── PalindromeNumber.md
│   │   ├── ReverseInteger.java
│   │   └── ReverseInteger.md
│   └── table.md
├── medium
│   ├── CloneGraph.java
│   ├── CloneGraph.md
│   ├── CopyListWithRandomPointer.java
│   ├── CopyListWithRandomPointer.md
│   ├── CountingBits.java
│   ├── CountingBits.md
│   ├── FindFirstAndLastPositionOfElementInSortedArray.java
│   ├── FindFirstAndLastPositionOfElementInSortedArray.md
│   ├── FlattenBinaryTreeToLinkedList.java
│   ├── FlattenBinaryTreeToLinkedList.md
│   ├── GroupAnagrams.java
│   ├── GroupAnagrams.md
│   ├── HouseRobber.java
│   ├── HouseRobber.md
│   ├── LargestNumber.java
│   ├── LargestNumber.md
│   ├── LargestRectangleInHistogram.java
│   ├── LargestRectangleInHistogram.md
│   ├── MajorityElementII.java
│   ├── MajorityElementII.md
│   ├── MaximalSquare.java
│   ├── MaximalSquare.md
│   ├── MaximumLengthOfRepeatedSubarray.java
│   ├── MaximumLengthOfRepeatedSubarray.md
│   ├── MaximumProductSubarray.java
│   ├── MaximumProductSubarray.md
│   ├── MinimumPathSum.java
│   ├── MinimumPathSum.md
│   ├── NumberOfIslands.java
│   ├── NumberOfIslands.md
│   ├── RobotReturnToOrigin.java
│   ├── RobotReturntoOrigin.md
│   ├── SubarraySumEqualsK.java
│   ├── SubarraySumEqualsK.md
│   ├── UniquePaths.java
│   ├── UniquePaths.md
│   ├── Word Search.md
│   └── WordSearch.java
├── notverymeaningful
│   ├── IntegerToRoman.java
│   ├── IntegerToRoman.md
│   ├── RomanToInteger.java
│   └── RomanToInteger.md
├── pqtk
│   ├── TopKFrequentElements.java
│   ├── TopKFrequentElements.md
│   ├── TopKFrequentWords.java
│   ├── TopKFrequentWords.md
│   └── table.md
├── slidingwindow
│   ├── LongestSubstringWithoutRepeatingCharacters.java
│   ├── LongestSubstringWithoutRepeatingCharacters.md
│   ├── MinimumWindowSubstring.java
│   └── MinimumWindowSubstring.md
├── sort
│   ├── InsertionSortList.java
│   ├── InsertionSortList.md
│   ├── KthLargestElementInAnArray.java
│   └── KthLargestElementInAnArray.md
├── stack
│   ├── EvaluateReversePolishNotation.java
│   ├── EvaluateReversePolishNotation.md
│   ├── FlattenNestedListIterator.java
│   ├── FlattenNestedListIterator.md
│   ├── MinStack.java
│   ├── MinStack.md
│   └── parentheses
│       ├── LongestValidParentheses.java
│       ├── LongestValidParentheses.md
│       ├── ScoreOfParentheses.java
│       ├── ScoreOfParentheses.md
│       ├── ValidParentheses.java
│       └── ValidParentheses.md
├── string
│   ├── DecodeString.java
│   ├── DecodeString.md
│   ├── LexicographicalNumbers.java
│   ├── LexicographicalNumbers.md
│   ├── MultiplyStrings.java
│   ├── MultiplyStrings.md
│   ├── PermutationInString.java
│   ├── PermutationInString.md
│   ├── SimplifyPath.java
│   ├── SimplifyPath.md
│   └── easy
│       ├── LongestCommonPrefix.java
│       └── LongestCommonPrefix.md
├── tree
│   ├── BST
│   │   ├── BinarySearchTreeIterator.java
│   │   ├── BinarySearchTreeIterator.md
│   │   ├── ConvertBSTToGreaterTree.java
│   │   ├── ConvertBSTToGreaterTree.md
│   │   ├── ConvertSortedArrayToBinarySearchTree.java
│   │   ├── ConvertSortedArrayToBinarySearchTree.md
│   │   ├── KthSmallestElementInABST.java
│   │   ├── KthSmallestElementInABST.md
│   │   ├── RangeSumOfBST
│   │   │   ├── image-20190712135444611.png
│   │   │   └── image-20190712135531134.png
│   │   ├── RangeSumOfBST.java
│   │   ├── RangeSumOfBST.md
│   │   ├── UniqueBinarySearchTrees.java
│   │   ├── UniqueBinarySearchTrees.md
│   │   ├── ValidateBinarySearchTree.java
│   │   ├── ValidateBinarySearchTree.md
│   │   └── table.md
│   ├── LongestUnivaluePath.java
│   ├── LongestUnivaluePath.md
│   ├── LowestCommonAncestorOfABinarySearchTree.java
│   ├── LowestCommonAncestorOfABinarySearchTree.md
│   ├── LowestCommonAncestorOfABinaryTree.md
│   ├── LowestCommonAncestorofABinaryTree.java
│   ├── MaximumDepthOfBinaryTree.java
│   ├── MaximumDepthOfBinaryTree.md
│   ├── MergeTwoBinaryTrees.java
│   ├── MergeTwoBinaryTrees.md
│   ├── SubtreeOfAnotherTree.java
│   ├── SubtreeOfAnotherTree.md
│   ├── SymmetricTree.java
│   ├── SymmetricTree.md
│   ├── TreeNode.java
│   ├── depth
│   │   ├── BalancedBinaryTree.java
│   │   ├── BalancedBinaryTree.md
│   │   ├── DiameterOfBinaryTree.java
│   │   ├── DiameterOfBinaryTree.md
│   │   ├── MinimumDepthOfBinaryTree.java
│   │   └── MinimumDepthOfBinaryTree.md
│   ├── reconstruct
│   │   ├── ConstructBinaryTreeFromInorderAndPostorderTraversal.java
│   │   ├── ConstructBinaryTreeFromInorderAndPostorderTraversal.md
│   │   ├── ConstructBinaryTreeFromPreorderAndInorderTraversal.java
│   │   └── ConstructBinaryTreeFromPreorderAndInorderTraversal.md
│   ├── reverse
│   │   ├── InvertBinaryTree.java
│   │   └── InvertBinaryTree.md
│   └── traversal
│       ├── BinaryTreeInorderTraversal.java
│       ├── BinaryTreeInorderTraversal.md
│       ├── BinaryTreeLevelOrderTraversal.java
│       ├── BinaryTreeLevelOrderTraversal.md
│       ├── BinaryTreePostorderTraversal.java
│       ├── BinaryTreePostorderTraversal.md
│       ├── BinaryTreePreorderTraversal.java
│       ├── BinaryTreePreorderTraversal.md
│       ├── SerializeAndDeserializeBinaryTree.java
│       ├── SerializeAndDeserializeBinaryTree.md
│       └── notverymeaningful
│           ├── BinaryTreeZigzagLevelOrderTraversal.java
│           ├── BinaryTreeZigzagLevelOrderTraversal.md
│           ├── PopulatingNextRightPointersInEachNode.java
│           └── PopulatingNextRightPointersInEachNode.md
├── twopointer
│   ├── ValidPalindrome.java
│   └── ValidPalindrome.md
└── unclassifed
    ├── RepeatedDNASequences.java
    ├── RepeatedDNASequences.md
    ├── ValidNumber.java
    └── table.md

Releases

No releases published

Packages

No packages published

Languages