gitextract_1dh1r31z/ ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── feature_request.yml │ │ └── other.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ ├── stale.yml │ └── workflows/ │ ├── Ci.yml │ ├── UpdateDirectory.js │ ├── UpdateDirectory.yml │ └── UploadCoverageReport.yml ├── .gitignore ├── .gitpod.yml ├── .husky/ │ └── pre-commit ├── .prettierignore ├── .prettierrc ├── Backtracking/ │ ├── AllCombinationsOfSizeK.js │ ├── GeneratePermutations.js │ ├── KnightTour.js │ ├── MColoringProblem.js │ ├── NQueens.js │ ├── RatInAMaze.js │ ├── Sudoku.js │ ├── SumOfSubset.js │ ├── generateParentheses.js │ └── tests/ │ ├── AllCombinationsOfSizeK.test.js │ ├── GenerateParentheses.test.js │ ├── GeneratePermutations.test.js │ ├── KnightTour.test.js │ ├── MColoringProblem.test.js │ ├── NQueens.test.js │ ├── RatInAMaze.test.js │ ├── Sudoku.test.js │ └── SumOfSubset.test.js ├── Bit-Manipulation/ │ ├── BinaryCountSetBits.js │ ├── GenerateSubSets.js │ ├── GrayCodes.js │ ├── IsPowerOfTwo.js │ ├── IsPowerofFour.js │ ├── LogTwo.js │ ├── NextPowerOfTwo.js │ ├── SetBit.js │ ├── UniqueElementInAnArray.js │ └── test/ │ ├── BinaryCountSetBits.test.js │ ├── GenerateSubSets.test.js │ ├── GrayCodes.test.js │ ├── IsPowerOfFour.test.js │ ├── IsPowerOfTwo.test.js │ ├── LogTwo.test.js │ ├── NextPowerOfTwo.test.js │ ├── SetBit.test.js │ └── UniqueElementInAnArray.test.js ├── CONTRIBUTING.md ├── Cache/ │ ├── LFUCache.js │ ├── LRUCache.js │ ├── Memoize.js │ └── test/ │ ├── LFUCache.test.js │ ├── LRUCache.test.js │ ├── Memoize.test.js │ └── cacheTest.js ├── Cellular-Automata/ │ ├── ConwaysGameOfLife.js │ ├── Elementary.js │ └── test/ │ ├── ConwaysGameOfLife.test.js │ └── Elementary.test.js ├── Ciphers/ │ ├── AffineCipher.js │ ├── Atbash.js │ ├── CaesarCipher.js │ ├── KeyFinder.js │ ├── KeywordShiftedAlphabet.js │ ├── MorseCode.js │ ├── ROT13.js │ ├── VigenereCipher.js │ ├── XORCipher.js │ └── test/ │ ├── AffineCipher.test.js │ ├── Atbash.test.js │ ├── CaesarCipher.test.js │ ├── KeywordShiftedAlphabet.test.js │ ├── MorseCode.test.js │ ├── ROT13.test.js │ ├── VigenereCipher.test.js │ └── XORCipher.test.js ├── Compression/ │ ├── RLE.js │ └── test/ │ └── RLE.test.js ├── Conversions/ │ ├── ArbitraryBase.js │ ├── ArrayBufferToBase64.js │ ├── Base64ToArrayBuffer.js │ ├── BinaryToDecimal.js │ ├── BinaryToHex.js │ ├── DateDayDifference.js │ ├── DateToDay.js │ ├── DecimalToBinary.js │ ├── DecimalToHex.js │ ├── DecimalToOctal.js │ ├── DecimalToRoman.js │ ├── HexToBinary.js │ ├── HexToDecimal.js │ ├── HexToRGB.js │ ├── LengthConversion.js │ ├── LitersToImperialGallons.js │ ├── LitersToUSGallons.js │ ├── LowerCaseConversion.js │ ├── MeterToFeetConversion.js │ ├── OctToDecimal.js │ ├── OuncesToKilograms.js │ ├── RGBToHex.js │ ├── RailwayTimeConversion.js │ ├── RgbHslConversion.js │ ├── RgbHsvConversion.js │ ├── RomanToDecimal.js │ ├── TemperatureConversion.js │ ├── TitleCaseConversion.js │ ├── UpperCaseConversion.js │ └── test/ │ ├── ArbitraryBase.test.js │ ├── ArrayBufferToBase64.test.js │ ├── Base64ToArrayBuffer.test.js │ ├── BinaryToDecimal.test.js │ ├── BinaryToHex.test.js │ ├── DateDayDiffernce.test.js │ ├── DateToDay.test.js │ ├── DecimalToBinary.test.js │ ├── DecimalToHex.test.js │ ├── DecimalToOctal.test.js │ ├── DecimalToRoman.test.js │ ├── HexToBinary.test.js │ ├── HexToDecimal.test.js │ ├── HexToRGB.test.js │ ├── LengthConversion.test.js │ ├── LitersToImperialGallons.test.js │ ├── LitersToUSGallons.test.js │ ├── LowerCaseConversion.test.js │ ├── MeterToFeetConversion.test.js │ ├── OctToDecimal.test.js │ ├── OuncesToKilogram.test.js │ ├── RGBToHex.test.js │ ├── RailwayTimeConversion.test.js │ ├── RgbHslConversion.test.js │ ├── RgbHsvConversion.test.js │ ├── RomanToDecimal.test.js │ ├── TemperatureConversion.test.js │ ├── TitleCaseConversion.test.js │ └── UpperCaseConverstion.test.js ├── DIRECTORY.md ├── Data-Structures/ │ ├── Array/ │ │ ├── LocalMaximumPoint.js │ │ ├── NumberOfLocalMaximumPoints.js │ │ ├── QuickSelect.js │ │ ├── Reverse.js │ │ └── test/ │ │ ├── LocalMaximumPoint.test.js │ │ ├── NumberOfLocalMaximumPoints.test.js │ │ ├── QuickSelect.test.js │ │ └── Reverse.test.js │ ├── Graph/ │ │ ├── Graph.js │ │ ├── Graph2.js │ │ ├── Graph3.js │ │ └── test/ │ │ ├── Graph2.test.js │ │ └── Graph3.test.js │ ├── Heap/ │ │ ├── BinaryHeap.js │ │ ├── KeyPriorityQueue.js │ │ ├── MinPriorityQueue.js │ │ └── test/ │ │ ├── BinaryHeap.test.js │ │ ├── KeyPriorityQueue.test.js │ │ └── MinPriorityQueue.test.js │ ├── Linked-List/ │ │ ├── AddTwoNumbers.js │ │ ├── CycleDetection.js │ │ ├── CycleDetectionII.js │ │ ├── DoublyLinkedList.js │ │ ├── MergeTwoSortedLinkedLists.js │ │ ├── ReverseSinglyLinkedList.js │ │ ├── SinglyCircularLinkedList.js │ │ ├── SinglyLinkedList.js │ │ └── test/ │ │ ├── AddTwoNumbers.test.js │ │ ├── CycleDetection.test.js │ │ ├── CycleDetectionII.test.js │ │ ├── DoublyLinkedList.test.js │ │ ├── MergeTwoSortedLinkedLists.test.js │ │ ├── ReverseSinglyLinkedList.test.js │ │ ├── SinglyCircularLinkedList.test.js │ │ └── SinglyLinkedList.test.js │ ├── Queue/ │ │ ├── CircularQueue.js │ │ ├── Queue.js │ │ ├── QueueUsing2Stacks.js │ │ └── test/ │ │ ├── Queue.test.js │ │ └── QueueUsing2Stacks.test.js │ ├── Stack/ │ │ ├── EvaluateExpression.js │ │ ├── Stack.js │ │ ├── StackES6.js │ │ └── test/ │ │ └── EvaluateExpression.test.js │ ├── Tree/ │ │ ├── AVLTree.js │ │ ├── BinarySearchTree.js │ │ ├── SegmentTree.js │ │ ├── Trie.js │ │ └── test/ │ │ ├── AVLTree.test.js │ │ ├── BinarySearchTree.test.js │ │ └── SegmentTree.test.js │ └── Vectors/ │ ├── Vector2.js │ └── test/ │ └── Vector2.test.js ├── Dynamic-Programming/ │ ├── Abbreviation.js │ ├── CatalanNumbers.js │ ├── ClimbingStairs.js │ ├── CoinChange.js │ ├── EditDistance.js │ ├── FastFibonacciNumber.js │ ├── FibonacciNumber.js │ ├── FindMonthCalendar.js │ ├── KadaneAlgo.js │ ├── LevenshteinDistance.js │ ├── LongestCommonSubsequence.js │ ├── LongestIncreasingSubsequence.js │ ├── LongestPalindromicSubsequence.js │ ├── LongestValidParentheses.js │ ├── MaxNonAdjacentSum.js │ ├── MaxProductOfThree.js │ ├── MinimumCostPath.js │ ├── NumberOfSubsetEqualToGivenSum.js │ ├── RodCutting.js │ ├── Shuf.js │ ├── SieveOfEratosthenes.js │ ├── Sliding-Window/ │ │ ├── HouseRobber.js │ │ ├── LongestSubstringWithoutRepeatingCharacters.js │ │ ├── MaxConsecutiveOnes.js │ │ ├── MaxConsecutiveOnesIII.js │ │ ├── PermutationinString.js │ │ └── test/ │ │ ├── HouseRobber.test.js │ │ ├── LongestSubstringWithoutRepeatingCharacters.test.js │ │ ├── MaxConsecutiveOnes.test.js │ │ ├── MaxConsecutiveOnesIII.test.js │ │ └── PermutationinString.test.js │ ├── SudokuSolver.js │ ├── TrappingRainWater.js │ ├── TribonacciNumber.js │ ├── UniquePaths.js │ ├── UniquePaths2.js │ ├── ZeroOneKnapsack.js │ └── tests/ │ ├── Abbreviation.test.js │ ├── CatalanNumbers.test.js │ ├── ClimbingStairs.test.js │ ├── CoinChange.test.js │ ├── EditDistance.test.js │ ├── FastFibonacciNumber.test.js │ ├── FibonacciNumber.test.js │ ├── KadaneAlgo.test.js │ ├── LevenshteinDistance.test.js │ ├── LongestCommonSubsequence.test.js │ ├── LongestIncreasingSubsequence.test.js │ ├── LongestPalindromicSubsequence.test.js │ ├── LongestValidParentheses.test.js │ ├── MaxProductOfThree.test.js │ ├── NumberOfSubsetEqualToGivenSum.test.js │ ├── RodCutting.test.js │ ├── SieveOfEratosthenes.test.js │ ├── TrappingRainWater.test.js │ ├── TribonacciNumber.test.js │ ├── UniquePaths.test.js │ ├── UniquePaths2.test.js │ └── ZeroOneKnapsack.test.js ├── Geometry/ │ ├── Circle.js │ ├── Cone.js │ ├── ConvexHullGraham.js │ ├── Pyramid.js │ ├── Sphere.js │ └── Test/ │ ├── Circle.test.js │ ├── Cone.test.js │ ├── ConvexHullGraham.test.js │ ├── Pyramid.test.js │ └── Sphere.test.js ├── Graphs/ │ ├── BellmanFord.js │ ├── BinaryLifting.js │ ├── BreadthFirstSearch.js │ ├── BreadthFirstShortestPath.js │ ├── ConnectedComponents.js │ ├── Density.js │ ├── DepthFirstSearchIterative.js │ ├── DepthFirstSearchRecursive.js │ ├── Dijkstra.js │ ├── DijkstraSmallestPath.js │ ├── FloydWarshall.js │ ├── Kosaraju.js │ ├── KruskalMST.js │ ├── LCABinaryLifting.js │ ├── NodeNeighbors.js │ ├── NumberOfIslands.js │ ├── PrimMST.js │ └── test/ │ ├── BellmanFord.test.js │ ├── BinaryLifting.test.js │ ├── BreadthFirstSearch.test.js │ ├── BreadthFirstShortestPath.test.js │ ├── Kosaraju.test.js │ ├── LCABinaryLifting.test.js │ ├── NumberOfIslands.test.js │ └── PrimMST.test.js ├── Hashes/ │ ├── MD5.js │ ├── SHA1.js │ ├── SHA256.js │ └── tests/ │ ├── MD5.test.js │ ├── SHA1.test.js │ └── SHA256.test.js ├── LICENSE ├── Maths/ │ ├── Abs.js │ ├── AliquotSum.js │ ├── Area.js │ ├── ArithmeticGeometricMean.js │ ├── ArmstrongNumber.js │ ├── AutomorphicNumber.js │ ├── AverageMean.js │ ├── AverageMedian.js │ ├── BinaryConvert.js │ ├── BinaryExponentiationIterative.js │ ├── BinaryExponentiationRecursive.js │ ├── BinomialCoefficient.js │ ├── BisectionMethod.js │ ├── CheckKishnamurthyNumber.js │ ├── CircularArc.js │ ├── CoPrimeCheck.js │ ├── CollatzSequence.js │ ├── Coordinate.js │ ├── CountNumbersDivisible.js │ ├── DecimalExpansion.js │ ├── DecimalIsolate.js │ ├── DegreeToRadian.js │ ├── Determinant.js │ ├── EuclideanDistance.js │ ├── EulerMethod.js │ ├── EulersTotient.js │ ├── EulersTotientFunction.js │ ├── ExponentialFunction.js │ ├── ExtendedEuclideanGCD.js │ ├── Factorial.js │ ├── Factors.js │ ├── FareyApproximation.js │ ├── FermatPrimalityTest.js │ ├── Fibonacci.js │ ├── FigurateNumber.js │ ├── FindHcf.js │ ├── FindLcm.js │ ├── FindMaxRecursion.js │ ├── FindMin.js │ ├── FindMinIterator.js │ ├── FriendlyNumbers.js │ ├── GetEuclidGCD.js │ ├── GridGet.js │ ├── HexagonalNumber.js │ ├── IntToBase.js │ ├── IsDivisible.js │ ├── IsEven.js │ ├── IsOdd.js │ ├── IsPronic.js │ ├── IsSquareFree.js │ ├── JugglerSequence.js │ ├── LeapYear.js │ ├── LinearSieve.js │ ├── LiouvilleFunction.js │ ├── LucasSeries.js │ ├── Mandelbrot.js │ ├── MatrixExponentiationRecursive.js │ ├── MatrixMultiplication.js │ ├── MeanAbsoluteDeviation.js │ ├── MeanSquareError.js │ ├── MidpointIntegration.js │ ├── MobiusFunction.js │ ├── ModularArithmetic.js │ ├── ModularBinaryExponentiationRecursive.js │ ├── NumberOfDigits.js │ ├── Palindrome.js │ ├── ParityOutlier.js │ ├── PascalTriangle.js │ ├── PerfectCube.js │ ├── PerfectNumber.js │ ├── PerfectSquare.js │ ├── PermutationAndCombination.js │ ├── PiApproximationMonteCarlo.js │ ├── Polynomial.js │ ├── Pow.js │ ├── PowLogarithmic.js │ ├── PrimeCheck.js │ ├── PrimeFactors.js │ ├── QuadraticRoots.js │ ├── RadianToDegree.js │ ├── ReverseNumber.js │ ├── ReversePolishNotation.js │ ├── RowEchelon.js │ ├── ShorsAlgorithm.js │ ├── SieveOfEratosthenes.js │ ├── Signum.js │ ├── SimpsonIntegration.js │ ├── Softmax.js │ ├── SquareRoot.js │ ├── SquareRootLogarithmic.js │ ├── SumOfDigits.js │ ├── SumOfGeometricProgression.js │ ├── TwoSum.js │ ├── Volume.js │ ├── WhileLoopFactorial.js │ ├── ZellersCongruenceAlgorithm.js │ ├── isPalindromeIntegerNumber.js │ └── test/ │ ├── Abs.test.js │ ├── AliquotSum.test.js │ ├── Area.test.js │ ├── ArithmeticGeometricMean.test.js │ ├── ArmstrongNumber.test.js │ ├── AutomorphicNumber.test.js │ ├── AverageMean.test.js │ ├── AverageMedian.test.js │ ├── BInaryConvert.test.js │ ├── BinaryExponentiationIterative.test.js │ ├── BinaryExponentiationRecursive.test.js │ ├── BinomialCoefficient.test.js │ ├── BisectionMethod.test.js │ ├── CheckKishnamurthyNumber.test.js │ ├── CircularArc.test.js │ ├── CoPrimeCheck.test.js │ ├── CollatzSequence.test.js │ ├── Coordinate.test.js │ ├── CountNumbersDivisible.test.js │ ├── DecimalExpansion.test.js │ ├── DegreeToRadian.test.js │ ├── Determinant.test.js │ ├── EuclideanDistance.test.js │ ├── EulerMethod.manual-test.js │ ├── EulerMethod.test.js │ ├── EulersTotient.test.js │ ├── EulersTotientFunction.test.js │ ├── ExponentialFunction.test.js │ ├── ExtendedEuclideanGCD.test.js │ ├── Factorial.test.js │ ├── Factors.test.js │ ├── FareyApproximation.test.js │ ├── FermatPrimalityTest.test.js │ ├── Fibonacci.test.js │ ├── FigurateNumber.test.js │ ├── FindHcf.test.js │ ├── FindLcm.test.js │ ├── FindMaxRecursion.test.js │ ├── FindMin.test.js │ ├── FindMinIterator.test.js │ ├── GetEuclidGCD.test.js │ ├── GridGet.test.js │ ├── HexagonalNumber.test.js │ ├── IntToBase.test.js │ ├── IsDivisible.test.js │ ├── IsEven.test.js │ ├── IsOdd.test.js │ ├── IsPronic.test.js │ ├── IsSquareFree.test.js │ ├── JugglerSequence.test.js │ ├── LeapYear.test.js │ ├── LinearSieve.test.js │ ├── LiouvilleFunction.test.js │ ├── LucasSeries.test.js │ ├── Mandelbrot.manual-test.js │ ├── Mandelbrot.test.js │ ├── MeanAbsoluteDeviation.test.js │ ├── MeanSquareError.test.js │ ├── MidpointIntegration.test.js │ ├── MobiusFunction.test.js │ ├── ModularArithmetic.test.js │ ├── ModularBinaryExponentiationRecursive.test.js │ ├── NumberOfDigits.test.js │ ├── Palindrome.test.js │ ├── ParityOutlier.test.js │ ├── PascalTriangle.test.js │ ├── PerfectCube.test.js │ ├── PerfectNumber.test.js │ ├── PerfectSquare.test.js │ ├── PermutationAndCombination.test.js │ ├── PiApproximationMonteCarlo.test.js │ ├── Polynomial.test.js │ ├── Pow.test.js │ ├── PowLogarithmic.test.js │ ├── PrimeCheck.test.js │ ├── PrimeFactors.test.js │ ├── QuadraticRoots.test.js │ ├── RadianToDegree.test.js │ ├── ReverseNumber.test.js │ ├── ReversePolishNotation.test.js │ ├── RowEchelon.test.js │ ├── ShorsAlgorithm.test.js │ ├── SieveOfEratosthenes.test.js │ ├── Signum.test.js │ ├── SimpsonIntegration.test.js │ ├── Softmax.test.js │ ├── SquareRoot.test.js │ ├── SquareRootLogarithmic.test.js │ ├── SumOfDigits.test.js │ ├── SumOfGeometricProgression.test.js │ ├── TwoSum.test.js │ ├── Volume.test.js │ ├── WhileLoopFactorial.test.js │ ├── ZellersCongruenceAlgorithm.test.js │ └── isPalindromeIntegerNumber.test.js ├── Navigation/ │ ├── Haversine.js │ └── test/ │ └── Haversine.test.js ├── Project-Euler/ │ ├── Problem001.js │ ├── Problem002.js │ ├── Problem003.js │ ├── Problem004.js │ ├── Problem005.js │ ├── Problem006.js │ ├── Problem007.js │ ├── Problem008.js │ ├── Problem009.js │ ├── Problem010.js │ ├── Problem011.js │ ├── Problem012.js │ ├── Problem013.js │ ├── Problem014.js │ ├── Problem015.js │ ├── Problem016.js │ ├── Problem017.js │ ├── Problem018.js │ ├── Problem019.js │ ├── Problem020.js │ ├── Problem021.js │ ├── Problem023.js │ ├── Problem025.js │ ├── Problem028.js │ ├── Problem035.js │ ├── Problem044.js │ └── test/ │ ├── Problem001.test.js │ ├── Problem002.test.js │ ├── Problem003.test.js │ ├── Problem004.test.js │ ├── Problem005.test.js │ ├── Problem006.test.js │ ├── Problem007.test.js │ ├── Problem008.test.js │ ├── Problem009.test.js │ ├── Problem010.test.js │ ├── Problem011.test.js │ ├── Problem012.test.js │ ├── Problem013.test.js │ ├── Problem014.test.js │ ├── Problem016.test.js │ ├── Problem017.test.js │ ├── Problem018.test.js │ ├── Problem019.test.js │ ├── Problem020.test.js │ ├── Problem021.test.js │ ├── Problem023.test.js │ ├── Problem025.test.js │ ├── Problem028.test.js │ ├── Problem035.test.js │ └── Problem044.test.js ├── README.md ├── Recursive/ │ ├── BinaryEquivalent.js │ ├── BinarySearch.js │ ├── Factorial.js │ ├── FibonacciNumberRecursive.js │ ├── FloodFill.js │ ├── KochSnowflake.js │ ├── KochSnowflake.manual-test.js │ ├── LetterCombination.js │ ├── Palindrome.js │ ├── PalindromePartitioning.js │ ├── Partition.js │ ├── SubsequenceRecursive.js │ ├── TowerOfHanoi.js │ └── test/ │ ├── BinaryEquivalent.test.js │ ├── BinarySearch.test.js │ ├── Factorial.test.js │ ├── FibonacciNumberRecursive.test.js │ ├── FloodFill.test.js │ ├── KochSnowflake.test.js │ ├── LetterCombination.test.js │ ├── Palindrome.test.js │ ├── PalindromePartitioning.test.js │ └── Partition.test.js ├── Search/ │ ├── BinarySearch.js │ ├── ExponentialSearch.js │ ├── FibonacciSearch.js │ ├── InterpolationSearch.js │ ├── JumpSearch.js │ ├── LinearSearch.js │ ├── Minesweeper.js │ ├── QuickSelectSearch.js │ ├── RabinKarp.js │ ├── SlidingWindow.js │ ├── StringSearch.js │ ├── TernarySearch.js │ ├── UnionFind.js │ └── test/ │ ├── BinarySearch.test.js │ ├── ExponentialSearch.test.js │ ├── FibonacciSearch.test.js │ ├── InterpolationSearch.test.js │ ├── LinearSearch.test.js │ ├── Minesweeper.test.js │ ├── RabinKarp.test.js │ ├── SlidingWindow.test.js │ ├── TernarySearch.test.js │ ├── UnionFind.test.js │ └── jumpSearch.test.js ├── Sliding-Windows/ │ ├── LongestSubarrayWithSumAtMost.js │ ├── MaxSumSubarrayFixed.js │ └── test/ │ ├── LongestSubarrayWithSumAtMost.test.js │ └── MaxSumSubarrayFixed.test.js ├── Sorts/ │ ├── AlphaNumericalSort.js │ ├── BeadSort.js │ ├── BinaryInsertionSort.js │ ├── BogoSort.js │ ├── BubbleSort.js │ ├── BucketSort.js │ ├── CocktailShakerSort.js │ ├── CombSort.js │ ├── CountingSort.js │ ├── CycleSort.js │ ├── DutchNationalFlagSort.js │ ├── FindSecondLargestElement.js │ ├── FisherYatesShuffle.js │ ├── FlashSort.js │ ├── GnomeSort.js │ ├── HeapSort.js │ ├── HeapSortV2.js │ ├── InsertionSort.js │ ├── IntroSort.js │ ├── MergeSort.js │ ├── OddEvenSort.js │ ├── PancakeSort.js │ ├── PigeonHoleSort.js │ ├── QuickSort.js │ ├── QuickSortRecursive.js │ ├── RadixSort.js │ ├── SelectionSort.js │ ├── ShellSort.js │ ├── SimplifiedWiggleSort.js │ ├── StoogeSort.js │ ├── SwapSort.js │ ├── TimSort.js │ ├── TopologicalSort.js │ └── test/ │ ├── AlphaNumericalSort.test.js │ ├── BeadSort.test.js │ ├── BinaryInsertionSort.test.js │ ├── BogoSort.test.js │ ├── BubbleSort.test.js │ ├── BucketSort.test.js │ ├── CocktailShakerSort.test.js │ ├── CombSort.test.js │ ├── CountingSort.test.js │ ├── CycleSort.test.js │ ├── DutchNationalFlagSort.test.js │ ├── FindSecondLargestElement.test.js │ ├── FisherYatesShuffle.test.js │ ├── FlashSort.test.js │ ├── GnomeSort.test.js │ ├── HeapSort.test.js │ ├── HeapSortV2.test.js │ ├── InsertionSort.test.js │ ├── MergeSort.test.js │ ├── OddEvenSort.test.js │ ├── PancakeSort.test.js │ ├── PigeonHoleSort.test.js │ ├── QuickSort.test.js │ ├── QuickSortRecursive.test.js │ ├── RadixSort.test.js │ ├── SecondLargestElement.test.js │ ├── SelectionSort.test.js │ ├── ShellSort.test.js │ ├── SimplifiedWiggleSort.test.js │ ├── StoogeSort.test.js │ ├── SwapSort.test.js │ └── TimSort.test.js ├── String/ │ ├── AlphaNumericPalindrome.js │ ├── AlternativeStringArrange.js │ ├── BoyerMoore.js │ ├── CheckAnagram.js │ ├── CheckCamelCase.js │ ├── CheckExceeding.js │ ├── CheckFlatCase.js │ ├── CheckKebabCase.js │ ├── CheckPalindrome.js │ ├── CheckPangram.js │ ├── CheckPascalCase.js │ ├── CheckRearrangePalindrome.js │ ├── CheckSnakeCase.js │ ├── CheckWordOccurrence.js │ ├── CountLetters.js │ ├── CountSubstrings.js │ ├── CountVowels.js │ ├── CreatePermutations.js │ ├── DiceCoefficient.js │ ├── FirstUniqueCharacter.js │ ├── FormatPhoneNumber.js │ ├── GenerateGUID.js │ ├── HammingDistance.js │ ├── IsPalindrome.js │ ├── KMPPatternSearching.js │ ├── LengthofLongestSubstringWithoutRepetition.js │ ├── LevenshteinDistance.js │ ├── Lower.js │ ├── MaxCharacter.js │ ├── MaxWord.js │ ├── PatternMatching.js │ ├── PercentageOfLetters.js │ ├── PermutateString.js │ ├── ReverseString.js │ ├── ReverseWords.js │ ├── ScrambleStrings.js │ ├── Upper.js │ ├── ValidateCreditCard.js │ ├── ValidateEmail.js │ ├── ZFunction.js │ └── test/ │ ├── AlphaNumericPalindrome.test.js │ ├── AlternativeStringArrange.test.js │ ├── BoyerMoore.test.js │ ├── CheckAnagram.test.js │ ├── CheckCamelCase.test.js │ ├── CheckExceeding.test.js │ ├── CheckFlatCase.test.js │ ├── CheckKebabCase.test.js │ ├── CheckPalindrome.test.js │ ├── CheckPangram.test.js │ ├── CheckPascalCase.test.js │ ├── CheckRearrangePalindrome.test.js │ ├── CheckSnakeCase.test.js │ ├── CheckWordOcurrence.test.js │ ├── CountLetters.test.js │ ├── CountSubstrings.test.js │ ├── CountVowels.test.js │ ├── CreatePermutations.test.js │ ├── DiceCoefficient.test.js │ ├── FirstUniqueCharacter.test.js │ ├── FormatPhoneNumber.test.js │ ├── HammingDistance.test.js │ ├── IsPalindrome.test.js │ ├── KMPPatternSearching.test.js │ ├── LengthofLongestSubstringWithoutRepetition.test.js │ ├── LevenshteinDistance.test.js │ ├── Lower.test.js │ ├── MaxCharacter.test.js │ ├── MaxWord.test.js │ ├── PatternMatching.test.js │ ├── PercentageOfLetters.test.js │ ├── PermutateString.test.js │ ├── ReverseString.test.js │ ├── ReverseWords.test.js │ ├── ScrambleStrings.test.js │ ├── Upper.test.js │ ├── ValidateCreditCard.test.js │ ├── ValidateEmail.test.js │ └── ZFunction.test.js ├── Timing-Functions/ │ ├── GetMonthDays.js │ ├── IntervalTimer.js │ ├── ParseDate.js │ └── test/ │ ├── GetMonthDays.test.js │ └── ParseDate.test.js ├── Trees/ │ ├── BreadthFirstTreeTraversal.js │ ├── DepthFirstSearch.js │ ├── FenwickTree.js │ └── test/ │ ├── BreadthFirstTreeTraversal.test.js │ ├── DepthFirstSearch.test.js │ └── FenwickTree.test.js ├── package.json └── vitest.config.ts