Content-Length: 76305 | pFad | http://github.com/TheAlgorithms/JavaScript/pull/1226.patch
thub.com
From bb3bc982a92ff0f667121922e659fc2b37938946 Mon Sep 17 00:00:00 2001
From: Dustin Lammiman
Date: Mon, 24 Oct 2022 10:58:18 -0600
Subject: [PATCH 1/7] Add TwoSum
---
DIRECTORY.md | 699 +++++++++++-----------
Data-Structures/Array/TwoSum.js | 22 +
Data-Structures/Array/test/TwoSum.test.js | 11 +
3 files changed, 383 insertions(+), 349 deletions(-)
create mode 100644 Data-Structures/Array/TwoSum.js
create mode 100644 Data-Structures/Array/test/TwoSum.test.js
diff --git a/DIRECTORY.md b/DIRECTORY.md
index a32addb9de..4a38a016cf 100644
--- a/DIRECTORY.md
+++ b/DIRECTORY.md
@@ -1,349 +1,350 @@
-* **Backtracking**
- * [AllCombinationsOfSizeK](Backtracking/AllCombinationsOfSizeK.js)
- * [GeneratePermutations](Backtracking/GeneratePermutations.js)
- * [KnightTour](Backtracking/KnightTour.js)
- * [NQueens](Backtracking/NQueens.js)
- * [RatInAMaze](Backtracking/RatInAMaze.js)
- * [Sudoku](Backtracking/Sudoku.js)
- * [SumOfSubset](Backtracking/SumOfSubset.js)
-* **Bit-Manipulation**
- * [BinaryCountSetBits](Bit-Manipulation/BinaryCountSetBits.js)
- * [IsPowerOfTwo](Bit-Manipulation/IsPowerOfTwo.js)
- * [LogTwo](Bit-Manipulation/LogTwo.js)
- * [NextPowerOfTwo](Bit-Manipulation/NextPowerOfTwo.js)
- * [SetBit](Bit-Manipulation/SetBit.js)
-* **Cache**
- * [LFUCache](Cache/LFUCache.js)
- * [LRUCache](Cache/LRUCache.js)
- * [Memoize](Cache/Memoize.js)
-* **Cellular-Automata**
- * [ConwaysGameOfLife](Cellular-Automata/ConwaysGameOfLife.js)
-* **Ciphers**
- * [AffineCipher](Ciphers/AffineCipher.js)
- * [Atbash](Ciphers/Atbash.js)
- * [CaesarCipher](Ciphers/CaesarCipher.js)
- * [KeyFinder](Ciphers/KeyFinder.js)
- * [KeywordShiftedAlphabet](Ciphers/KeywordShiftedAlphabet.js)
- * [ROT13](Ciphers/ROT13.js)
- * [VigenereCipher](Ciphers/VigenereCipher.js)
- * [XORCipher](Ciphers/XORCipher.js)
-* **Conversions**
- * [ArbitraryBase](Conversions/ArbitraryBase.js)
- * [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
- * [Base64ToArrayBuffer](Conversions/Base64ToArrayBuffer.js)
- * [BinaryToDecimal](Conversions/BinaryToDecimal.js)
- * [BinaryToHex](Conversions/BinaryToHex.js)
- * [DateDayDifference](Conversions/DateDayDifference.js)
- * [DateToDay](Conversions/DateToDay.js)
- * [DecimalToBinary](Conversions/DecimalToBinary.js)
- * [DecimalToHex](Conversions/DecimalToHex.js)
- * [DecimalToOctal](Conversions/DecimalToOctal.js)
- * [DecimalToRoman](Conversions/DecimalToRoman.js)
- * [HexToBinary](Conversions/HexToBinary.js)
- * [HexToDecimal](Conversions/HexToDecimal.js)
- * [HexToRGB](Conversions/HexToRGB.js)
- * [LowerCaseConversion](Conversions/LowerCaseConversion.js)
- * [MeterToFeetConversion](Conversions/MeterToFeetConversion.js)
- * [OctToDecimal](Conversions/OctToDecimal.js)
- * [RailwayTimeConversion](Conversions/RailwayTimeConversion.js)
- * [RgbHsvConversion](Conversions/RgbHsvConversion.js)
- * [RGBToHex](Conversions/RGBToHex.js)
- * [RomanToDecimal](Conversions/RomanToDecimal.js)
- * [TemperatureConversion](Conversions/TemperatureConversion.js)
- * [TitleCaseConversion](Conversions/TitleCaseConversion.js)
- * [UpperCaseConversion](Conversions/UpperCaseConversion.js)
-* **Data-Structures**
- * **Array**
- * [LocalMaximomPoint](Data-Structures/Array/LocalMaximomPoint.js)
- * [NumberOfLocalMaximumPoints](Data-Structures/Array/NumberOfLocalMaximumPoints.js)
- * [QuickSelect](Data-Structures/Array/QuickSelect.js)
- * **Graph**
- * [Graph](Data-Structures/Graph/Graph.js)
- * [Graph2](Data-Structures/Graph/Graph2.js)
- * [Graph3](Data-Structures/Graph/Graph3.js)
- * **Heap**
- * [MaxHeap](Data-Structures/Heap/MaxHeap.js)
- * [MinHeap](Data-Structures/Heap/MinHeap.js)
- * [MinPriorityQueue](Data-Structures/Heap/MinPriorityQueue.js)
- * **Linked-List**
- * [AddTwoNumbers](Data-Structures/Linked-List/AddTwoNumbers.js)
- * [CycleDetection](Data-Structures/Linked-List/CycleDetection.js)
- * [DoublyLinkedList](Data-Structures/Linked-List/DoublyLinkedList.js)
- * [SinglyCircularLinkedList](Data-Structures/Linked-List/SinglyCircularLinkedList.js)
- * [SinglyLinkedList](Data-Structures/Linked-List/SinglyLinkedList.js)
- * **Queue**
- * [CircularQueue](Data-Structures/Queue/CircularQueue.js)
- * [Queue](Data-Structures/Queue/Queue.js)
- * [QueueUsing2Stacks](Data-Structures/Queue/QueueUsing2Stacks.js)
- * **Stack**
- * [Stack](Data-Structures/Stack/Stack.js)
- * [StackES6](Data-Structures/Stack/StackES6.js)
- * **Tree**
- * [AVLTree](Data-Structures/Tree/AVLTree.js)
- * [BinarySearchTree](Data-Structures/Tree/BinarySearchTree.js)
- * [Trie](Data-Structures/Tree/Trie.js)
- * **Vectors**
- * [Vector2](Data-Structures/Vectors/Vector2.js)
-* **Dynamic-Programming**
- * [CatalanNumbers](Dynamic-Programming/CatalanNumbers.js)
- * [ClimbingStairs](Dynamic-Programming/ClimbingStairs.js)
- * [CoinChange](Dynamic-Programming/CoinChange.js)
- * [EditDistance](Dynamic-Programming/EditDistance.js)
- * [FastFibonacciNumber](Dynamic-Programming/FastFibonacciNumber.js)
- * [FibonacciNumber](Dynamic-Programming/FibonacciNumber.js)
- * [FindMonthCalendar](Dynamic-Programming/FindMonthCalendar.js)
- * [KadaneAlgo](Dynamic-Programming/KadaneAlgo.js)
- * [LevenshteinDistance](Dynamic-Programming/LevenshteinDistance.js)
- * [LongestCommonSubsequence](Dynamic-Programming/LongestCommonSubsequence.js)
- * [LongestIncreasingSubsequence](Dynamic-Programming/LongestIncreasingSubsequence.js)
- * [LongestPalindromicSubsequence](Dynamic-Programming/LongestPalindromicSubsequence.js)
- * [LongestValidParentheses](Dynamic-Programming/LongestValidParentheses.js)
- * [MaxNonAdjacentSum](Dynamic-Programming/MaxNonAdjacentSum.js)
- * [MaxProductOfThree](Dynamic-Programming/MaxProductOfThree.js)
- * [MinimumCostPath](Dynamic-Programming/MinimumCostPath.js)
- * [NumberOfSubsetEqualToGivenSum](Dynamic-Programming/NumberOfSubsetEqualToGivenSum.js)
- * [RodCutting](Dynamic-Programming/RodCutting.js)
- * [Shuf](Dynamic-Programming/Shuf.js)
- * [SieveOfEratosthenes](Dynamic-Programming/SieveOfEratosthenes.js)
- * [UniquePaths](Dynamic-Programming/UniquePaths.js)
- * **Sliding-Window**
- * [LongestSubstringWithoutRepeatingCharacters](Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js)
- * [PermutationinString](Dynamic-Programming/Sliding-Window/PermutationinString.js)
- * [SudokuSolver](Dynamic-Programming/SudokuSolver.js)
- * [TrappingRainWater](Dynamic-Programming/TrappingRainWater.js)
- * [TribonacciNumber](Dynamic-Programming/TribonacciNumber.js)
- * [ZeroOneKnapsack](Dynamic-Programming/ZeroOneKnapsack.js)
-* **Geometry**
- * [ConvexHullGraham](Geometry/ConvexHullGraham.js)
-* **Graphs**
- * [BellmanFord](Graphs/BellmanFord.js)
- * [BreadthFirstSearch](Graphs/BreadthFirstSearch.js)
- * [BreadthFirstShortestPath](Graphs/BreadthFirstShortestPath.js)
- * [ConnectedComponents](Graphs/ConnectedComponents.js)
- * [Density](Graphs/Density.js)
- * [DepthFirstSearchIterative](Graphs/DepthFirstSearchIterative.js)
- * [DepthFirstSearchRecursive](Graphs/DepthFirstSearchRecursive.js)
- * [Dijkstra](Graphs/Dijkstra.js)
- * [DijkstraSmallestPath](Graphs/DijkstraSmallestPath.js)
- * [FloydWarshall](Graphs/FloydWarshall.js)
- * [KruskalMST](Graphs/KruskalMST.js)
- * [NodeNeighbors](Graphs/NodeNeighbors.js)
- * [NumberOfIslands](Graphs/NumberOfIslands.js)
- * [PrimMST](Graphs/PrimMST.js)
-* **Hashes**
- * [SHA1](Hashes/SHA1.js)
- * [SHA256](Hashes/SHA256.js)
-* **Maths**
- * [Abs](Maths/Abs.js)
- * [AliquotSum](Maths/AliquotSum.js)
- * [Area](Maths/Area.js)
- * [ArithmeticGeometricMean](Maths/ArithmeticGeometricMean.js)
- * [ArmstrongNumber](Maths/ArmstrongNumber.js)
- * [AverageMean](Maths/AverageMean.js)
- * [AverageMedian](Maths/AverageMedian.js)
- * [BinaryConvert](Maths/BinaryConvert.js)
- * [BinaryExponentiationIterative](Maths/BinaryExponentiationIterative.js)
- * [BinaryExponentiationRecursive](Maths/BinaryExponentiationRecursive.js)
- * [BinomialCoefficient](Maths/BinomialCoefficient.js)
- * [BisectionMethod](Maths/BisectionMethod.js)
- * [CheckKishnamurthyNumber](Maths/CheckKishnamurthyNumber.js)
- * [CircularArc](Maths/CircularArc.js)
- * [CollatzSequence](Maths/CollatzSequence.js)
- * [Coordinate](Maths/Coordinate.js)
- * [CoPrimeCheck](Maths/CoPrimeCheck.js)
- * [CountNumbersDivisible](Maths/CountNumbersDivisible.js)
- * [DecimalExpansion](Maths/DecimalExpansion.js)
- * [DecimalIsolate](Maths/DecimalIsolate.js)
- * [DegreeToRadian](Maths/DegreeToRadian.js)
- * [EulerMethod](Maths/EulerMethod.js)
- * [EulersTotient](Maths/EulersTotient.js)
- * [EulersTotientFunction](Maths/EulersTotientFunction.js)
- * [ExtendedEuclideanGCD](Maths/ExtendedEuclideanGCD.js)
- * [Factorial](Maths/Factorial.js)
- * [Factors](Maths/Factors.js)
- * [FareyApproximation](Maths/FareyApproximation.js)
- * [FermatPrimalityTest](Maths/FermatPrimalityTest.js)
- * [Fibonacci](Maths/Fibonacci.js)
- * [FigurateNumber](Maths/FigurateNumber.js)
- * [FindHcf](Maths/FindHcf.js)
- * [FindLcm](Maths/FindLcm.js)
- * [FindMaxRecursion](Maths/FindMaxRecursion.js)
- * [FindMin](Maths/FindMin.js)
- * [FindMinIterator](Maths/FindMinIterator.js)
- * [GetEuclidGCD](Maths/GetEuclidGCD.js)
- * [GridGet](Maths/GridGet.js)
- * [IsDivisible](Maths/IsDivisible.js)
- * [IsEven](Maths/IsEven.js)
- * [IsOdd](Maths/IsOdd.js)
- * [isPalindromeIntegerNumber](Maths/isPalindromeIntegerNumber.js)
- * [IsPronic](Maths/IsPronic.js)
- * [IsSquareFree](Maths/IsSquareFree.js)
- * [JugglerSequence](Maths/JugglerSequence.js)
- * [LeapYear](Maths/LeapYear.js)
- * [LinearSieve](Maths/LinearSieve.js)
- * [LiouvilleFunction](Maths/LiouvilleFunction.js)
- * [LucasSeries](Maths/LucasSeries.js)
- * [Mandelbrot](Maths/Mandelbrot.js)
- * [MatrixExponentiationRecursive](Maths/MatrixExponentiationRecursive.js)
- * [MatrixMultiplication](Maths/MatrixMultiplication.js)
- * [MeanAbsoluteDeviation](Maths/MeanAbsoluteDeviation.js)
- * [MeanSquareError](Maths/MeanSquareError.js)
- * [MidpointIntegration](Maths/MidpointIntegration.js)
- * [MobiusFunction](Maths/MobiusFunction.js)
- * [ModularBinaryExponentiationRecursive](Maths/ModularBinaryExponentiationRecursive.js)
- * [NumberOfDigits](Maths/NumberOfDigits.js)
- * [Palindrome](Maths/Palindrome.js)
- * [PascalTriangle](Maths/PascalTriangle.js)
- * [PerfectCube](Maths/PerfectCube.js)
- * [PerfectNumber](Maths/PerfectNumber.js)
- * [PerfectSquare](Maths/PerfectSquare.js)
- * [PermutationAndCombination](Maths/PermutationAndCombination.js)
- * [PiApproximationMonteCarlo](Maths/PiApproximationMonteCarlo.js)
- * [Polynomial](Maths/Polynomial.js)
- * [Pow](Maths/Pow.js)
- * [PowLogarithmic](Maths/PowLogarithmic.js)
- * [PrimeCheck](Maths/PrimeCheck.js)
- * [PrimeFactors](Maths/PrimeFactors.js)
- * [RadianToDegree](Maths/RadianToDegree.js)
- * [ReverseNumber](Maths/ReverseNumber.js)
- * [ReversePolishNotation](Maths/ReversePolishNotation.js)
- * [ShorsAlgorithm](Maths/ShorsAlgorithm.js)
- * [SieveOfEratosthenes](Maths/SieveOfEratosthenes.js)
- * [SimpsonIntegration](Maths/SimpsonIntegration.js)
- * [Softmax](Maths/Softmax.js)
- * [SquareRoot](Maths/SquareRoot.js)
- * [SumOfDigits](Maths/SumOfDigits.js)
- * [SumOfGeometricProgression](Maths/SumOfGeometricProgression.js)
- * [TwinPrime](Maths/TwinPrime.js)
- * [Volume](Maths/Volume.js)
- * [WhileLoopFactorial](Maths/WhileLoopFactorial.js)
- * [ZellersCongruenceAlgorithm](Maths/ZellersCongruenceAlgorithm.js)
-* **Navigation**
- * [Haversine](Navigation/Haversine.js)
-* **Project-Euler**
- * [Problem001](Project-Euler/Problem001.js)
- * [Problem002](Project-Euler/Problem002.js)
- * [Problem003](Project-Euler/Problem003.js)
- * [Problem004](Project-Euler/Problem004.js)
- * [Problem005](Project-Euler/Problem005.js)
- * [Problem006](Project-Euler/Problem006.js)
- * [Problem007](Project-Euler/Problem007.js)
- * [Problem008](Project-Euler/Problem008.js)
- * [Problem009](Project-Euler/Problem009.js)
- * [Problem010](Project-Euler/Problem010.js)
- * [Problem011](Project-Euler/Problem011.js)
- * [Problem012](Project-Euler/Problem012.js)
- * [Problem013](Project-Euler/Problem013.js)
- * [Problem014](Project-Euler/Problem014.js)
- * [Problem015](Project-Euler/Problem015.js)
- * [Problem016](Project-Euler/Problem016.js)
- * [Problem017](Project-Euler/Problem017.js)
- * [Problem018](Project-Euler/Problem018.js)
- * [Problem020](Project-Euler/Problem020.js)
- * [Problem023](Project-Euler/Problem023.js)
- * [Problem025](Project-Euler/Problem025.js)
- * [Problem028](Project-Euler/Problem028.js)
- * [Problem044](Project-Euler/Problem044.js)
-* **Recursive**
- * [BinaryEquivalent](Recursive/BinaryEquivalent.js)
- * [BinarySearch](Recursive/BinarySearch.js)
- * [EucledianGCD](Recursive/EucledianGCD.js)
- * [Factorial](Recursive/Factorial.js)
- * [FibonacciNumberRecursive](Recursive/FibonacciNumberRecursive.js)
- * [FloodFill](Recursive/FloodFill.js)
- * [KochSnowflake](Recursive/KochSnowflake.js)
- * [LetterCombination](Recursive/LetterCombination.js)
- * [Palindrome](Recursive/Palindrome.js)
- * [SubsequenceRecursive](Recursive/SubsequenceRecursive.js)
- * [TowerOfHanoi](Recursive/TowerOfHanoi.js)
-* **Search**
- * [BinarySearch](Search/BinarySearch.js)
- * [ExponentialSearch](Search/ExponentialSearch.js)
- * [FibonacciSearch](Search/FibonacciSearch.js)
- * [InterpolationSearch](Search/InterpolationSearch.js)
- * [JumpSearch](Search/JumpSearch.js)
- * [LinearSearch](Search/LinearSearch.js)
- * [Minesweeper](Search/Minesweeper.js)
- * [QuickSelectSearch](Search/QuickSelectSearch.js)
- * [SlidingWindow](Search/SlidingWindow.js)
- * [StringSearch](Search/StringSearch.js)
- * [TernarySearch](Search/TernarySearch.js)
- * [UnionFind](Search/UnionFind.js)
-* **Sorts**
- * [AlphaNumericalSort](Sorts/AlphaNumericalSort.js)
- * [BeadSort](Sorts/BeadSort.js)
- * [BinaryInsertionSort](Sorts/BinaryInsertionSort.js)
- * [BogoSort](Sorts/BogoSort.js)
- * [BubbleSort](Sorts/BubbleSort.js)
- * [BucketSort](Sorts/BucketSort.js)
- * [CocktailShakerSort](Sorts/CocktailShakerSort.js)
- * [CombSort](Sorts/CombSort.js)
- * [CountingSort](Sorts/CountingSort.js)
- * [CycleSort](Sorts/CycleSort.js)
- * [FindSecondLargestElement](Sorts/FindSecondLargestElement.js)
- * [FisherYatesShuffle](Sorts/FisherYatesShuffle.js)
- * [FlashSort](Sorts/FlashSort.js)
- * [GnomeSort](Sorts/GnomeSort.js)
- * [HeapSort](Sorts/HeapSort.js)
- * [HeapSortV2](Sorts/HeapSortV2.js)
- * [InsertionSort](Sorts/InsertionSort.js)
- * [IntroSort](Sorts/IntroSort.js)
- * [MergeSort](Sorts/MergeSort.js)
- * [OddEvenSort](Sorts/OddEvenSort.js)
- * [PancakeSort](Sorts/PancakeSort.js)
- * [PigeonHoleSort](Sorts/PigeonHoleSort.js)
- * [QuickSort](Sorts/QuickSort.js)
- * [QuickSortRecursive](Sorts/QuickSortRecursive.js)
- * [RadixSort](Sorts/RadixSort.js)
- * [SelectionSort](Sorts/SelectionSort.js)
- * [ShellSort](Sorts/ShellSort.js)
- * [SimplifiedWiggleSort](Sorts/SimplifiedWiggleSort.js)
- * [StoogeSort](Sorts/StoogeSort.js)
- * [SwapSort](Sorts/SwapSort.js)
- * [TimSort](Sorts/TimSort.js)
- * [TopologicalSort](Sorts/TopologicalSort.js)
-* **String**
- * [AlphaNumericPalindrome](String/AlphaNumericPalindrome.js)
- * [AlternativeStringArrange](String/AlternativeStringArrange.js)
- * [BoyerMoore](String/BoyerMoore.js)
- * [CheckAnagram](String/CheckAnagram.js)
- * [CheckCamelCase](String/CheckCamelCase.js)
- * [CheckExceeding](String/CheckExceeding.js)
- * [CheckFlatCase](String/CheckFlatCase.js)
- * [CheckKebabCase](String/CheckKebabCase.js)
- * [CheckPalindrome](String/CheckPalindrome.js)
- * [CheckPangram](String/CheckPangram.js)
- * [CheckPascalCase](String/CheckPascalCase.js)
- * [CheckRearrangePalindrome](String/CheckRearrangePalindrome.js)
- * [CheckSnakeCase](String/CheckSnakeCase.js)
- * [CheckWordOccurrence](String/CheckWordOccurrence.js)
- * [CountSubstrings](String/CountSubstrings.js)
- * [CountVowels](String/CountVowels.js)
- * [CreatePermutations](String/CreatePermutations.js)
- * [DiceCoefficient](String/DiceCoefficient.js)
- * [FirstUniqueCharacter](String/FirstUniqueCharacter.js)
- * [FormatPhoneNumber](String/FormatPhoneNumber.js)
- * [GenerateGUID](String/GenerateGUID.js)
- * [HammingDistance](String/HammingDistance.js)
- * [IsPalindrome](String/IsPalindrome.js)
- * [KMPPatternSearching](String/KMPPatternSearching.js)
- * [LevenshteinDistance](String/LevenshteinDistance.js)
- * [Lower](String/Lower.js)
- * [MaxCharacter](String/MaxCharacter.js)
- * [MaxWord](String/MaxWord.js)
- * [PatternMatching](String/PatternMatching.js)
- * [PermutateString](String/PermutateString.js)
- * [ReverseString](String/ReverseString.js)
- * [ReverseWords](String/ReverseWords.js)
- * [ScrambleStrings](String/ScrambleStrings.js)
- * [Upper](String/Upper.js)
- * [ValidateCreditCard](String/ValidateCreditCard.js)
- * [ValidateEmail](String/ValidateEmail.js)
- * [ValidateUrl](String/ValidateUrl.js)
-* **Timing-Functions**
- * [GetMonthDays](Timing-Functions/GetMonthDays.js)
- * [IntervalTimer](Timing-Functions/IntervalTimer.js)
-* **Trees**
- * [BreadthFirstTreeTraversal](Trees/BreadthFirstTreeTraversal.js)
- * [DepthFirstSearch](Trees/DepthFirstSearch.js)
- * [FenwickTree](Trees/FenwickTree.js)
+- **Backtracking**
+ - [AllCombinationsOfSizeK](Backtracking/AllCombinationsOfSizeK.js)
+ - [GeneratePermutations](Backtracking/GeneratePermutations.js)
+ - [KnightTour](Backtracking/KnightTour.js)
+ - [NQueens](Backtracking/NQueens.js)
+ - [RatInAMaze](Backtracking/RatInAMaze.js)
+ - [Sudoku](Backtracking/Sudoku.js)
+ - [SumOfSubset](Backtracking/SumOfSubset.js)
+- **Bit-Manipulation**
+ - [BinaryCountSetBits](Bit-Manipulation/BinaryCountSetBits.js)
+ - [IsPowerOfTwo](Bit-Manipulation/IsPowerOfTwo.js)
+ - [LogTwo](Bit-Manipulation/LogTwo.js)
+ - [NextPowerOfTwo](Bit-Manipulation/NextPowerOfTwo.js)
+ - [SetBit](Bit-Manipulation/SetBit.js)
+- **Cache**
+ - [LFUCache](Cache/LFUCache.js)
+ - [LRUCache](Cache/LRUCache.js)
+ - [Memoize](Cache/Memoize.js)
+- **Cellular-Automata**
+ - [ConwaysGameOfLife](Cellular-Automata/ConwaysGameOfLife.js)
+- **Ciphers**
+ - [AffineCipher](Ciphers/AffineCipher.js)
+ - [Atbash](Ciphers/Atbash.js)
+ - [CaesarCipher](Ciphers/CaesarCipher.js)
+ - [KeyFinder](Ciphers/KeyFinder.js)
+ - [KeywordShiftedAlphabet](Ciphers/KeywordShiftedAlphabet.js)
+ - [ROT13](Ciphers/ROT13.js)
+ - [VigenereCipher](Ciphers/VigenereCipher.js)
+ - [XORCipher](Ciphers/XORCipher.js)
+- **Conversions**
+ - [ArbitraryBase](Conversions/ArbitraryBase.js)
+ - [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
+ - [Base64ToArrayBuffer](Conversions/Base64ToArrayBuffer.js)
+ - [BinaryToDecimal](Conversions/BinaryToDecimal.js)
+ - [BinaryToHex](Conversions/BinaryToHex.js)
+ - [DateDayDifference](Conversions/DateDayDifference.js)
+ - [DateToDay](Conversions/DateToDay.js)
+ - [DecimalToBinary](Conversions/DecimalToBinary.js)
+ - [DecimalToHex](Conversions/DecimalToHex.js)
+ - [DecimalToOctal](Conversions/DecimalToOctal.js)
+ - [DecimalToRoman](Conversions/DecimalToRoman.js)
+ - [HexToBinary](Conversions/HexToBinary.js)
+ - [HexToDecimal](Conversions/HexToDecimal.js)
+ - [HexToRGB](Conversions/HexToRGB.js)
+ - [LowerCaseConversion](Conversions/LowerCaseConversion.js)
+ - [MeterToFeetConversion](Conversions/MeterToFeetConversion.js)
+ - [OctToDecimal](Conversions/OctToDecimal.js)
+ - [RailwayTimeConversion](Conversions/RailwayTimeConversion.js)
+ - [RgbHsvConversion](Conversions/RgbHsvConversion.js)
+ - [RGBToHex](Conversions/RGBToHex.js)
+ - [RomanToDecimal](Conversions/RomanToDecimal.js)
+ - [TemperatureConversion](Conversions/TemperatureConversion.js)
+ - [TitleCaseConversion](Conversions/TitleCaseConversion.js)
+ - [UpperCaseConversion](Conversions/UpperCaseConversion.js)
+- **Data-Structures**
+ - **Array**
+ - [LocalMaximomPoint](Data-Structures/Array/LocalMaximomPoint.js)
+ - [NumberOfLocalMaximumPoints](Data-Structures/Array/NumberOfLocalMaximumPoints.js)
+ - [QuickSelect](Data-Structures/Array/QuickSelect.js)
+ - [TwoSum](Data-Structures/Array/TwoSum.js)
+ - **Graph**
+ - [Graph](Data-Structures/Graph/Graph.js)
+ - [Graph2](Data-Structures/Graph/Graph2.js)
+ - [Graph3](Data-Structures/Graph/Graph3.js)
+ - **Heap**
+ - [MaxHeap](Data-Structures/Heap/MaxHeap.js)
+ - [MinHeap](Data-Structures/Heap/MinHeap.js)
+ - [MinPriorityQueue](Data-Structures/Heap/MinPriorityQueue.js)
+ - **Linked-List**
+ - [AddTwoNumbers](Data-Structures/Linked-List/AddTwoNumbers.js)
+ - [CycleDetection](Data-Structures/Linked-List/CycleDetection.js)
+ - [DoublyLinkedList](Data-Structures/Linked-List/DoublyLinkedList.js)
+ - [SinglyCircularLinkedList](Data-Structures/Linked-List/SinglyCircularLinkedList.js)
+ - [SinglyLinkedList](Data-Structures/Linked-List/SinglyLinkedList.js)
+ - **Queue**
+ - [CircularQueue](Data-Structures/Queue/CircularQueue.js)
+ - [Queue](Data-Structures/Queue/Queue.js)
+ - [QueueUsing2Stacks](Data-Structures/Queue/QueueUsing2Stacks.js)
+ - **Stack**
+ - [Stack](Data-Structures/Stack/Stack.js)
+ - [StackES6](Data-Structures/Stack/StackES6.js)
+ - **Tree**
+ - [AVLTree](Data-Structures/Tree/AVLTree.js)
+ - [BinarySearchTree](Data-Structures/Tree/BinarySearchTree.js)
+ - [Trie](Data-Structures/Tree/Trie.js)
+ - **Vectors**
+ - [Vector2](Data-Structures/Vectors/Vector2.js)
+- **Dynamic-Programming**
+ - [CatalanNumbers](Dynamic-Programming/CatalanNumbers.js)
+ - [ClimbingStairs](Dynamic-Programming/ClimbingStairs.js)
+ - [CoinChange](Dynamic-Programming/CoinChange.js)
+ - [EditDistance](Dynamic-Programming/EditDistance.js)
+ - [FastFibonacciNumber](Dynamic-Programming/FastFibonacciNumber.js)
+ - [FibonacciNumber](Dynamic-Programming/FibonacciNumber.js)
+ - [FindMonthCalendar](Dynamic-Programming/FindMonthCalendar.js)
+ - [KadaneAlgo](Dynamic-Programming/KadaneAlgo.js)
+ - [LevenshteinDistance](Dynamic-Programming/LevenshteinDistance.js)
+ - [LongestCommonSubsequence](Dynamic-Programming/LongestCommonSubsequence.js)
+ - [LongestIncreasingSubsequence](Dynamic-Programming/LongestIncreasingSubsequence.js)
+ - [LongestPalindromicSubsequence](Dynamic-Programming/LongestPalindromicSubsequence.js)
+ - [LongestValidParentheses](Dynamic-Programming/LongestValidParentheses.js)
+ - [MaxNonAdjacentSum](Dynamic-Programming/MaxNonAdjacentSum.js)
+ - [MaxProductOfThree](Dynamic-Programming/MaxProductOfThree.js)
+ - [MinimumCostPath](Dynamic-Programming/MinimumCostPath.js)
+ - [NumberOfSubsetEqualToGivenSum](Dynamic-Programming/NumberOfSubsetEqualToGivenSum.js)
+ - [RodCutting](Dynamic-Programming/RodCutting.js)
+ - [Shuf](Dynamic-Programming/Shuf.js)
+ - [SieveOfEratosthenes](Dynamic-Programming/SieveOfEratosthenes.js)
+ - [UniquePaths](Dynamic-Programming/UniquePaths.js)
+ - **Sliding-Window**
+ - [LongestSubstringWithoutRepeatingCharacters](Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js)
+ - [PermutationinString](Dynamic-Programming/Sliding-Window/PermutationinString.js)
+ - [SudokuSolver](Dynamic-Programming/SudokuSolver.js)
+ - [TrappingRainWater](Dynamic-Programming/TrappingRainWater.js)
+ - [TribonacciNumber](Dynamic-Programming/TribonacciNumber.js)
+ - [ZeroOneKnapsack](Dynamic-Programming/ZeroOneKnapsack.js)
+- **Geometry**
+ - [ConvexHullGraham](Geometry/ConvexHullGraham.js)
+- **Graphs**
+ - [BellmanFord](Graphs/BellmanFord.js)
+ - [BreadthFirstSearch](Graphs/BreadthFirstSearch.js)
+ - [BreadthFirstShortestPath](Graphs/BreadthFirstShortestPath.js)
+ - [ConnectedComponents](Graphs/ConnectedComponents.js)
+ - [Density](Graphs/Density.js)
+ - [DepthFirstSearchIterative](Graphs/DepthFirstSearchIterative.js)
+ - [DepthFirstSearchRecursive](Graphs/DepthFirstSearchRecursive.js)
+ - [Dijkstra](Graphs/Dijkstra.js)
+ - [DijkstraSmallestPath](Graphs/DijkstraSmallestPath.js)
+ - [FloydWarshall](Graphs/FloydWarshall.js)
+ - [KruskalMST](Graphs/KruskalMST.js)
+ - [NodeNeighbors](Graphs/NodeNeighbors.js)
+ - [NumberOfIslands](Graphs/NumberOfIslands.js)
+ - [PrimMST](Graphs/PrimMST.js)
+- **Hashes**
+ - [SHA1](Hashes/SHA1.js)
+ - [SHA256](Hashes/SHA256.js)
+- **Maths**
+ - [Abs](Maths/Abs.js)
+ - [AliquotSum](Maths/AliquotSum.js)
+ - [Area](Maths/Area.js)
+ - [ArithmeticGeometricMean](Maths/ArithmeticGeometricMean.js)
+ - [ArmstrongNumber](Maths/ArmstrongNumber.js)
+ - [AverageMean](Maths/AverageMean.js)
+ - [AverageMedian](Maths/AverageMedian.js)
+ - [BinaryConvert](Maths/BinaryConvert.js)
+ - [BinaryExponentiationIterative](Maths/BinaryExponentiationIterative.js)
+ - [BinaryExponentiationRecursive](Maths/BinaryExponentiationRecursive.js)
+ - [BinomialCoefficient](Maths/BinomialCoefficient.js)
+ - [BisectionMethod](Maths/BisectionMethod.js)
+ - [CheckKishnamurthyNumber](Maths/CheckKishnamurthyNumber.js)
+ - [CircularArc](Maths/CircularArc.js)
+ - [CollatzSequence](Maths/CollatzSequence.js)
+ - [Coordinate](Maths/Coordinate.js)
+ - [CoPrimeCheck](Maths/CoPrimeCheck.js)
+ - [CountNumbersDivisible](Maths/CountNumbersDivisible.js)
+ - [DecimalExpansion](Maths/DecimalExpansion.js)
+ - [DecimalIsolate](Maths/DecimalIsolate.js)
+ - [DegreeToRadian](Maths/DegreeToRadian.js)
+ - [EulerMethod](Maths/EulerMethod.js)
+ - [EulersTotient](Maths/EulersTotient.js)
+ - [EulersTotientFunction](Maths/EulersTotientFunction.js)
+ - [ExtendedEuclideanGCD](Maths/ExtendedEuclideanGCD.js)
+ - [Factorial](Maths/Factorial.js)
+ - [Factors](Maths/Factors.js)
+ - [FareyApproximation](Maths/FareyApproximation.js)
+ - [FermatPrimalityTest](Maths/FermatPrimalityTest.js)
+ - [Fibonacci](Maths/Fibonacci.js)
+ - [FigurateNumber](Maths/FigurateNumber.js)
+ - [FindHcf](Maths/FindHcf.js)
+ - [FindLcm](Maths/FindLcm.js)
+ - [FindMaxRecursion](Maths/FindMaxRecursion.js)
+ - [FindMin](Maths/FindMin.js)
+ - [FindMinIterator](Maths/FindMinIterator.js)
+ - [GetEuclidGCD](Maths/GetEuclidGCD.js)
+ - [GridGet](Maths/GridGet.js)
+ - [IsDivisible](Maths/IsDivisible.js)
+ - [IsEven](Maths/IsEven.js)
+ - [IsOdd](Maths/IsOdd.js)
+ - [isPalindromeIntegerNumber](Maths/isPalindromeIntegerNumber.js)
+ - [IsPronic](Maths/IsPronic.js)
+ - [IsSquareFree](Maths/IsSquareFree.js)
+ - [JugglerSequence](Maths/JugglerSequence.js)
+ - [LeapYear](Maths/LeapYear.js)
+ - [LinearSieve](Maths/LinearSieve.js)
+ - [LiouvilleFunction](Maths/LiouvilleFunction.js)
+ - [LucasSeries](Maths/LucasSeries.js)
+ - [Mandelbrot](Maths/Mandelbrot.js)
+ - [MatrixExponentiationRecursive](Maths/MatrixExponentiationRecursive.js)
+ - [MatrixMultiplication](Maths/MatrixMultiplication.js)
+ - [MeanAbsoluteDeviation](Maths/MeanAbsoluteDeviation.js)
+ - [MeanSquareError](Maths/MeanSquareError.js)
+ - [MidpointIntegration](Maths/MidpointIntegration.js)
+ - [MobiusFunction](Maths/MobiusFunction.js)
+ - [ModularBinaryExponentiationRecursive](Maths/ModularBinaryExponentiationRecursive.js)
+ - [NumberOfDigits](Maths/NumberOfDigits.js)
+ - [Palindrome](Maths/Palindrome.js)
+ - [PascalTriangle](Maths/PascalTriangle.js)
+ - [PerfectCube](Maths/PerfectCube.js)
+ - [PerfectNumber](Maths/PerfectNumber.js)
+ - [PerfectSquare](Maths/PerfectSquare.js)
+ - [PermutationAndCombination](Maths/PermutationAndCombination.js)
+ - [PiApproximationMonteCarlo](Maths/PiApproximationMonteCarlo.js)
+ - [Polynomial](Maths/Polynomial.js)
+ - [Pow](Maths/Pow.js)
+ - [PowLogarithmic](Maths/PowLogarithmic.js)
+ - [PrimeCheck](Maths/PrimeCheck.js)
+ - [PrimeFactors](Maths/PrimeFactors.js)
+ - [RadianToDegree](Maths/RadianToDegree.js)
+ - [ReverseNumber](Maths/ReverseNumber.js)
+ - [ReversePolishNotation](Maths/ReversePolishNotation.js)
+ - [ShorsAlgorithm](Maths/ShorsAlgorithm.js)
+ - [SieveOfEratosthenes](Maths/SieveOfEratosthenes.js)
+ - [SimpsonIntegration](Maths/SimpsonIntegration.js)
+ - [Softmax](Maths/Softmax.js)
+ - [SquareRoot](Maths/SquareRoot.js)
+ - [SumOfDigits](Maths/SumOfDigits.js)
+ - [SumOfGeometricProgression](Maths/SumOfGeometricProgression.js)
+ - [TwinPrime](Maths/TwinPrime.js)
+ - [Volume](Maths/Volume.js)
+ - [WhileLoopFactorial](Maths/WhileLoopFactorial.js)
+ - [ZellersCongruenceAlgorithm](Maths/ZellersCongruenceAlgorithm.js)
+- **Navigation**
+ - [Haversine](Navigation/Haversine.js)
+- **Project-Euler**
+ - [Problem001](Project-Euler/Problem001.js)
+ - [Problem002](Project-Euler/Problem002.js)
+ - [Problem003](Project-Euler/Problem003.js)
+ - [Problem004](Project-Euler/Problem004.js)
+ - [Problem005](Project-Euler/Problem005.js)
+ - [Problem006](Project-Euler/Problem006.js)
+ - [Problem007](Project-Euler/Problem007.js)
+ - [Problem008](Project-Euler/Problem008.js)
+ - [Problem009](Project-Euler/Problem009.js)
+ - [Problem010](Project-Euler/Problem010.js)
+ - [Problem011](Project-Euler/Problem011.js)
+ - [Problem012](Project-Euler/Problem012.js)
+ - [Problem013](Project-Euler/Problem013.js)
+ - [Problem014](Project-Euler/Problem014.js)
+ - [Problem015](Project-Euler/Problem015.js)
+ - [Problem016](Project-Euler/Problem016.js)
+ - [Problem017](Project-Euler/Problem017.js)
+ - [Problem018](Project-Euler/Problem018.js)
+ - [Problem020](Project-Euler/Problem020.js)
+ - [Problem023](Project-Euler/Problem023.js)
+ - [Problem025](Project-Euler/Problem025.js)
+ - [Problem028](Project-Euler/Problem028.js)
+ - [Problem044](Project-Euler/Problem044.js)
+- **Recursive**
+ - [BinaryEquivalent](Recursive/BinaryEquivalent.js)
+ - [BinarySearch](Recursive/BinarySearch.js)
+ - [EucledianGCD](Recursive/EucledianGCD.js)
+ - [Factorial](Recursive/Factorial.js)
+ - [FibonacciNumberRecursive](Recursive/FibonacciNumberRecursive.js)
+ - [FloodFill](Recursive/FloodFill.js)
+ - [KochSnowflake](Recursive/KochSnowflake.js)
+ - [LetterCombination](Recursive/LetterCombination.js)
+ - [Palindrome](Recursive/Palindrome.js)
+ - [SubsequenceRecursive](Recursive/SubsequenceRecursive.js)
+ - [TowerOfHanoi](Recursive/TowerOfHanoi.js)
+- **Search**
+ - [BinarySearch](Search/BinarySearch.js)
+ - [ExponentialSearch](Search/ExponentialSearch.js)
+ - [FibonacciSearch](Search/FibonacciSearch.js)
+ - [InterpolationSearch](Search/InterpolationSearch.js)
+ - [JumpSearch](Search/JumpSearch.js)
+ - [LinearSearch](Search/LinearSearch.js)
+ - [Minesweeper](Search/Minesweeper.js)
+ - [QuickSelectSearch](Search/QuickSelectSearch.js)
+ - [SlidingWindow](Search/SlidingWindow.js)
+ - [StringSearch](Search/StringSearch.js)
+ - [TernarySearch](Search/TernarySearch.js)
+ - [UnionFind](Search/UnionFind.js)
+- **Sorts**
+ - [AlphaNumericalSort](Sorts/AlphaNumericalSort.js)
+ - [BeadSort](Sorts/BeadSort.js)
+ - [BinaryInsertionSort](Sorts/BinaryInsertionSort.js)
+ - [BogoSort](Sorts/BogoSort.js)
+ - [BubbleSort](Sorts/BubbleSort.js)
+ - [BucketSort](Sorts/BucketSort.js)
+ - [CocktailShakerSort](Sorts/CocktailShakerSort.js)
+ - [CombSort](Sorts/CombSort.js)
+ - [CountingSort](Sorts/CountingSort.js)
+ - [CycleSort](Sorts/CycleSort.js)
+ - [FindSecondLargestElement](Sorts/FindSecondLargestElement.js)
+ - [FisherYatesShuffle](Sorts/FisherYatesShuffle.js)
+ - [FlashSort](Sorts/FlashSort.js)
+ - [GnomeSort](Sorts/GnomeSort.js)
+ - [HeapSort](Sorts/HeapSort.js)
+ - [HeapSortV2](Sorts/HeapSortV2.js)
+ - [InsertionSort](Sorts/InsertionSort.js)
+ - [IntroSort](Sorts/IntroSort.js)
+ - [MergeSort](Sorts/MergeSort.js)
+ - [OddEvenSort](Sorts/OddEvenSort.js)
+ - [PancakeSort](Sorts/PancakeSort.js)
+ - [PigeonHoleSort](Sorts/PigeonHoleSort.js)
+ - [QuickSort](Sorts/QuickSort.js)
+ - [QuickSortRecursive](Sorts/QuickSortRecursive.js)
+ - [RadixSort](Sorts/RadixSort.js)
+ - [SelectionSort](Sorts/SelectionSort.js)
+ - [ShellSort](Sorts/ShellSort.js)
+ - [SimplifiedWiggleSort](Sorts/SimplifiedWiggleSort.js)
+ - [StoogeSort](Sorts/StoogeSort.js)
+ - [SwapSort](Sorts/SwapSort.js)
+ - [TimSort](Sorts/TimSort.js)
+ - [TopologicalSort](Sorts/TopologicalSort.js)
+- **String**
+ - [AlphaNumericPalindrome](String/AlphaNumericPalindrome.js)
+ - [AlternativeStringArrange](String/AlternativeStringArrange.js)
+ - [BoyerMoore](String/BoyerMoore.js)
+ - [CheckAnagram](String/CheckAnagram.js)
+ - [CheckCamelCase](String/CheckCamelCase.js)
+ - [CheckExceeding](String/CheckExceeding.js)
+ - [CheckFlatCase](String/CheckFlatCase.js)
+ - [CheckKebabCase](String/CheckKebabCase.js)
+ - [CheckPalindrome](String/CheckPalindrome.js)
+ - [CheckPangram](String/CheckPangram.js)
+ - [CheckPascalCase](String/CheckPascalCase.js)
+ - [CheckRearrangePalindrome](String/CheckRearrangePalindrome.js)
+ - [CheckSnakeCase](String/CheckSnakeCase.js)
+ - [CheckWordOccurrence](String/CheckWordOccurrence.js)
+ - [CountSubstrings](String/CountSubstrings.js)
+ - [CountVowels](String/CountVowels.js)
+ - [CreatePermutations](String/CreatePermutations.js)
+ - [DiceCoefficient](String/DiceCoefficient.js)
+ - [FirstUniqueCharacter](String/FirstUniqueCharacter.js)
+ - [FormatPhoneNumber](String/FormatPhoneNumber.js)
+ - [GenerateGUID](String/GenerateGUID.js)
+ - [HammingDistance](String/HammingDistance.js)
+ - [IsPalindrome](String/IsPalindrome.js)
+ - [KMPPatternSearching](String/KMPPatternSearching.js)
+ - [LevenshteinDistance](String/LevenshteinDistance.js)
+ - [Lower](String/Lower.js)
+ - [MaxCharacter](String/MaxCharacter.js)
+ - [MaxWord](String/MaxWord.js)
+ - [PatternMatching](String/PatternMatching.js)
+ - [PermutateString](String/PermutateString.js)
+ - [ReverseString](String/ReverseString.js)
+ - [ReverseWords](String/ReverseWords.js)
+ - [ScrambleStrings](String/ScrambleStrings.js)
+ - [Upper](String/Upper.js)
+ - [ValidateCreditCard](String/ValidateCreditCard.js)
+ - [ValidateEmail](String/ValidateEmail.js)
+ - [ValidateUrl](String/ValidateUrl.js)
+- **Timing-Functions**
+ - [GetMonthDays](Timing-Functions/GetMonthDays.js)
+ - [IntervalTimer](Timing-Functions/IntervalTimer.js)
+- **Trees**
+ - [BreadthFirstTreeTraversal](Trees/BreadthFirstTreeTraversal.js)
+ - [DepthFirstSearch](Trees/DepthFirstSearch.js)
+ - [FenwickTree](Trees/FenwickTree.js)
diff --git a/Data-Structures/Array/TwoSum.js b/Data-Structures/Array/TwoSum.js
new file mode 100644
index 0000000000..de8178e8b1
--- /dev/null
+++ b/Data-Structures/Array/TwoSum.js
@@ -0,0 +1,22 @@
+// Given an array of integers, return indices of the two numbers such that they add up to
+// a specific target.
+
+// You may assume that each input would have exactly one solution, and you may not use the
+// same element twice.
+
+// Example:
+// Given nums = [2, 7, 11, 15], target = 9,
+
+// Because nums[0] + nums[1] = 2 + 7 = 9,
+// return [0, 1].
+
+const TwoSum = (nums, target) => {
+ for (let i = 0; i < nums.length; i++) {
+ for (let j = i + 1; j < nums.length; j++) {
+ if (nums[i] + nums[j] === target) {
+ return [i, j]
+ }
+ }
+ }
+}
+export { TwoSum }
diff --git a/Data-Structures/Array/test/TwoSum.test.js b/Data-Structures/Array/test/TwoSum.test.js
new file mode 100644
index 0000000000..2e157880e8
--- /dev/null
+++ b/Data-Structures/Array/test/TwoSum.test.js
@@ -0,0 +1,11 @@
+import { TwoSum } from '../TwoSum'
+
+describe('TwoSum tests', () => {
+ it('check that a variety of inputs return the correct answer', () => {
+ expect(TwoSum([2, 7, 11, 15], 9)).toEqual([0, 1])
+ expect(TwoSum([2, 7, 11, 15, 6], 8)).toEqual([0, 4])
+ expect(TwoSum([1, 0, 5, 7, 3, 4], 6)).toEqual([0, 2])
+ expect(TwoSum([0, 8, 3, 1, 2, 7, 3], 6)).toEqual([2, 6])
+ expect(TwoSum([0, 5, 4, 2, 6, 7, 9, 1], 3)).toEqual([3, 7])
+ })
+})
From 7791b7a10927cbc3709bd7da9f11114c9eb78f72 Mon Sep 17 00:00:00 2001
From: Dustin Lammiman
Date: Mon, 24 Oct 2022 11:05:32 -0600
Subject: [PATCH 2/7] Add link to explanation
---
Data-Structures/Array/TwoSum.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Data-Structures/Array/TwoSum.js b/Data-Structures/Array/TwoSum.js
index de8178e8b1..17affdea20 100644
--- a/Data-Structures/Array/TwoSum.js
+++ b/Data-Structures/Array/TwoSum.js
@@ -1,3 +1,5 @@
+// https://leetcode.com/problems/two-sum/
+
// Given an array of integers, return indices of the two numbers such that they add up to
// a specific target.
From 424b23547b10af9da1a1cfbc5469df10e09b8067 Mon Sep 17 00:00:00 2001
From: Dustin Lammiman
Date: Mon, 24 Oct 2022 11:07:21 -0600
Subject: [PATCH 3/7] Fix formatting change on DIRECTORY.md
---
DIRECTORY.md | 700 +++++++++++++++++++++++++--------------------------
1 file changed, 350 insertions(+), 350 deletions(-)
diff --git a/DIRECTORY.md b/DIRECTORY.md
index 4a38a016cf..b1ddcf9c09 100644
--- a/DIRECTORY.md
+++ b/DIRECTORY.md
@@ -1,350 +1,350 @@
-- **Backtracking**
- - [AllCombinationsOfSizeK](Backtracking/AllCombinationsOfSizeK.js)
- - [GeneratePermutations](Backtracking/GeneratePermutations.js)
- - [KnightTour](Backtracking/KnightTour.js)
- - [NQueens](Backtracking/NQueens.js)
- - [RatInAMaze](Backtracking/RatInAMaze.js)
- - [Sudoku](Backtracking/Sudoku.js)
- - [SumOfSubset](Backtracking/SumOfSubset.js)
-- **Bit-Manipulation**
- - [BinaryCountSetBits](Bit-Manipulation/BinaryCountSetBits.js)
- - [IsPowerOfTwo](Bit-Manipulation/IsPowerOfTwo.js)
- - [LogTwo](Bit-Manipulation/LogTwo.js)
- - [NextPowerOfTwo](Bit-Manipulation/NextPowerOfTwo.js)
- - [SetBit](Bit-Manipulation/SetBit.js)
-- **Cache**
- - [LFUCache](Cache/LFUCache.js)
- - [LRUCache](Cache/LRUCache.js)
- - [Memoize](Cache/Memoize.js)
-- **Cellular-Automata**
- - [ConwaysGameOfLife](Cellular-Automata/ConwaysGameOfLife.js)
-- **Ciphers**
- - [AffineCipher](Ciphers/AffineCipher.js)
- - [Atbash](Ciphers/Atbash.js)
- - [CaesarCipher](Ciphers/CaesarCipher.js)
- - [KeyFinder](Ciphers/KeyFinder.js)
- - [KeywordShiftedAlphabet](Ciphers/KeywordShiftedAlphabet.js)
- - [ROT13](Ciphers/ROT13.js)
- - [VigenereCipher](Ciphers/VigenereCipher.js)
- - [XORCipher](Ciphers/XORCipher.js)
-- **Conversions**
- - [ArbitraryBase](Conversions/ArbitraryBase.js)
- - [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
- - [Base64ToArrayBuffer](Conversions/Base64ToArrayBuffer.js)
- - [BinaryToDecimal](Conversions/BinaryToDecimal.js)
- - [BinaryToHex](Conversions/BinaryToHex.js)
- - [DateDayDifference](Conversions/DateDayDifference.js)
- - [DateToDay](Conversions/DateToDay.js)
- - [DecimalToBinary](Conversions/DecimalToBinary.js)
- - [DecimalToHex](Conversions/DecimalToHex.js)
- - [DecimalToOctal](Conversions/DecimalToOctal.js)
- - [DecimalToRoman](Conversions/DecimalToRoman.js)
- - [HexToBinary](Conversions/HexToBinary.js)
- - [HexToDecimal](Conversions/HexToDecimal.js)
- - [HexToRGB](Conversions/HexToRGB.js)
- - [LowerCaseConversion](Conversions/LowerCaseConversion.js)
- - [MeterToFeetConversion](Conversions/MeterToFeetConversion.js)
- - [OctToDecimal](Conversions/OctToDecimal.js)
- - [RailwayTimeConversion](Conversions/RailwayTimeConversion.js)
- - [RgbHsvConversion](Conversions/RgbHsvConversion.js)
- - [RGBToHex](Conversions/RGBToHex.js)
- - [RomanToDecimal](Conversions/RomanToDecimal.js)
- - [TemperatureConversion](Conversions/TemperatureConversion.js)
- - [TitleCaseConversion](Conversions/TitleCaseConversion.js)
- - [UpperCaseConversion](Conversions/UpperCaseConversion.js)
-- **Data-Structures**
- - **Array**
- - [LocalMaximomPoint](Data-Structures/Array/LocalMaximomPoint.js)
- - [NumberOfLocalMaximumPoints](Data-Structures/Array/NumberOfLocalMaximumPoints.js)
- - [QuickSelect](Data-Structures/Array/QuickSelect.js)
- - [TwoSum](Data-Structures/Array/TwoSum.js)
- - **Graph**
- - [Graph](Data-Structures/Graph/Graph.js)
- - [Graph2](Data-Structures/Graph/Graph2.js)
- - [Graph3](Data-Structures/Graph/Graph3.js)
- - **Heap**
- - [MaxHeap](Data-Structures/Heap/MaxHeap.js)
- - [MinHeap](Data-Structures/Heap/MinHeap.js)
- - [MinPriorityQueue](Data-Structures/Heap/MinPriorityQueue.js)
- - **Linked-List**
- - [AddTwoNumbers](Data-Structures/Linked-List/AddTwoNumbers.js)
- - [CycleDetection](Data-Structures/Linked-List/CycleDetection.js)
- - [DoublyLinkedList](Data-Structures/Linked-List/DoublyLinkedList.js)
- - [SinglyCircularLinkedList](Data-Structures/Linked-List/SinglyCircularLinkedList.js)
- - [SinglyLinkedList](Data-Structures/Linked-List/SinglyLinkedList.js)
- - **Queue**
- - [CircularQueue](Data-Structures/Queue/CircularQueue.js)
- - [Queue](Data-Structures/Queue/Queue.js)
- - [QueueUsing2Stacks](Data-Structures/Queue/QueueUsing2Stacks.js)
- - **Stack**
- - [Stack](Data-Structures/Stack/Stack.js)
- - [StackES6](Data-Structures/Stack/StackES6.js)
- - **Tree**
- - [AVLTree](Data-Structures/Tree/AVLTree.js)
- - [BinarySearchTree](Data-Structures/Tree/BinarySearchTree.js)
- - [Trie](Data-Structures/Tree/Trie.js)
- - **Vectors**
- - [Vector2](Data-Structures/Vectors/Vector2.js)
-- **Dynamic-Programming**
- - [CatalanNumbers](Dynamic-Programming/CatalanNumbers.js)
- - [ClimbingStairs](Dynamic-Programming/ClimbingStairs.js)
- - [CoinChange](Dynamic-Programming/CoinChange.js)
- - [EditDistance](Dynamic-Programming/EditDistance.js)
- - [FastFibonacciNumber](Dynamic-Programming/FastFibonacciNumber.js)
- - [FibonacciNumber](Dynamic-Programming/FibonacciNumber.js)
- - [FindMonthCalendar](Dynamic-Programming/FindMonthCalendar.js)
- - [KadaneAlgo](Dynamic-Programming/KadaneAlgo.js)
- - [LevenshteinDistance](Dynamic-Programming/LevenshteinDistance.js)
- - [LongestCommonSubsequence](Dynamic-Programming/LongestCommonSubsequence.js)
- - [LongestIncreasingSubsequence](Dynamic-Programming/LongestIncreasingSubsequence.js)
- - [LongestPalindromicSubsequence](Dynamic-Programming/LongestPalindromicSubsequence.js)
- - [LongestValidParentheses](Dynamic-Programming/LongestValidParentheses.js)
- - [MaxNonAdjacentSum](Dynamic-Programming/MaxNonAdjacentSum.js)
- - [MaxProductOfThree](Dynamic-Programming/MaxProductOfThree.js)
- - [MinimumCostPath](Dynamic-Programming/MinimumCostPath.js)
- - [NumberOfSubsetEqualToGivenSum](Dynamic-Programming/NumberOfSubsetEqualToGivenSum.js)
- - [RodCutting](Dynamic-Programming/RodCutting.js)
- - [Shuf](Dynamic-Programming/Shuf.js)
- - [SieveOfEratosthenes](Dynamic-Programming/SieveOfEratosthenes.js)
- - [UniquePaths](Dynamic-Programming/UniquePaths.js)
- - **Sliding-Window**
- - [LongestSubstringWithoutRepeatingCharacters](Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js)
- - [PermutationinString](Dynamic-Programming/Sliding-Window/PermutationinString.js)
- - [SudokuSolver](Dynamic-Programming/SudokuSolver.js)
- - [TrappingRainWater](Dynamic-Programming/TrappingRainWater.js)
- - [TribonacciNumber](Dynamic-Programming/TribonacciNumber.js)
- - [ZeroOneKnapsack](Dynamic-Programming/ZeroOneKnapsack.js)
-- **Geometry**
- - [ConvexHullGraham](Geometry/ConvexHullGraham.js)
-- **Graphs**
- - [BellmanFord](Graphs/BellmanFord.js)
- - [BreadthFirstSearch](Graphs/BreadthFirstSearch.js)
- - [BreadthFirstShortestPath](Graphs/BreadthFirstShortestPath.js)
- - [ConnectedComponents](Graphs/ConnectedComponents.js)
- - [Density](Graphs/Density.js)
- - [DepthFirstSearchIterative](Graphs/DepthFirstSearchIterative.js)
- - [DepthFirstSearchRecursive](Graphs/DepthFirstSearchRecursive.js)
- - [Dijkstra](Graphs/Dijkstra.js)
- - [DijkstraSmallestPath](Graphs/DijkstraSmallestPath.js)
- - [FloydWarshall](Graphs/FloydWarshall.js)
- - [KruskalMST](Graphs/KruskalMST.js)
- - [NodeNeighbors](Graphs/NodeNeighbors.js)
- - [NumberOfIslands](Graphs/NumberOfIslands.js)
- - [PrimMST](Graphs/PrimMST.js)
-- **Hashes**
- - [SHA1](Hashes/SHA1.js)
- - [SHA256](Hashes/SHA256.js)
-- **Maths**
- - [Abs](Maths/Abs.js)
- - [AliquotSum](Maths/AliquotSum.js)
- - [Area](Maths/Area.js)
- - [ArithmeticGeometricMean](Maths/ArithmeticGeometricMean.js)
- - [ArmstrongNumber](Maths/ArmstrongNumber.js)
- - [AverageMean](Maths/AverageMean.js)
- - [AverageMedian](Maths/AverageMedian.js)
- - [BinaryConvert](Maths/BinaryConvert.js)
- - [BinaryExponentiationIterative](Maths/BinaryExponentiationIterative.js)
- - [BinaryExponentiationRecursive](Maths/BinaryExponentiationRecursive.js)
- - [BinomialCoefficient](Maths/BinomialCoefficient.js)
- - [BisectionMethod](Maths/BisectionMethod.js)
- - [CheckKishnamurthyNumber](Maths/CheckKishnamurthyNumber.js)
- - [CircularArc](Maths/CircularArc.js)
- - [CollatzSequence](Maths/CollatzSequence.js)
- - [Coordinate](Maths/Coordinate.js)
- - [CoPrimeCheck](Maths/CoPrimeCheck.js)
- - [CountNumbersDivisible](Maths/CountNumbersDivisible.js)
- - [DecimalExpansion](Maths/DecimalExpansion.js)
- - [DecimalIsolate](Maths/DecimalIsolate.js)
- - [DegreeToRadian](Maths/DegreeToRadian.js)
- - [EulerMethod](Maths/EulerMethod.js)
- - [EulersTotient](Maths/EulersTotient.js)
- - [EulersTotientFunction](Maths/EulersTotientFunction.js)
- - [ExtendedEuclideanGCD](Maths/ExtendedEuclideanGCD.js)
- - [Factorial](Maths/Factorial.js)
- - [Factors](Maths/Factors.js)
- - [FareyApproximation](Maths/FareyApproximation.js)
- - [FermatPrimalityTest](Maths/FermatPrimalityTest.js)
- - [Fibonacci](Maths/Fibonacci.js)
- - [FigurateNumber](Maths/FigurateNumber.js)
- - [FindHcf](Maths/FindHcf.js)
- - [FindLcm](Maths/FindLcm.js)
- - [FindMaxRecursion](Maths/FindMaxRecursion.js)
- - [FindMin](Maths/FindMin.js)
- - [FindMinIterator](Maths/FindMinIterator.js)
- - [GetEuclidGCD](Maths/GetEuclidGCD.js)
- - [GridGet](Maths/GridGet.js)
- - [IsDivisible](Maths/IsDivisible.js)
- - [IsEven](Maths/IsEven.js)
- - [IsOdd](Maths/IsOdd.js)
- - [isPalindromeIntegerNumber](Maths/isPalindromeIntegerNumber.js)
- - [IsPronic](Maths/IsPronic.js)
- - [IsSquareFree](Maths/IsSquareFree.js)
- - [JugglerSequence](Maths/JugglerSequence.js)
- - [LeapYear](Maths/LeapYear.js)
- - [LinearSieve](Maths/LinearSieve.js)
- - [LiouvilleFunction](Maths/LiouvilleFunction.js)
- - [LucasSeries](Maths/LucasSeries.js)
- - [Mandelbrot](Maths/Mandelbrot.js)
- - [MatrixExponentiationRecursive](Maths/MatrixExponentiationRecursive.js)
- - [MatrixMultiplication](Maths/MatrixMultiplication.js)
- - [MeanAbsoluteDeviation](Maths/MeanAbsoluteDeviation.js)
- - [MeanSquareError](Maths/MeanSquareError.js)
- - [MidpointIntegration](Maths/MidpointIntegration.js)
- - [MobiusFunction](Maths/MobiusFunction.js)
- - [ModularBinaryExponentiationRecursive](Maths/ModularBinaryExponentiationRecursive.js)
- - [NumberOfDigits](Maths/NumberOfDigits.js)
- - [Palindrome](Maths/Palindrome.js)
- - [PascalTriangle](Maths/PascalTriangle.js)
- - [PerfectCube](Maths/PerfectCube.js)
- - [PerfectNumber](Maths/PerfectNumber.js)
- - [PerfectSquare](Maths/PerfectSquare.js)
- - [PermutationAndCombination](Maths/PermutationAndCombination.js)
- - [PiApproximationMonteCarlo](Maths/PiApproximationMonteCarlo.js)
- - [Polynomial](Maths/Polynomial.js)
- - [Pow](Maths/Pow.js)
- - [PowLogarithmic](Maths/PowLogarithmic.js)
- - [PrimeCheck](Maths/PrimeCheck.js)
- - [PrimeFactors](Maths/PrimeFactors.js)
- - [RadianToDegree](Maths/RadianToDegree.js)
- - [ReverseNumber](Maths/ReverseNumber.js)
- - [ReversePolishNotation](Maths/ReversePolishNotation.js)
- - [ShorsAlgorithm](Maths/ShorsAlgorithm.js)
- - [SieveOfEratosthenes](Maths/SieveOfEratosthenes.js)
- - [SimpsonIntegration](Maths/SimpsonIntegration.js)
- - [Softmax](Maths/Softmax.js)
- - [SquareRoot](Maths/SquareRoot.js)
- - [SumOfDigits](Maths/SumOfDigits.js)
- - [SumOfGeometricProgression](Maths/SumOfGeometricProgression.js)
- - [TwinPrime](Maths/TwinPrime.js)
- - [Volume](Maths/Volume.js)
- - [WhileLoopFactorial](Maths/WhileLoopFactorial.js)
- - [ZellersCongruenceAlgorithm](Maths/ZellersCongruenceAlgorithm.js)
-- **Navigation**
- - [Haversine](Navigation/Haversine.js)
-- **Project-Euler**
- - [Problem001](Project-Euler/Problem001.js)
- - [Problem002](Project-Euler/Problem002.js)
- - [Problem003](Project-Euler/Problem003.js)
- - [Problem004](Project-Euler/Problem004.js)
- - [Problem005](Project-Euler/Problem005.js)
- - [Problem006](Project-Euler/Problem006.js)
- - [Problem007](Project-Euler/Problem007.js)
- - [Problem008](Project-Euler/Problem008.js)
- - [Problem009](Project-Euler/Problem009.js)
- - [Problem010](Project-Euler/Problem010.js)
- - [Problem011](Project-Euler/Problem011.js)
- - [Problem012](Project-Euler/Problem012.js)
- - [Problem013](Project-Euler/Problem013.js)
- - [Problem014](Project-Euler/Problem014.js)
- - [Problem015](Project-Euler/Problem015.js)
- - [Problem016](Project-Euler/Problem016.js)
- - [Problem017](Project-Euler/Problem017.js)
- - [Problem018](Project-Euler/Problem018.js)
- - [Problem020](Project-Euler/Problem020.js)
- - [Problem023](Project-Euler/Problem023.js)
- - [Problem025](Project-Euler/Problem025.js)
- - [Problem028](Project-Euler/Problem028.js)
- - [Problem044](Project-Euler/Problem044.js)
-- **Recursive**
- - [BinaryEquivalent](Recursive/BinaryEquivalent.js)
- - [BinarySearch](Recursive/BinarySearch.js)
- - [EucledianGCD](Recursive/EucledianGCD.js)
- - [Factorial](Recursive/Factorial.js)
- - [FibonacciNumberRecursive](Recursive/FibonacciNumberRecursive.js)
- - [FloodFill](Recursive/FloodFill.js)
- - [KochSnowflake](Recursive/KochSnowflake.js)
- - [LetterCombination](Recursive/LetterCombination.js)
- - [Palindrome](Recursive/Palindrome.js)
- - [SubsequenceRecursive](Recursive/SubsequenceRecursive.js)
- - [TowerOfHanoi](Recursive/TowerOfHanoi.js)
-- **Search**
- - [BinarySearch](Search/BinarySearch.js)
- - [ExponentialSearch](Search/ExponentialSearch.js)
- - [FibonacciSearch](Search/FibonacciSearch.js)
- - [InterpolationSearch](Search/InterpolationSearch.js)
- - [JumpSearch](Search/JumpSearch.js)
- - [LinearSearch](Search/LinearSearch.js)
- - [Minesweeper](Search/Minesweeper.js)
- - [QuickSelectSearch](Search/QuickSelectSearch.js)
- - [SlidingWindow](Search/SlidingWindow.js)
- - [StringSearch](Search/StringSearch.js)
- - [TernarySearch](Search/TernarySearch.js)
- - [UnionFind](Search/UnionFind.js)
-- **Sorts**
- - [AlphaNumericalSort](Sorts/AlphaNumericalSort.js)
- - [BeadSort](Sorts/BeadSort.js)
- - [BinaryInsertionSort](Sorts/BinaryInsertionSort.js)
- - [BogoSort](Sorts/BogoSort.js)
- - [BubbleSort](Sorts/BubbleSort.js)
- - [BucketSort](Sorts/BucketSort.js)
- - [CocktailShakerSort](Sorts/CocktailShakerSort.js)
- - [CombSort](Sorts/CombSort.js)
- - [CountingSort](Sorts/CountingSort.js)
- - [CycleSort](Sorts/CycleSort.js)
- - [FindSecondLargestElement](Sorts/FindSecondLargestElement.js)
- - [FisherYatesShuffle](Sorts/FisherYatesShuffle.js)
- - [FlashSort](Sorts/FlashSort.js)
- - [GnomeSort](Sorts/GnomeSort.js)
- - [HeapSort](Sorts/HeapSort.js)
- - [HeapSortV2](Sorts/HeapSortV2.js)
- - [InsertionSort](Sorts/InsertionSort.js)
- - [IntroSort](Sorts/IntroSort.js)
- - [MergeSort](Sorts/MergeSort.js)
- - [OddEvenSort](Sorts/OddEvenSort.js)
- - [PancakeSort](Sorts/PancakeSort.js)
- - [PigeonHoleSort](Sorts/PigeonHoleSort.js)
- - [QuickSort](Sorts/QuickSort.js)
- - [QuickSortRecursive](Sorts/QuickSortRecursive.js)
- - [RadixSort](Sorts/RadixSort.js)
- - [SelectionSort](Sorts/SelectionSort.js)
- - [ShellSort](Sorts/ShellSort.js)
- - [SimplifiedWiggleSort](Sorts/SimplifiedWiggleSort.js)
- - [StoogeSort](Sorts/StoogeSort.js)
- - [SwapSort](Sorts/SwapSort.js)
- - [TimSort](Sorts/TimSort.js)
- - [TopologicalSort](Sorts/TopologicalSort.js)
-- **String**
- - [AlphaNumericPalindrome](String/AlphaNumericPalindrome.js)
- - [AlternativeStringArrange](String/AlternativeStringArrange.js)
- - [BoyerMoore](String/BoyerMoore.js)
- - [CheckAnagram](String/CheckAnagram.js)
- - [CheckCamelCase](String/CheckCamelCase.js)
- - [CheckExceeding](String/CheckExceeding.js)
- - [CheckFlatCase](String/CheckFlatCase.js)
- - [CheckKebabCase](String/CheckKebabCase.js)
- - [CheckPalindrome](String/CheckPalindrome.js)
- - [CheckPangram](String/CheckPangram.js)
- - [CheckPascalCase](String/CheckPascalCase.js)
- - [CheckRearrangePalindrome](String/CheckRearrangePalindrome.js)
- - [CheckSnakeCase](String/CheckSnakeCase.js)
- - [CheckWordOccurrence](String/CheckWordOccurrence.js)
- - [CountSubstrings](String/CountSubstrings.js)
- - [CountVowels](String/CountVowels.js)
- - [CreatePermutations](String/CreatePermutations.js)
- - [DiceCoefficient](String/DiceCoefficient.js)
- - [FirstUniqueCharacter](String/FirstUniqueCharacter.js)
- - [FormatPhoneNumber](String/FormatPhoneNumber.js)
- - [GenerateGUID](String/GenerateGUID.js)
- - [HammingDistance](String/HammingDistance.js)
- - [IsPalindrome](String/IsPalindrome.js)
- - [KMPPatternSearching](String/KMPPatternSearching.js)
- - [LevenshteinDistance](String/LevenshteinDistance.js)
- - [Lower](String/Lower.js)
- - [MaxCharacter](String/MaxCharacter.js)
- - [MaxWord](String/MaxWord.js)
- - [PatternMatching](String/PatternMatching.js)
- - [PermutateString](String/PermutateString.js)
- - [ReverseString](String/ReverseString.js)
- - [ReverseWords](String/ReverseWords.js)
- - [ScrambleStrings](String/ScrambleStrings.js)
- - [Upper](String/Upper.js)
- - [ValidateCreditCard](String/ValidateCreditCard.js)
- - [ValidateEmail](String/ValidateEmail.js)
- - [ValidateUrl](String/ValidateUrl.js)
-- **Timing-Functions**
- - [GetMonthDays](Timing-Functions/GetMonthDays.js)
- - [IntervalTimer](Timing-Functions/IntervalTimer.js)
-- **Trees**
- - [BreadthFirstTreeTraversal](Trees/BreadthFirstTreeTraversal.js)
- - [DepthFirstSearch](Trees/DepthFirstSearch.js)
- - [FenwickTree](Trees/FenwickTree.js)
+* **Backtracking**
+ * [AllCombinationsOfSizeK](Backtracking/AllCombinationsOfSizeK.js)
+ * [GeneratePermutations](Backtracking/GeneratePermutations.js)
+ * [KnightTour](Backtracking/KnightTour.js)
+ * [NQueens](Backtracking/NQueens.js)
+ * [RatInAMaze](Backtracking/RatInAMaze.js)
+ * [Sudoku](Backtracking/Sudoku.js)
+ * [SumOfSubset](Backtracking/SumOfSubset.js)
+* **Bit-Manipulation**
+ * [BinaryCountSetBits](Bit-Manipulation/BinaryCountSetBits.js)
+ * [IsPowerOfTwo](Bit-Manipulation/IsPowerOfTwo.js)
+ * [LogTwo](Bit-Manipulation/LogTwo.js)
+ * [NextPowerOfTwo](Bit-Manipulation/NextPowerOfTwo.js)
+ * [SetBit](Bit-Manipulation/SetBit.js)
+* **Cache**
+ * [LFUCache](Cache/LFUCache.js)
+ * [LRUCache](Cache/LRUCache.js)
+ * [Memoize](Cache/Memoize.js)
+* **Cellular-Automata**
+ * [ConwaysGameOfLife](Cellular-Automata/ConwaysGameOfLife.js)
+* **Ciphers**
+ * [AffineCipher](Ciphers/AffineCipher.js)
+ * [Atbash](Ciphers/Atbash.js)
+ * [CaesarCipher](Ciphers/CaesarCipher.js)
+ * [KeyFinder](Ciphers/KeyFinder.js)
+ * [KeywordShiftedAlphabet](Ciphers/KeywordShiftedAlphabet.js)
+ * [ROT13](Ciphers/ROT13.js)
+ * [VigenereCipher](Ciphers/VigenereCipher.js)
+ * [XORCipher](Ciphers/XORCipher.js)
+* **Conversions**
+ * [ArbitraryBase](Conversions/ArbitraryBase.js)
+ * [ArrayBufferToBase64](Conversions/ArrayBufferToBase64.js)
+ * [Base64ToArrayBuffer](Conversions/Base64ToArrayBuffer.js)
+ * [BinaryToDecimal](Conversions/BinaryToDecimal.js)
+ * [BinaryToHex](Conversions/BinaryToHex.js)
+ * [DateDayDifference](Conversions/DateDayDifference.js)
+ * [DateToDay](Conversions/DateToDay.js)
+ * [DecimalToBinary](Conversions/DecimalToBinary.js)
+ * [DecimalToHex](Conversions/DecimalToHex.js)
+ * [DecimalToOctal](Conversions/DecimalToOctal.js)
+ * [DecimalToRoman](Conversions/DecimalToRoman.js)
+ * [HexToBinary](Conversions/HexToBinary.js)
+ * [HexToDecimal](Conversions/HexToDecimal.js)
+ * [HexToRGB](Conversions/HexToRGB.js)
+ * [LowerCaseConversion](Conversions/LowerCaseConversion.js)
+ * [MeterToFeetConversion](Conversions/MeterToFeetConversion.js)
+ * [OctToDecimal](Conversions/OctToDecimal.js)
+ * [RailwayTimeConversion](Conversions/RailwayTimeConversion.js)
+ * [RgbHsvConversion](Conversions/RgbHsvConversion.js)
+ * [RGBToHex](Conversions/RGBToHex.js)
+ * [RomanToDecimal](Conversions/RomanToDecimal.js)
+ * [TemperatureConversion](Conversions/TemperatureConversion.js)
+ * [TitleCaseConversion](Conversions/TitleCaseConversion.js)
+ * [UpperCaseConversion](Conversions/UpperCaseConversion.js)
+* **Data-Structures**
+ * **Array**
+ * [LocalMaximomPoint](Data-Structures/Array/LocalMaximomPoint.js)
+ * [NumberOfLocalMaximumPoints](Data-Structures/Array/NumberOfLocalMaximumPoints.js)
+ * [QuickSelect](Data-Structures/Array/QuickSelect.js)
+ * [TwoSum](Data-Structures/Array/TwoSum.js)
+ * **Graph**
+ * [Graph](Data-Structures/Graph/Graph.js)
+ * [Graph2](Data-Structures/Graph/Graph2.js)
+ * [Graph3](Data-Structures/Graph/Graph3.js)
+ * **Heap**
+ * [MaxHeap](Data-Structures/Heap/MaxHeap.js)
+ * [MinHeap](Data-Structures/Heap/MinHeap.js)
+ * [MinPriorityQueue](Data-Structures/Heap/MinPriorityQueue.js)
+ * **Linked-List**
+ * [AddTwoNumbers](Data-Structures/Linked-List/AddTwoNumbers.js)
+ * [CycleDetection](Data-Structures/Linked-List/CycleDetection.js)
+ * [DoublyLinkedList](Data-Structures/Linked-List/DoublyLinkedList.js)
+ * [SinglyCircularLinkedList](Data-Structures/Linked-List/SinglyCircularLinkedList.js)
+ * [SinglyLinkedList](Data-Structures/Linked-List/SinglyLinkedList.js)
+ * **Queue**
+ * [CircularQueue](Data-Structures/Queue/CircularQueue.js)
+ * [Queue](Data-Structures/Queue/Queue.js)
+ * [QueueUsing2Stacks](Data-Structures/Queue/QueueUsing2Stacks.js)
+ * **Stack**
+ * [Stack](Data-Structures/Stack/Stack.js)
+ * [StackES6](Data-Structures/Stack/StackES6.js)
+ * **Tree**
+ * [AVLTree](Data-Structures/Tree/AVLTree.js)
+ * [BinarySearchTree](Data-Structures/Tree/BinarySearchTree.js)
+ * [Trie](Data-Structures/Tree/Trie.js)
+ * **Vectors**
+ * [Vector2](Data-Structures/Vectors/Vector2.js)
+* **Dynamic-Programming**
+ * [CatalanNumbers](Dynamic-Programming/CatalanNumbers.js)
+ * [ClimbingStairs](Dynamic-Programming/ClimbingStairs.js)
+ * [CoinChange](Dynamic-Programming/CoinChange.js)
+ * [EditDistance](Dynamic-Programming/EditDistance.js)
+ * [FastFibonacciNumber](Dynamic-Programming/FastFibonacciNumber.js)
+ * [FibonacciNumber](Dynamic-Programming/FibonacciNumber.js)
+ * [FindMonthCalendar](Dynamic-Programming/FindMonthCalendar.js)
+ * [KadaneAlgo](Dynamic-Programming/KadaneAlgo.js)
+ * [LevenshteinDistance](Dynamic-Programming/LevenshteinDistance.js)
+ * [LongestCommonSubsequence](Dynamic-Programming/LongestCommonSubsequence.js)
+ * [LongestIncreasingSubsequence](Dynamic-Programming/LongestIncreasingSubsequence.js)
+ * [LongestPalindromicSubsequence](Dynamic-Programming/LongestPalindromicSubsequence.js)
+ * [LongestValidParentheses](Dynamic-Programming/LongestValidParentheses.js)
+ * [MaxNonAdjacentSum](Dynamic-Programming/MaxNonAdjacentSum.js)
+ * [MaxProductOfThree](Dynamic-Programming/MaxProductOfThree.js)
+ * [MinimumCostPath](Dynamic-Programming/MinimumCostPath.js)
+ * [NumberOfSubsetEqualToGivenSum](Dynamic-Programming/NumberOfSubsetEqualToGivenSum.js)
+ * [RodCutting](Dynamic-Programming/RodCutting.js)
+ * [Shuf](Dynamic-Programming/Shuf.js)
+ * [SieveOfEratosthenes](Dynamic-Programming/SieveOfEratosthenes.js)
+ * [UniquePaths](Dynamic-Programming/UniquePaths.js)
+ * **Sliding-Window**
+ * [LongestSubstringWithoutRepeatingCharacters](Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js)
+ * [PermutationinString](Dynamic-Programming/Sliding-Window/PermutationinString.js)
+ * [SudokuSolver](Dynamic-Programming/SudokuSolver.js)
+ * [TrappingRainWater](Dynamic-Programming/TrappingRainWater.js)
+ * [TribonacciNumber](Dynamic-Programming/TribonacciNumber.js)
+ * [ZeroOneKnapsack](Dynamic-Programming/ZeroOneKnapsack.js)
+* **Geometry**
+ * [ConvexHullGraham](Geometry/ConvexHullGraham.js)
+* **Graphs**
+ * [BellmanFord](Graphs/BellmanFord.js)
+ * [BreadthFirstSearch](Graphs/BreadthFirstSearch.js)
+ * [BreadthFirstShortestPath](Graphs/BreadthFirstShortestPath.js)
+ * [ConnectedComponents](Graphs/ConnectedComponents.js)
+ * [Density](Graphs/Density.js)
+ * [DepthFirstSearchIterative](Graphs/DepthFirstSearchIterative.js)
+ * [DepthFirstSearchRecursive](Graphs/DepthFirstSearchRecursive.js)
+ * [Dijkstra](Graphs/Dijkstra.js)
+ * [DijkstraSmallestPath](Graphs/DijkstraSmallestPath.js)
+ * [FloydWarshall](Graphs/FloydWarshall.js)
+ * [KruskalMST](Graphs/KruskalMST.js)
+ * [NodeNeighbors](Graphs/NodeNeighbors.js)
+ * [NumberOfIslands](Graphs/NumberOfIslands.js)
+ * [PrimMST](Graphs/PrimMST.js)
+* **Hashes**
+ * [SHA1](Hashes/SHA1.js)
+ * [SHA256](Hashes/SHA256.js)
+* **Maths**
+ * [Abs](Maths/Abs.js)
+ * [AliquotSum](Maths/AliquotSum.js)
+ * [Area](Maths/Area.js)
+ * [ArithmeticGeometricMean](Maths/ArithmeticGeometricMean.js)
+ * [ArmstrongNumber](Maths/ArmstrongNumber.js)
+ * [AverageMean](Maths/AverageMean.js)
+ * [AverageMedian](Maths/AverageMedian.js)
+ * [BinaryConvert](Maths/BinaryConvert.js)
+ * [BinaryExponentiationIterative](Maths/BinaryExponentiationIterative.js)
+ * [BinaryExponentiationRecursive](Maths/BinaryExponentiationRecursive.js)
+ * [BinomialCoefficient](Maths/BinomialCoefficient.js)
+ * [BisectionMethod](Maths/BisectionMethod.js)
+ * [CheckKishnamurthyNumber](Maths/CheckKishnamurthyNumber.js)
+ * [CircularArc](Maths/CircularArc.js)
+ * [CollatzSequence](Maths/CollatzSequence.js)
+ * [Coordinate](Maths/Coordinate.js)
+ * [CoPrimeCheck](Maths/CoPrimeCheck.js)
+ * [CountNumbersDivisible](Maths/CountNumbersDivisible.js)
+ * [DecimalExpansion](Maths/DecimalExpansion.js)
+ * [DecimalIsolate](Maths/DecimalIsolate.js)
+ * [DegreeToRadian](Maths/DegreeToRadian.js)
+ * [EulerMethod](Maths/EulerMethod.js)
+ * [EulersTotient](Maths/EulersTotient.js)
+ * [EulersTotientFunction](Maths/EulersTotientFunction.js)
+ * [ExtendedEuclideanGCD](Maths/ExtendedEuclideanGCD.js)
+ * [Factorial](Maths/Factorial.js)
+ * [Factors](Maths/Factors.js)
+ * [FareyApproximation](Maths/FareyApproximation.js)
+ * [FermatPrimalityTest](Maths/FermatPrimalityTest.js)
+ * [Fibonacci](Maths/Fibonacci.js)
+ * [FigurateNumber](Maths/FigurateNumber.js)
+ * [FindHcf](Maths/FindHcf.js)
+ * [FindLcm](Maths/FindLcm.js)
+ * [FindMaxRecursion](Maths/FindMaxRecursion.js)
+ * [FindMin](Maths/FindMin.js)
+ * [FindMinIterator](Maths/FindMinIterator.js)
+ * [GetEuclidGCD](Maths/GetEuclidGCD.js)
+ * [GridGet](Maths/GridGet.js)
+ * [IsDivisible](Maths/IsDivisible.js)
+ * [IsEven](Maths/IsEven.js)
+ * [IsOdd](Maths/IsOdd.js)
+ * [isPalindromeIntegerNumber](Maths/isPalindromeIntegerNumber.js)
+ * [IsPronic](Maths/IsPronic.js)
+ * [IsSquareFree](Maths/IsSquareFree.js)
+ * [JugglerSequence](Maths/JugglerSequence.js)
+ * [LeapYear](Maths/LeapYear.js)
+ * [LinearSieve](Maths/LinearSieve.js)
+ * [LiouvilleFunction](Maths/LiouvilleFunction.js)
+ * [LucasSeries](Maths/LucasSeries.js)
+ * [Mandelbrot](Maths/Mandelbrot.js)
+ * [MatrixExponentiationRecursive](Maths/MatrixExponentiationRecursive.js)
+ * [MatrixMultiplication](Maths/MatrixMultiplication.js)
+ * [MeanAbsoluteDeviation](Maths/MeanAbsoluteDeviation.js)
+ * [MeanSquareError](Maths/MeanSquareError.js)
+ * [MidpointIntegration](Maths/MidpointIntegration.js)
+ * [MobiusFunction](Maths/MobiusFunction.js)
+ * [ModularBinaryExponentiationRecursive](Maths/ModularBinaryExponentiationRecursive.js)
+ * [NumberOfDigits](Maths/NumberOfDigits.js)
+ * [Palindrome](Maths/Palindrome.js)
+ * [PascalTriangle](Maths/PascalTriangle.js)
+ * [PerfectCube](Maths/PerfectCube.js)
+ * [PerfectNumber](Maths/PerfectNumber.js)
+ * [PerfectSquare](Maths/PerfectSquare.js)
+ * [PermutationAndCombination](Maths/PermutationAndCombination.js)
+ * [PiApproximationMonteCarlo](Maths/PiApproximationMonteCarlo.js)
+ * [Polynomial](Maths/Polynomial.js)
+ * [Pow](Maths/Pow.js)
+ * [PowLogarithmic](Maths/PowLogarithmic.js)
+ * [PrimeCheck](Maths/PrimeCheck.js)
+ * [PrimeFactors](Maths/PrimeFactors.js)
+ * [RadianToDegree](Maths/RadianToDegree.js)
+ * [ReverseNumber](Maths/ReverseNumber.js)
+ * [ReversePolishNotation](Maths/ReversePolishNotation.js)
+ * [ShorsAlgorithm](Maths/ShorsAlgorithm.js)
+ * [SieveOfEratosthenes](Maths/SieveOfEratosthenes.js)
+ * [SimpsonIntegration](Maths/SimpsonIntegration.js)
+ * [Softmax](Maths/Softmax.js)
+ * [SquareRoot](Maths/SquareRoot.js)
+ * [SumOfDigits](Maths/SumOfDigits.js)
+ * [SumOfGeometricProgression](Maths/SumOfGeometricProgression.js)
+ * [TwinPrime](Maths/TwinPrime.js)
+ * [Volume](Maths/Volume.js)
+ * [WhileLoopFactorial](Maths/WhileLoopFactorial.js)
+ * [ZellersCongruenceAlgorithm](Maths/ZellersCongruenceAlgorithm.js)
+* **Navigation**
+ * [Haversine](Navigation/Haversine.js)
+* **Project-Euler**
+ * [Problem001](Project-Euler/Problem001.js)
+ * [Problem002](Project-Euler/Problem002.js)
+ * [Problem003](Project-Euler/Problem003.js)
+ * [Problem004](Project-Euler/Problem004.js)
+ * [Problem005](Project-Euler/Problem005.js)
+ * [Problem006](Project-Euler/Problem006.js)
+ * [Problem007](Project-Euler/Problem007.js)
+ * [Problem008](Project-Euler/Problem008.js)
+ * [Problem009](Project-Euler/Problem009.js)
+ * [Problem010](Project-Euler/Problem010.js)
+ * [Problem011](Project-Euler/Problem011.js)
+ * [Problem012](Project-Euler/Problem012.js)
+ * [Problem013](Project-Euler/Problem013.js)
+ * [Problem014](Project-Euler/Problem014.js)
+ * [Problem015](Project-Euler/Problem015.js)
+ * [Problem016](Project-Euler/Problem016.js)
+ * [Problem017](Project-Euler/Problem017.js)
+ * [Problem018](Project-Euler/Problem018.js)
+ * [Problem020](Project-Euler/Problem020.js)
+ * [Problem023](Project-Euler/Problem023.js)
+ * [Problem025](Project-Euler/Problem025.js)
+ * [Problem028](Project-Euler/Problem028.js)
+ * [Problem044](Project-Euler/Problem044.js)
+* **Recursive**
+ * [BinaryEquivalent](Recursive/BinaryEquivalent.js)
+ * [BinarySearch](Recursive/BinarySearch.js)
+ * [EucledianGCD](Recursive/EucledianGCD.js)
+ * [Factorial](Recursive/Factorial.js)
+ * [FibonacciNumberRecursive](Recursive/FibonacciNumberRecursive.js)
+ * [FloodFill](Recursive/FloodFill.js)
+ * [KochSnowflake](Recursive/KochSnowflake.js)
+ * [LetterCombination](Recursive/LetterCombination.js)
+ * [Palindrome](Recursive/Palindrome.js)
+ * [SubsequenceRecursive](Recursive/SubsequenceRecursive.js)
+ * [TowerOfHanoi](Recursive/TowerOfHanoi.js)
+* **Search**
+ * [BinarySearch](Search/BinarySearch.js)
+ * [ExponentialSearch](Search/ExponentialSearch.js)
+ * [FibonacciSearch](Search/FibonacciSearch.js)
+ * [InterpolationSearch](Search/InterpolationSearch.js)
+ * [JumpSearch](Search/JumpSearch.js)
+ * [LinearSearch](Search/LinearSearch.js)
+ * [Minesweeper](Search/Minesweeper.js)
+ * [QuickSelectSearch](Search/QuickSelectSearch.js)
+ * [SlidingWindow](Search/SlidingWindow.js)
+ * [StringSearch](Search/StringSearch.js)
+ * [TernarySearch](Search/TernarySearch.js)
+ * [UnionFind](Search/UnionFind.js)
+* **Sorts**
+ * [AlphaNumericalSort](Sorts/AlphaNumericalSort.js)
+ * [BeadSort](Sorts/BeadSort.js)
+ * [BinaryInsertionSort](Sorts/BinaryInsertionSort.js)
+ * [BogoSort](Sorts/BogoSort.js)
+ * [BubbleSort](Sorts/BubbleSort.js)
+ * [BucketSort](Sorts/BucketSort.js)
+ * [CocktailShakerSort](Sorts/CocktailShakerSort.js)
+ * [CombSort](Sorts/CombSort.js)
+ * [CountingSort](Sorts/CountingSort.js)
+ * [CycleSort](Sorts/CycleSort.js)
+ * [FindSecondLargestElement](Sorts/FindSecondLargestElement.js)
+ * [FisherYatesShuffle](Sorts/FisherYatesShuffle.js)
+ * [FlashSort](Sorts/FlashSort.js)
+ * [GnomeSort](Sorts/GnomeSort.js)
+ * [HeapSort](Sorts/HeapSort.js)
+ * [HeapSortV2](Sorts/HeapSortV2.js)
+ * [InsertionSort](Sorts/InsertionSort.js)
+ * [IntroSort](Sorts/IntroSort.js)
+ * [MergeSort](Sorts/MergeSort.js)
+ * [OddEvenSort](Sorts/OddEvenSort.js)
+ * [PancakeSort](Sorts/PancakeSort.js)
+ * [PigeonHoleSort](Sorts/PigeonHoleSort.js)
+ * [QuickSort](Sorts/QuickSort.js)
+ * [QuickSortRecursive](Sorts/QuickSortRecursive.js)
+ * [RadixSort](Sorts/RadixSort.js)
+ * [SelectionSort](Sorts/SelectionSort.js)
+ * [ShellSort](Sorts/ShellSort.js)
+ * [SimplifiedWiggleSort](Sorts/SimplifiedWiggleSort.js)
+ * [StoogeSort](Sorts/StoogeSort.js)
+ * [SwapSort](Sorts/SwapSort.js)
+ * [TimSort](Sorts/TimSort.js)
+ * [TopologicalSort](Sorts/TopologicalSort.js)
+* **String**
+ * [AlphaNumericPalindrome](String/AlphaNumericPalindrome.js)
+ * [AlternativeStringArrange](String/AlternativeStringArrange.js)
+ * [BoyerMoore](String/BoyerMoore.js)
+ * [CheckAnagram](String/CheckAnagram.js)
+ * [CheckCamelCase](String/CheckCamelCase.js)
+ * [CheckExceeding](String/CheckExceeding.js)
+ * [CheckFlatCase](String/CheckFlatCase.js)
+ * [CheckKebabCase](String/CheckKebabCase.js)
+ * [CheckPalindrome](String/CheckPalindrome.js)
+ * [CheckPangram](String/CheckPangram.js)
+ * [CheckPascalCase](String/CheckPascalCase.js)
+ * [CheckRearrangePalindrome](String/CheckRearrangePalindrome.js)
+ * [CheckSnakeCase](String/CheckSnakeCase.js)
+ * [CheckWordOccurrence](String/CheckWordOccurrence.js)
+ * [CountSubstrings](String/CountSubstrings.js)
+ * [CountVowels](String/CountVowels.js)
+ * [CreatePermutations](String/CreatePermutations.js)
+ * [DiceCoefficient](String/DiceCoefficient.js)
+ * [FirstUniqueCharacter](String/FirstUniqueCharacter.js)
+ * [FormatPhoneNumber](String/FormatPhoneNumber.js)
+ * [GenerateGUID](String/GenerateGUID.js)
+ * [HammingDistance](String/HammingDistance.js)
+ * [IsPalindrome](String/IsPalindrome.js)
+ * [KMPPatternSearching](String/KMPPatternSearching.js)
+ * [LevenshteinDistance](String/LevenshteinDistance.js)
+ * [Lower](String/Lower.js)
+ * [MaxCharacter](String/MaxCharacter.js)
+ * [MaxWord](String/MaxWord.js)
+ * [PatternMatching](String/PatternMatching.js)
+ * [PermutateString](String/PermutateString.js)
+ * [ReverseString](String/ReverseString.js)
+ * [ReverseWords](String/ReverseWords.js)
+ * [ScrambleStrings](String/ScrambleStrings.js)
+ * [Upper](String/Upper.js)
+ * [ValidateCreditCard](String/ValidateCreditCard.js)
+ * [ValidateEmail](String/ValidateEmail.js)
+ * [ValidateUrl](String/ValidateUrl.js)
+* **Timing-Functions**
+ * [GetMonthDays](Timing-Functions/GetMonthDays.js)
+ * [IntervalTimer](Timing-Functions/IntervalTimer.js)
+* **Trees**
+ * [BreadthFirstTreeTraversal](Trees/BreadthFirstTreeTraversal.js)
+ * [DepthFirstSearch](Trees/DepthFirstSearch.js)
+ * [FenwickTree](Trees/FenwickTree.js)
From c7b07ce3f25c8717860a812efbe49b995bc940e0 Mon Sep 17 00:00:00 2001
From: Dustin Lammiman
Date: Mon, 24 Oct 2022 11:38:46 -0600
Subject: [PATCH 4/7] Fix comments
---
Data-Structures/Array/TwoSum.js | 25 +++++++++++--------------
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/Data-Structures/Array/TwoSum.js b/Data-Structures/Array/TwoSum.js
index 17affdea20..e7ea651462 100644
--- a/Data-Structures/Array/TwoSum.js
+++ b/Data-Structures/Array/TwoSum.js
@@ -1,17 +1,14 @@
-// https://leetcode.com/problems/two-sum/
-
-// Given an array of integers, return indices of the two numbers such that they add up to
-// a specific target.
-
-// You may assume that each input would have exactly one solution, and you may not use the
-// same element twice.
-
-// Example:
-// Given nums = [2, 7, 11, 15], target = 9,
-
-// Because nums[0] + nums[1] = 2 + 7 = 9,
-// return [0, 1].
-
+/** https://leetcode.com/problems/two-sum/
+* Given an array of integers, return indices of the two numbers such that they add up to
+* a specific target.
+* You may assume that each input would have exactly one solution, and you may not use the
+* same element twice.
+* Example:
+* Given nums = [2, 7, 11, 15], target = 9,
+* Because nums[0] + nums[1] = 2 + 7 = 9,
+* return [0, 1].
+*
+* This is a basic brute force approach */
const TwoSum = (nums, target) => {
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
From 22f1ccba086b3c5abd6456fd6f35bc0ae819abe2 Mon Sep 17 00:00:00 2001
From: Dustin Lammiman
Date: Mon, 24 Oct 2022 11:41:36 -0600
Subject: [PATCH 5/7] Simplify tests
---
Data-Structures/Array/test/TwoSum.test.js | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/Data-Structures/Array/test/TwoSum.test.js b/Data-Structures/Array/test/TwoSum.test.js
index 2e157880e8..4b0f40db58 100644
--- a/Data-Structures/Array/test/TwoSum.test.js
+++ b/Data-Structures/Array/test/TwoSum.test.js
@@ -1,11 +1,9 @@
import { TwoSum } from '../TwoSum'
-describe('TwoSum tests', () => {
- it('check that a variety of inputs return the correct answer', () => {
- expect(TwoSum([2, 7, 11, 15], 9)).toEqual([0, 1])
- expect(TwoSum([2, 7, 11, 15, 6], 8)).toEqual([0, 4])
- expect(TwoSum([1, 0, 5, 7, 3, 4], 6)).toEqual([0, 2])
- expect(TwoSum([0, 8, 3, 1, 2, 7, 3], 6)).toEqual([2, 6])
- expect(TwoSum([0, 5, 4, 2, 6, 7, 9, 1], 3)).toEqual([3, 7])
- })
+test('TwoSum tests', () => {
+ expect(TwoSum([2, 7, 11, 15], 9)).toEqual([0, 1])
+ expect(TwoSum([2, 7, 11, 15, 6], 8)).toEqual([0, 4])
+ expect(TwoSum([1, 0, 5, 7, 3, 4], 6)).toEqual([0, 2])
+ expect(TwoSum([0, 8, 3, 1, 2, 7, 3], 6)).toEqual([2, 6])
+ expect(TwoSum([0, 5, 4, 2, 6, 7, 9, 1], 3)).toEqual([3, 7])
})
From cfa17fd1634b7f2e6c4a1c1550b57e9c57510c11 Mon Sep 17 00:00:00 2001
From: Dustin Lammiman
Date: Mon, 24 Oct 2022 13:45:39 -0600
Subject: [PATCH 6/7] Improve JSDoc comments
---
Data-Structures/Array/TwoSum.js | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/Data-Structures/Array/TwoSum.js b/Data-Structures/Array/TwoSum.js
index e7ea651462..5e0f9c5fb9 100644
--- a/Data-Structures/Array/TwoSum.js
+++ b/Data-Structures/Array/TwoSum.js
@@ -1,14 +1,13 @@
-/** https://leetcode.com/problems/two-sum/
-* Given an array of integers, return indices of the two numbers such that they add up to
-* a specific target.
-* You may assume that each input would have exactly one solution, and you may not use the
-* same element twice.
-* Example:
-* Given nums = [2, 7, 11, 15], target = 9,
-* Because nums[0] + nums[1] = 2 + 7 = 9,
-* return [0, 1].
-*
-* This is a basic brute force approach */
+/**
+ * @function TwoSum
+ * @see https://leetcode.com/problems/two-sum/
+ * @description Given an array of integers, returns indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. This is a basic brute force approach.
+ * @param {Array} nums - array of integers.
+ * @param {number} target - target integer.
+ * @returns {Array} Array of the indeces of the two numbers whose sum equals the target
+ * @example Given nums = [2, 7, 11, 15], target = 9; return [0, 1] because nums[0] + nums[1] = 2 + 7 = 9
+ * @complexity: O(n^2)
+ */
const TwoSum = (nums, target) => {
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
From e847c45eb08cac469a70056997c9148298366d2d Mon Sep 17 00:00:00 2001
From: Dustin Lammiman
Date: Mon, 24 Oct 2022 14:38:08 -0600
Subject: [PATCH 7/7] indeces => indices
---
Data-Structures/Array/TwoSum.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Data-Structures/Array/TwoSum.js b/Data-Structures/Array/TwoSum.js
index 5e0f9c5fb9..e72af9c58d 100644
--- a/Data-Structures/Array/TwoSum.js
+++ b/Data-Structures/Array/TwoSum.js
@@ -4,7 +4,7 @@
* @description Given an array of integers, returns indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. This is a basic brute force approach.
* @param {Array} nums - array of integers.
* @param {number} target - target integer.
- * @returns {Array} Array of the indeces of the two numbers whose sum equals the target
+ * @returns {Array} Array of the indices of the two numbers whose sum equals the target
* @example Given nums = [2, 7, 11, 15], target = 9; return [0, 1] because nums[0] + nums[1] = 2 + 7 = 9
* @complexity: O(n^2)
*/
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/TheAlgorithms/JavaScript/pull/1226.patch
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy