This repository contains solutions to various algorithmic problems, organized by categories such as arrays, backtracking, binary search, graphs, and more. Each problem is solved in Kotlin, and the solutions are structured in a way that makes it easy to navigate and understand.
The purpose of this repository is to provide a comprehensive collection of algorithmic problem solutions that can be used for learning, reference, or interview preparation. The problems are categorized by topic, and each solution is implemented in Kotlin.
To generate an updated list of all files in this repository, you can use the following shell command:
find . -type f | sort > all_problems.txtThis command will recursively find all files in the repository, sort them, and save the list to a file named all_problems.txt.
Below is a tree-like structure of the repository with links to the files:
.
βββ GenerateReadme.kt
βββ Main.kt
βββ README.md
βββ all_files.txt
βββ **array/**
β βββ **Combinatorics/**
β β βββ ClosestSubsequenceSum.kt
β β βββ Combinations.kt
β β βββ NextGreaterElement_III.kt
β β βββ NextPermutation.kt
β β βββ Permutation_II.kt
β β βββ Permutation_II_Backtracking.kt
β β βββ Permutations.kt
β β βββ Subsets.kt
β βββ DiagonalTraverse.kt
β βββ DiagonalTraverse_II.kt
β βββ InsertInterval.kt
β βββ MergeIntervals.kt
β βββ MergeSortedArray.kt
β βββ MissingRanges.kt
β βββ MoveZeroes.kt
β βββ RemoveElement.kt
β βββ RotateImage.kt
β βββ SearchA2dMatrix_II.kt
β βββ SetMatrixZeroes.kt
β βββ ShortestPathInBinaryMatrix.kt
β βββ SignOfTheProductOfAnArray.kt
β βββ SpiralMatrix.kt
β βββ SpiralMatrix_II.kt
β βββ ToeplitzMatrix.kt
β βββ TransposeMatrix.kt
β βββ **backtracking/**
β β βββ CombinationSum.kt
β β βββ CombinationSum3.kt
β β βββ CombinationSum_II.kt
β βββ **cycle/**
β β βββ FindTheDuplicateNumber.kt
β βββ **dfs/**
β β βββ NestedListWeightedSum.kt
β βββ **dp/**
β β βββ BurstBaloons.kt
β β βββ CoinChange.kt
β β βββ CoinChange_II.kt
β β βββ CoinChange_II_BottomUp.kt
β β βββ HouseRobber.kt
β β βββ HouseRobber_II.kt
β β βββ KadensAlgorithm.kt
β β βββ LongestCommonSubarray.kt
β β βββ LongestIncreasingSequenceInAMatrix.kt
β β βββ LongestIncreasingSubsequence.kt
β β βββ MaximalSquare.kt
β β βββ MaximumSumOfNonAdjacentElements.kt
β β βββ MaximumSumSubArray.kt
β β βββ MinCostClimbingStaris.kt
β β βββ MinimumNumberofIncrementsSubarraysFormaTargetArray.kt
β β βββ MinimumPathSum.kt
β β βββ PartitionArrayIntoTwoArrayToMinimuzeSumDifference.kt
β β βββ SplitArrayLargestSum.kt
β β βββ TargetSum.kt
β βββ **greedy/**
β β βββ CanPlaceFlowers.kt
β β βββ ContainerWithMostWater.kt
β β βββ IncreasingTripletSequence.kt
β β βββ KItemsWithMaximumSum.kt
β β βββ MaximumDistanceInArray.kt
β β βββ MaximumSwap.kt
β β βββ MergeOverlappingIntervals.kt
β β βββ MinimumNumberofSwapstoMaketheStringBalanced.kt
β β βββ NonOverlappingIntervals.kt
β βββ **hashtable/**
β β βββ ContainsDuplicate_II.kt
β β βββ DivideArrayIntoEqualPairs.kt
β β βββ EqualRowAndColumnPairs.kt
β β βββ FindDifferenceOfTwoArrays.kt
β β βββ FindMissingPositive.kt
β β βββ FirstMissingPositive.kt
β β βββ IntegerToEnglishWords.kt
β β βββ LongestConsecutiveSequence.kt
β β βββ MaxNUmWithKSumPairs.kt
β β βββ RankTransformOfAnArray.kt
β β βββ SetMismatch.kt
β β βββ SnapshotArray.kt
β β βββ UniqueNumberOfOccurences.kt
β β βββ ValidSudoku.kt
β βββ **prefixsum/**
β β βββ ContiguousArray.kt
β β βββ ContinuousSubarraySum.kt
β β βββ FIndTheHighestAltitute.kt
β β βββ FindPivotIndex.kt
β β βββ Minimum NumberofOperationstoMoveAllBallstoEachBox.kt
β β βββ NumberOfZeroFilledSubArrays.kt
β β βββ ProductOfArrayExceptSelf.kt
β β βββ SubArrayProductLessThanK.kt
β β βββ SubArraySumEqualsToK.kt
β β βββ SubArraySumsDivisibleByK.kt
β β βββ ZeroArrayTransformation_I.kt
β βββ **random/**
β β βββ RandomPickIndex.kt
β βββ **sorting/**
β β βββ SortColors.kt
β β βββ SquaresOfASortedArray.kt
β βββ **sweepline/**
β β βββ MaximumPopulationYear.kt
β βββ **twopointer/**
β βββ 4Sum.kt
β βββ IntervalListIntersection.kt
β βββ RemoveDuplicateElementsFromSortedArray.kt
β βββ RemoveDuplicateElementsFromSortedArray_II.kt
β βββ RotateArray.kt
β βββ ThreeSum.kt
β βββ ThreeSumClosest.kt
β βββ TrappingRainWater.kt
β βββ TwoSum_II.kt
βββ **automata/**
β βββ **regular_language/**
βββ **autopilot/**
β βββ H1bAutoPilotStressAnxietyAlgorithm.kt
βββ **backtracking/**
β βββ ExpressionAndAddOperators.kt
β βββ ExpressionAndAddOperatorsOptimized.kt
β βββ NQueen.kt
β βββ NQueen_II.kt
β βββ PalindromePartitioning.kt
β βββ PartitionToKEqualSumSubsets.kt
β βββ RestoreIPAddresses.kt
β βββ Strobogrammatic_Number_II.kt
β βββ SudokuSolver.kt
β βββ SudokuSolverSet.kt
βββ **binarysearch/**
β βββ ApartmentHunting.kt
β βββ CapacityToShipPackageWithinDDays.kt
β βββ ClosestSebsequenceSum.kt
β βββ FindFirstAndLastPosition.kt
β βββ FindKClosestElements.kt
β βββ FindMinimumInRotatedSortedArray.kt
β βββ FindPeakElement.kt
β βββ FindPeakElementBetterSolution.kt
β βββ FirstBadVersion.kt
β βββ GuessNumberHigherOrLower.kt
β βββ HouseRobber_IV.kt
β βββ KThMissingPositiveNumber.kt
β βββ KokoEatingBanana.kt
β βββ MedianOfTwoSortedARrays.kt
β βββ PeakIndexInMountainArray.kt
β βββ RandomPickWithWeight.kt
β βββ SearchA2dMatrix.kt
β βββ SearchInRotatedArray_II.kt
β βββ SearchInRotatedSortedArray.kt
β βββ SearchInsertionPosition.kt
β βββ SingleElementInASortedArray.kt
β βββ ValleyElement.kt
βββ **bitset/**
β βββ FirstLetterToAppearTwice.kt
β βββ LongestNiceSubarray.kt
β βββ MaximumXorOfTwoNumsInArray.kt
β βββ Number of Steps to ReduceaANumberInBinaryRepresentationtoOne.kt
β βββ NumberOfOneBits.kt
β βββ ReverseBits.kt
β βββ SingleNumber.kt
β βββ SingleNumber3.kt
β βββ SmallestNumberWithAllSetBits.kt
β βββ SumOfAllSubsetXorTotal.kt
βββ **branch_and_bound/**
βββ **cache/**
β βββ LFUCache.kt
β βββ LRUCache.kt
β βββ LRUCacheBetter.kt
β βββ LRUCacheLinkedList.kt
β βββ LRUCleanAf.kt
β βββ LruCacheBruceLee.kt
βββ **combinatorics/**
βββ **commons/**
β βββ APIEndPoints.kt
β βββ AlpacaWebSocketFactory.kt
β βββ FileWriter.kt
βββ **disjointset/**
β βββ AccountMerge.kt
β βββ NumberOfIsland_II.kt
β βββ NumerOfIsland_II_Optimized.kt
β βββ UnionFind.kt
βββ **divide_and_conquer/**
βββ **dynamic_programming/**
β βββ ClosestSubsequenceSum.kt
β βββ FrogJump.kt
β βββ MaximumProductSubarray.kt
β βββ MaximumProfitInJobScheduling.kt
β βββ PartitionEqualSubsetSum.kt
β βββ SuperEggDropping.kt
βββ **facebook/**
β βββ FindMinimumTicketPrice.kt
β βββ SecondGreatestNumber.kt
βββ **geo/**
β βββ **kdtree/**
β β βββ KDTreeExample.kt
β βββ **quadtree/**
β βββ ConstructQuadTree.kt
β βββ QuadTree.kt
β βββ QuadTreeUsagePlaceFinding.kt
βββ **google/**
β βββ LargestSquareAreaInMatrix.kt
βββ **graph/**
β βββ BusRoutes.kt
β βββ CalculateGraphDiameter.kt
β βββ ChromaticNumber.kt
β βββ CloneGraph.kt
β βββ DiameterOfBinaryTree.kt
β βββ HouseRobber3.kt
β βββ IsBipartileGraph.kt
β βββ IsBipartileGraphDfs.kt
β βββ MaximumPathQualityOfAGraph.kt
β βββ MinimumGeneticMutations.kt
β βββ NColoringGraph.kt
β βββ NColoringGreedy.kt
β βββ ReorderRoutesToMakeAllPathsLeadToCityZero.kt
β βββ WordLadder.kt
β βββ WordLadder_II.kt
β βββ WordLadder_II_clean.kt
β βββ **articulation_point/**
β β βββ CriticalConnectionsInANetwork.kt
β β βββ CriticalConnectionsInANetworkShortCode.kt
β β βββ FindArticulationPoints.kt
β βββ **bst/**
β β βββ BinarySearchTreeToGreaterSumTree.kt
β β βββ RangeSumOfBST.kt
β βββ **components/**
β β βββ FindConnectedComponents.kt
β βββ **cycle/**
β β βββ CourseSchedule.kt
β β βββ CourseSchedule_II.kt
β β βββ ParallelCourses.kt
β βββ **dag/**
β βββ **dp/**
β β βββ BellmanFordAlgorithm.kt
β β βββ CheapestFlightsWithinKStops.kt
β β βββ CheapestFlightsWithinKStopsBellman.kt
β β βββ FloydWarshallAlgorithm.kt
β βββ **euler/**
β β βββ **circuit/**
β β βββ CrackingTheSafe.kt
β β βββ EulerianGraph.kt
β β βββ **path/**
β β βββ ReconstructItenary.kt
β βββ **greedy/**
β β βββ CheapestFlightWithKStops.kt
β β βββ CheapestFlightsWithKStops.kt
β β βββ DonaldTrumpAlgorithm.kt
β β βββ TheMaze_III.kt
β βββ **mst/**
β β βββ FindRedundentConnections.kt
β β βββ OptimizeWaterDistributionInAVillage.kt
β β βββ PrimsAlgorithm.kt
β β βββ PrimsShorter.kt
β βββ **scc/**
β β βββ Kosaraju.kt
β β βββ Tarjans.kt
β βββ **topological_sort/**
β β βββ AlienDictionary.kt
β β βββ AlienDictionary_BFS.kt
β β βββ ApplySubstitutions.kt
β β βββ CourseSchedule_II.kt
β β βββ CourseSchedule_II_BFS.kt
β βββ **tsp/**
β βββ ShortestPathVisitingAllNodes.kt
β βββ TSPHelpKarp.kt
β βββ TravellingSalespersonProblemBruteforceMatrix.kt
βββ **greedy/**
β βββ CarFleet.kt
β βββ DestroyingAsteroids.kt
β βββ JumpGame.kt
β βββ JumpGame_II.kt
β βββ MInimumCostHomecomingOfARobot.kt
β βββ MaxChuncksToMakeSorted_II.kt
β βββ MaxProfiAssigningWork.kt
β βββ MaximumValueOfAnOrderedTriplet_II.kt
β βββ MeetingRooms.kt
β βββ MeetingRooms_II.kt
β βββ MeetingRooms_II_greedy.kt
β βββ MinimumDeletionsToMakeStringBalanced.kt
β βββ MinimumReplacementToSortTheArray.kt
β βββ MinimumTimeToMakeRopeColorful.kt
β βββ RescheduleMeetingsforMaximumFreeTime_I.kt
β βββ TaskScheduler.kt
βββ **grid/**
β βββ FloodFill.kt
β βββ IslandPerimeter.kt
β βββ MakingALargeIsland.kt
β βββ MakingALargeIsland_AnotherApproach.kt
β βββ MaxAreaOfIsland.kt
β βββ MaximumNumberOfFishInAGrid.kt
β βββ PacificAtlanticWaterFlow.kt
β βββ RottingOranges.kt
β βββ ShortestBridge.kt
β βββ ShortestDistanceFromAllBuildings.kt
β βββ WallsAndGates.kt
β βββ **a_star/**
β β βββ ShortestPathInGridWithObstaclesElimination.kt
β βββ **dynamic_programming/**
β β βββ CherryPickup.kt
β β βββ Test.kt
β β βββ UniquePaths_I.kt
β β βββ UniquePaths_II.kt
β βββ **histogram/**
β β βββ MaximalRectangle.kt
β βββ **search/**
β βββ WordSearch_II.kt
βββ **hashtable/**
β βββ CountNumberOfBadPairs.kt
β βββ DesignANumberContainerSystem.kt
β βββ DesignFileSystem.kt
β βββ DesignHashMap.kt
β βββ FirstUniqueCharacter.kt
β βββ HIndex.kt
β βββ IntegerToRoman.kt
β βββ IntersectionOfTwoArray.kt
β βββ MaximumFrequencyStack.kt
β βββ RomanToInteger.kt
β βββ WorkBreak_II.kt
β βββ WorlBreak_I_DP.kt
βββ **heap/**
β βββ DualBalancedHeap.kt
β βββ FindKClosestElements.kt
β βββ FindScoreOfAnArrayAfterMarkingAllElements.kt
β βββ FindingMKAverage.kt
β βββ IPO.kt
β βββ LongestHappyString.kt
β βββ MedianFromRunningStream.kt
β βββ MeetingRoom_III.kt
β βββ SingleThreadedCPU.kt
β βββ SlidingWindowMedian.kt
β βββ TopKFrequentElements.kt
βββ **linkedlist/**
β βββ AddTwoNumbers.kt
β βββ CopyLinkedListWithRandomPointer.kt
β βββ DeleteMiddleNodeOfLinkedList.kt
β βββ InsertIntoASortedCircularLinkedList.kt
β βββ InsertIntoASortedCircularList.kt
β βββ IntersectionOfTwoLinkedList.kt
β βββ LinkedListCycle.kt
β βββ LinkedListCycle_II.kt
β βββ MaximumTwinSumOfALinkedList.kt
β βββ MergeKSortedList.kt
β βββ MergeKSortedListIterative.kt
β βββ MergeTwoSortedLIst.kt
β βββ MiddleNode.kt
β βββ OddEvenLinkedList.kt
β βββ OddOrEvenLinkedList.kt
β βββ PalindromeLinkedList.kt
β βββ RemoveNthNodeFromEndOfList.kt
β βββ ReverseLinkedList.kt
β βββ ReverseLinkedListIterative.kt
β βββ ReverseNodesInKGroups.kt
β βββ RotateList.kt
β βββ SwapNodesInPairs.kt
βββ **math/**
β βββ AddStrings.kt
β βββ DesignTicTacToe.kt
β βββ DetectSquares.kt
β βββ DivideTwoIntegers.kt
β βββ HappyNumber.kt
β βββ MinimumMovesToEqualArrayElements.kt
β βββ MultiplyStrings.kt
β βββ PlusOne.kt
β βββ PowerOfTwo.kt
β βββ ReverseInteger.kt
β βββ SlidingPuzzle.kt
β βββ Sqrt.kt
β βββ StringtoIntegerAtoi.kt
β βββ **binary/**
β β βββ AddBinary.kt
β βββ **dp/**
β β βββ PascalsTriangle.kt
β βββ **geometry/**
β β βββ ConvexHull.kt
β β βββ CountNumberOfTrapizoids_I.kt
β β βββ ErectTheFence_ConvexHull.kt
β β βββ HowManyRectanglesOverlapSweepLine.kt
β β βββ HowManyRectanglesOverlaping.kt
β β βββ MaxPointsOnALine.kt
β β βββ RectangleArea.kt
β β βββ RectangleOverlap.kt
β β βββ **binarysearch/**
β β β βββ SeperateSquares_I.kt
β β βββ **interval/**
β β βββ HowManyRectangleOverlapsIntervalTree.kt
β β βββ RectangeOverlapCountTreeSet.kt
β βββ pow.kt
β βββ **stack/**
β βββ BasicCalculator.kt
β βββ BasicCalculator_I.kt
β βββ BasicCalculator_II.kt
β βββ BasicCalculator_III.kt
β βββ BasicCalculator_II_ShortCode.kt
βββ **microsoft/**
β βββ Demo.kt
β βββ NonNegativeSum.java
β βββ Toast.kt
β βββ ValidTime.kt
βββ **ml/**
β βββ **classical/**
β βββ **tree/**
β βββ **core/**
β β βββ DecisionTree.kt
β βββ **ensemble/**
βββ **nlp/**
βββ **numbers/**
β βββ PalindromeNumber.kt
βββ **probability/**
β βββ InsertDeleteGetRandom.kt
β βββ InsertDeleteGetRandomAtO1.kt
β βββ LinkedListRandomNode.kt
β βββ PathWithMaximumProbability.kt
β βββ ReservoirSampling.kt
βββ **queues/**
β βββ **dequeue/**
βββ **queueu/**
β βββ **dequeue/**
β βββ DesignACircularQueue.kt
β βββ DesignHitCounter.kt
β βββ NumberOfRecentCalls.kt
β βββ ProductOfLastKNumbers.kt
βββ **quicksort/**
β βββ KClosestPointsToOrigin.kt
β βββ KThLargestElementInArray.kt
β βββ KthLargestElementInArrayTailRec.kt
β βββ TopKFrequentElements.kt
βββ **real_word_projects/**
β βββ HttpApiCall.kt
β βββ InterfaceExample.kt
β βββ ParallelFibonacci.kt
β βββ ScaleTransactions.kt
β βββ SystemInterviewHack.kt
β βββ TradingAPICallExample.kt
β βββ **advertisement/**
β β βββ DataModels.kt
β βββ **consistent_hashing/**
β β βββ ConsistentHashing.kt
β βββ **database/**
β β βββ AiTest.kt
β βββ **dynamic_programming/**
β β βββ DuckworthLewisStern.kt
β βββ **json/**
β β βββ JsonExample.kt
β βββ **parallel_algorithms/**
β β βββ FindMaxInArray.kt
β β βββ ParallelMatrixMultiplication.kt
β βββ **trading/**
β βββ AlpacaSDKExamples.kt
β βββ RealtimeMarketDataStreaming.kt
β βββ **stream/**
β βββ system_design_plantuml.txt
β βββ trading_data.json
βββ **simulation/**
β βββ CarPooling.kt
β βββ CountCollisionsOnARoad.kt
β βββ FindWinnerOnATicTacToeGame.kt
β βββ Racecar.kt
β βββ RobotBoundedInCircle.kt
β βββ TextJustification.kt
βββ **sliding_window/**
β βββ LongestContinuousSubarrayWithAbsoluteDifferenceLessThanOrEqualToLimit.kt
β βββ LongestRepeatingCharacterReplacement.kt
β βββ LongestSubArraysOfOneAfterDeletingOneElement.kt
β βββ LongestSubstringWithoutRepeatingCharacter.kt
β βββ MaxConsecutiveOnes_III.kt
β βββ MaximumAverageSubarray_I.kt
β βββ MaximumErasureValue.kt
β βββ MaximumSumOfDistinctSubarraysWithLengthK.kt
β βββ MinimumSizeSubarraySum.kt
β βββ MinimumSwapsToGroupAllOnesTogether.kt
β βββ PartitionLabels.kt
β βββ ProgrammerString.kt
β βββ SlidingWindowMaximum.kt
βββ **sorting/**
β βββ EmployeeFreeTime.kt
β βββ HIndex.kt
β βββ LargestNumber.kt
β βββ MergeSort.kt
β βββ RankTeamsByVote.kt
β βββ RussianDollEnvelope.kt
βββ **speed_dating/**
β βββ ComputerScienceEngineerDating.kt
βββ **stack/**
β βββ AestroidCollisions.kt
β βββ BuildingsWithAnOceanView.kt
β βββ DailyTemperatures.kt
β βββ DesignAStackWithIncrementOperations.kt
β βββ EvaluateReversePolishNotation.kt
β βββ ExclusiveTimeOfFunctions.kt
β βββ FlattenNestedListIterator.kt
β βββ LargestRectangleInHistogram.kt
β βββ LongestValidParanthesis.kt
β βββ MinStack.kt
β βββ MinimumAddtoMakeParenthesesValid.kt
β βββ MinimumDeletionsToMakeStringBalanced.kt
β βββ MinimumRemoveToMakeValidParentheses.kt
β βββ NextGreaterElement_I.kt
β βββ NextGreaterElement_II.kt
β βββ NumberOfVisiblePeopleInAQueue.kt
β βββ OneThreeTwoPattern.kt
β βββ OnlineStockSpan.kt
β βββ RemoveDuplicateLetters.kt
β βββ RemoveStarsFromString.kt
β βββ SmallestSubsequenceOfDistinctCharacters.kt
β βββ SumOfSubArrayMinimum.kt
β βββ SumOfSubArrayRanges.kt
β βββ ValidParentheses.kt
βββ **stock_market/**
β βββ **dp/**
β β βββ BestTimeToBuyAndSellStock.kt
β β βββ BestTimeToBuyAndSellStockWithCooldown.kt
β β βββ BestTimeToBuyAndSellStockWithTransactionFee.kt
β β βββ BestTimeToBuyAndSellStock_III.kt
β βββ **greedy/**
β βββ BestTimeToBuyAndSellStock_II.kt
βββ **stream/**
β βββ MovingAverageOfARunningStream.kt
βββ **string/**
β βββ ApplySubstitutions.kt
β βββ CheckifaParenthesesStringCanBeValid.kt
β βββ CountAndSay.kt
β βββ CountNumberOfWordsWhichAreSubSequence.kt
β βββ CountWordsWithAGivenPrefix.kt
β βββ ExcelSheetToColumnNumber.kt
β βββ FindUniqueBinaryString.kt
β βββ GoatLatin.kt
β βββ GreatestCommonDivisorOfStrings.kt
β βββ GroupAnagrams.kt
β βββ IsSubsequence.kt
β βββ IsomorphicString.kt
β βββ LengthOfLastWord.kt
β βββ LongestCommonPrefix.kt
β βββ LongestPalidnromicSubstring.kt
β βββ MaximumLengthofaConcatenatedStringwithUniqueCharacters.kt
β βββ MaximumValueOfAStringIsAnArray.kt
β βββ MergeStringAlternatively.kt
β βββ MinimumDeletionToMakeCharacterFrequenciesUnique.kt
β βββ ReverseVowelOfString.kt
β βββ ReverseWordsInString.kt
β βββ StringCompression.kt
β βββ StringCompression_II.kt
β βββ ValidAnagram.kt
β βββ ValidNumber.kt
β βββ ValidPalindrome.kt
β βββ ValidPalindrome_II.kt
β βββ ValidWordAbbreviation.kt
β βββ ValidateIPAddress.kt
β βββ **backtracking/**
β β βββ GenerateParantheses.kt
β βββ **dynamic_programming/**
β β βββ DeleteOperationsForTwoStrings.kt
β β βββ EditDistance.kt
β β βββ InterleavingString.kt
β β βββ LongestCommonSubsequence.kt
β β βββ LongestCommonSubstring.kt
β β βββ LongestPalindromicSubsequence.kt
β β βββ LongestPalindromicSubsequence_BottomUp.kt
β β βββ LongestStringChain.kt
β β βββ RegularExpressionMatching.kt
β β βββ ShortestCommonSupersequence.kt
β β βββ ValidPalindrome_III.kt
β β βββ ValidPalindrome_III_SpaceOptimized.kt
β βββ **greedy/**
β β βββ BreakAPalindrome.kt
β β βββ ShortestWayToFormAString.kt
β βββ **hashtable/**
β β βββ DetermineIfStringsAreClose.kt
β β βββ GroupShiftedStrings.kt
β β βββ PermutationsInString.kt
β β βββ UniqueLength3PalindromicSubsequence.kt
β β βββ UniqueSubstringWithEqualDigitFrequency.kt
β βββ **pattern_matching/**
β β βββ FindTheIndexofTheFirstOccurrenceIna String.kt
β β βββ FindTheIndexofTheFirstOccurrenceIna String_RabinKarp.kt
β βββ **sliding_window/**
β β βββ FindAllAnagrams.kt
β β βββ MaximumNumberofVowelsinSubstringofGivenLength.kt
β β βββ MinimumWindowSubstring.kt
β βββ **sorting/**
β β βββ CustomSortString.kt
β β βββ CustomSortString_Linear.kt
β βββ **stack/**
β β βββ DecodeString.kt
β β βββ RemoveAllAdjacentDuplicatesInString.kt
β β βββ SimplifyPath.kt
β βββ **travelling_salesman/**
βββ **trading/**
β βββ trading_data.json
βββ **tree/**
β βββ AllNodesDistanceKinBinaryTree.kt
β βββ BInaryTreeInOrderTraversalIterative.kt
β βββ BalancedBinaryTree.kt
β βββ BinaryTreeLevelOrderTraversal.kt
β βββ BinaryTreeMaximumPathSum.kt
β βββ BinaryTreeRightSideView.kt
β βββ BinaryTreeVerticalOrderTraversal.kt
β βββ BinaryTreeVerticalOrderTraversal_WithoutSorting.kt
β βββ BinaryTreeZigZagLevelOrderTraversal.kt
β βββ BoundaryOfBinaryTree.kt
β βββ ConstructBinaryTreeFromInorderAndPostOrderTraversal.kt
β βββ ConstructBinaryTreeFromPreorderAndInOrderTraversal.kt
β βββ ConstructBinaryTreeFromString.kt
β βββ CountGoodNodeInBInaryTree.kt
β βββ CountNodeEqualsAverage.kt
β βββ DiameterOfNArrayTree.kt
β βββ LeafSimilar.kt
β βββ LongestPathWithDifferentAdjacentCharacters.kt
β βββ LongestUnivaluePath.kt
β βββ LowestCommonAncestor.kt
β βββ LowestCommonAncestor_III.kt
β βββ MaximumDepthOfBinaryTree.kt
β βββ MaximumSumBSTInBinaryTree.kt
β βββ MaximumWidthOfBinaryTree.kt
β βββ MinimumTimeToCollectAllApplesInATree.kt
β βββ PathSum.kt
β βββ PathSumIII.kt
β βββ PathSum_II.kt
β βββ PopulateNextRightPointersInEachNode_II.kt
β βββ PopulateNextRightPointersInEachNode_II_Constant.kt
β βββ PopulatingNextRightPointerInEachNode.kt
β βββ RecoverATreeFromPreOrderTraversal.kt
β βββ SerializeAndDeserializeABinaryTree.kt
β βββ SerializeAndDeserializeNArrayTree.kt
β βββ SlidingWindowMedianTreeSet.kt
β βββ StepByStepDirectionsFromANodeToAnother.kt
β βββ SumRootToLeafNumbers.kt
β βββ VerticalOrderTraversalOfABinaryTree.kt
β βββ **bfs/**
β β βββ AverageOfLevelsInBinaryTree.kt
β β βββ BinaryTreeLevelOrderTraversal_II.kt
β β βββ CheckCompletenessOfBinaryTree.kt
β β βββ FindLargestValueInEachTreeRow.kt
β βββ **bst/**
β β βββ BSTIterator.kt
β β βββ ClosestBinarySearchTreeValue.kt
β β βββ ConvertBInarySearchTreeToSortedDoublyLinkedList.kt
β β βββ DeleteNodeinABST.kt
β β βββ InorderSuccessor.kt
β β βββ LongestIncreasingSubsequence.kt
β β βββ RecoverBinarySearchTree.kt
β β βββ SkylineProblem.kt
β β βββ UniqueBinarySearchTrees.kt
β β βββ UniqueBinarySearchTrees_II.kt
β βββ **fenwick/**
β β βββ CountOfSmallerNumberAfterSelf.kt
β β βββ FenwickTree.kt
β β βββ RangeSumQuery2dMutable.kt
β β βββ RangeSumQueryMutable.kt
β βββ **interval/**
β β βββ IntervalTree.kt
β βββ **mst/**
β β βββ MinCostToConnectAllPointsKruskal.kt
β β βββ MinCostToConnectAllPointsPrims.kt
β βββ **segment/**
β βββ SegmentTree.kt
βββ **trie/**
βββ AutoCompleteSystem.kt
βββ AutoCompleteSystemWithHeap.kt
βββ CountWordsWithAGivenPrefix_Trie.kt
βββ CountWordsWithAGivenPrefix_Trie_FP.kt
βββ DesignAddAndSearchWordDataStructure.kt
βββ EqualRowAndColumnPairs.kt
βββ LongestCommonPrefix.kt
βββ SearchSuggestionSystem.kt
βββ WordBreak_I.kt
If you would like to contribute to this repository, feel free to submit a pull request. Please ensure that your solutions are well-documented and follow the existing structure.
This repository is licensed under the MIT License. See the LICENSE file for more details.
Happy coding! π