Skip to content

ignacio-chiazzo/Algorithms-Leetcode-Javascript

Repository files navigation

Algorithms-Javascript

Solutions of algorithm problems using Javascript. https://ignacio-chiazzo..io/Algorithms-Leetcode-Javascript/

Structure

The solutions are located under /LeetcodeProblems. Each problem has a test file located under /LeetcodeProblemsTest.

Run Tests

Unit tests: To run all the test run node Test.js in the console. To run a specific problem in your console run node Test.js <problem_file_path> (e.g. node Test.js ./LeetcodeProblemsTests/Algorithms/easy/2Sum_Test.js).

Linter: This repository uses es-lint. To run all the tests you would need to install the packages by running npm install followed by npx eslint LeetcodeProblems LeetcodeProblemsTests which will run the eslint in all problems and tests. You can also use the flag --fix which will automatically fix some of the errors.

Leetcode Problems

NameLevelLink
Edit DistanceHardhttps://leetcode.com/problems/edit-distance/
First Missing PositiveHardhttps://leetcode.com/problems/first-missing-positive/
Remove Invalid ParenthesesHardhttps://leetcode.com/problems/remove-invalid-parentheses/
Longest Consecutive SequenceHardhttps://leetcode.com/problems/longest-consecutive-sequence/
Minimum Window SubstringHardhttps://leetcode.com/problems/minimum-window-substring/
Regular Expression MatchingHardhttps://leetcode.com/problems/regular-expression-matching/
NQueensHardhttps://leetcode.com/problems/n-queens/
merge k sorted listsHardhttps://leetcode.com/problems/merge-k-sorted-lists/
Set Matrix ZeroesHardhttps://leetcode.com/problems/set-matrix-zeroes/
Subarray Sum Equals KMediumhttps://leetcode.com/problems/subarray-sum-equals-k/
3Sum ClosestMediumhttps://leetcode.com/problems/3sum-closest/
3SumMediumhttps://leetcode.com/problems/3sum/
NumberOfIslandsMediumhttps://leetcode.com/problems/number-of-islands/
Swap Nodes in PairsMediumhttps://leetcode.com/problems/swap-nodes-in-pairs/
Add Two NumbersMediumhttps://leetcode.com/problems/add-two-numbers/
Clone GraphMediumhttps://leetcode.com/problems/clone-graph/
Coin ChangeMediumhttps://leetcode.com/problems/coin-change/
Container With Most WaterMediumhttps://leetcode.com/problems/container-with-most-water/
Design Circular DequeMediumhttps://leetcode.com/problems/design-circular-deque/
Escape The GhostsMediumhttps://leetcode.com/problems/escape-the-ghosts/
Find All Anagrams in a StringMediumhttps://leetcode.com/problems/find-all-anagrams-in-a-string/
Generate ParenthesisMediumhttps://leetcode.com/problems/generate-parentheses
Group AnagramsMediumhttps://leetcode.com/problems/group-anagrams/
Kth Largest Element in an ArrayMediumhttps://leetcode.com/problems/kth-largest-element-in-an-array/
Linked List Cycle IIMediumhttps://leetcode.com/problems/linked-list-cycle-ii/
Longest Palindromic SubstringMediumhttps://leetcode.com/problems/longest-palindromic-substring/
Longest Substring Without Reapeating CharactersMediumhttps://leetcode.com/problems/longest-substring-without-repeating-characters
Max Area Of IslandMediumhttps://leetcode.com/problems/max-area-of-island/
Max Consecutive Ones IIIMediumhttps://leetcode.com/problems/max-consecutive-ones-iii
Maximal SquareMediumhttps://leetcode.com/problems/maximal-square/
Minimum Add to Make Parentheses ValidMediumhttps://leetcode.com/problems/minimum-add-to-make-parentheses-valid/
Minimum Size SubarrayMediumhttps://leetcode.com/problems/minimum-size-subarray-sum
PermutationsMediumhttps://leetcode.com/problems/permutations/
Permutations IIMediumhttps://leetcode.com/problems/permutations-ii/
Permutation in StringMediumhttps://leetcode.com/problems/permutation-in-string/
Permutations Without DuplicatesMediumhttps://leetcode.com/problems/permutations/
Restore IP AddressesMediumhttps://leetcode.com/problems/restore-ip-addresses/
SearchIng Rotated Sorted ArrayMediumhttps://leetcode.com/problems/search-in-rotated-sorted-array/
Search a 2D MatrixMediumhttps://leetcode.com/problems/search-a-2d-matrix/
Search a 2D Matrix IIMediumhttps://leetcode.com/problems/search-a-2d-matrix/
Simplify PathMediumhttps://leetcode.com/problems/simplify-path/
Spiral MatrixMediumhttps://leetcode.com/problems/spiral-matrix/
SubsetsMediumhttps://leetcode.com/problems/subsets/
Unique Binary Search TreesMediumhttps://leetcode.com/problems/unique-binary-search-trees/
Unique PathsMediumhttps://leetcode.com/problems/unique-paths/
Verify Preorder Serialization of a Binary TreeMediumhttps://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/
Construct Binary Tree from Preorder and Inorder TraversalMediumhttps://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/
Lowest Common Ancestor of a Binary TreeMediumhttps://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/
Maximum Sum of an HourglassMediumhttps://leetcode.com/problems/maximum-sum-of-an-hourglass/
Next PermutationMediumhttps://leetcode.com/problems/next-permutation/
Time Needed to Rearrange a Binary StringMediumhttps://leetcode.com/problems/time-needed-to-rearrange-a-binary-string/
Find Subarrays With Equal SumMediumhttps://leetcode.com/problems/find-subarrays-with-equal-sum/
Reverse IntegerMediumhttps://leetcode.com/problems/reverse-integer/
Minimize Maximum Pair Sum in ArrayMediumhttps://leetcode.com/problems/minimize-maximum-pair-sum-in-array/
Top K Frequent ElementsMediumhttps://leetcode.com/problems/top-k-frequent-elements/
Gas StationMediumhttps://leetcode.com/problems/gas-station/description/
K Closest Points to OriginMediumhttps://leetcode.com/problems/k-closest-points-to-origin/
BestTimeToBuyMediumhttps://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii
Best Time to Buy and Sell StockEasyhttps://leetcode.com/problems/best-time-to-buy-and-sell-stock/
Flood FillEasyhttps://leetcode.com/problems/flood-fill/
Implement stack using queuesEasyhttps://leetcode.com/problems/implement-stack-using-queues/
Number of Segments in a StringEasyhttps://leetcode.com/problems/number-of-segments-in-a-string/
Maximun SubarrayEasyhttps://leetcode.com/problems/maximum-subarray
Min StackEasyhttps://leetcode.com/problems/min-stack/
Reverse String IIEasyhttps://leetcode.com/problems/reverse-string-ii/
Same TreeEasyhttps://leetcode.com/problems/same-tree/
Sum Of Square NumbersEasyhttps://leetcode.com/problems/sum-of-square-numbers/
Symmetric TreeEasyhttps://leetcode.com/problems/symmetric-tree/
Valid ParenthesesEasyhttps://leetcode.com/problems/valid-parentheses/
Backspace String CompareEasyhttps://leetcode.com/problems/backspace-string-compare/
Binary GapEasyhttps://leetcode.com/problems/binary-gap/
Majority ElementEasyhttps://leetcode.com/problems/majority-element/
Lexographically Smallest String After A SwapEasyhttps://leetcode.com/problems/lexicographically-smallest-string-after-a-swap/
Longest Common PrefixEasyhttps://leetcode.com/problems/longest-common-prefix/
Two SumEasyhttps://leetcode.com/problems/two-sum/
Tic Tac ToeEasy
Permutations With DuplicatesEasy
Deletion DistanceEasy
Award Budget CutsEasy
Happy NumberEasyhttps://leetcode.com/problems/happy-number/
Shuffle StringEasyhttps://leetcode.com/problems/shuffle-string/
Reverse bit to make number equalEasyhttps://leetcode.com/problems/number-of-bit-changes-to-make-two-integers-equal/

Sorting Algorithms

Algoritmhs
Heap Sort
Quick Sort

Databases

ProblemsLevelLink
Trips and UsersHardhttps://leetcode.com/problems/trips-and-users/
Human Traffic of StadiumHardhttps://leetcode.com/problems/human-traffic-of-stadium
Rank ScoresMediumhttps://leetcode.com/problems/rank-scores
Consecutive NumbersMediumhttps://leetcode.com/problems/consecutive-numbers
Department Highest SalaryMediumhttps://leetcode.com/problems/department-highest-salary
Exchange SeatsMediumhttps://leetcode.com/problems/exchange-seats
Nth Highest SalaryMediumhttps://leetcode.com/problems/nth-highest-salary
Combine Two TablesEasyhttps://leetcode.com/problems/combine-two-tables
Second Highest SalaryEasyhttps://leetcode.com/problems/second-highest-salary
Customers Who Never OrderEasyhttps://leetcode.com/problems/customers-who-never-order
Reformat Department TableEasyhttps://leetcode.com/problems/reformat-department-table
Employees Earning More Than Their ManagersEasyhttps://leetcode.com/problems/employees-earning-more-than-their-managers/
Delete Duplicate EmailsEasyhttps://leetcode.com/problems/delete-duplicate-emails
Rising TemperatureEasyhttps://leetcode.com/problems/rising-temperature

UtilsClasses

Other languages provides built-in classes (e.g Linked List, Tree, etc). This module contains util classes to use in your problems.

Contributions

I'd be pleased to accept contributions. I'd be happy to discuss problems and solutions over a Pull Request or an Issue.

Each problem should have:

  1. A description of the problem at the top of the file.
  2. A test file with some test cases. The test file must export a test() function which should run all the tests of the file.
  3. An entry of the problem in the list of solutions within the README file.

PR Example: #39