Home

Awesome

Algorithms-Javascript

Solutions of algorithm problems using Javascript. https://ignacio-chiazzo.github.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 Distance Hardhttps://leetcode.com/problems/edit-distance/
First Missing Positive Hardhttps://leetcode.com/problems/first-missing-positive/
Remove Invalid Parentheses Hardhttps://leetcode.com/problems/remove-invalid-parentheses/
Longest Consecutive Sequence Hardhttps://leetcode.com/problems/longest-consecutive-sequence/
Minimum Window Substring Hardhttps://leetcode.com/problems/minimum-window-substring/
Regular Expression Matching Hardhttps://leetcode.com/problems/regular-expression-matching/
NQueens Hardhttps://leetcode.com/problems/n-queens/
merge k sorted lists Hardhttps://leetcode.com/problems/merge-k-sorted-lists/
Set Matrix ZeroesHardhttps://leetcode.com/problems/set-matrix-zeroes/
Subarray Sum Equals K Mediumhttps://leetcode.com/problems/subarray-sum-equals-k/
3Sum ClosestMediumhttps://leetcode.com/problems/3sum-closest/
3Sum Mediumhttps://leetcode.com/problems/3sum/
NumberOfIslands Mediumhttps://leetcode.com/problems/number-of-islands/
Swap Nodes in PairsMediumhttps://leetcode.com/problems/swap-nodes-in-pairs/
Add Two Numbers Mediumhttps://leetcode.com/problems/add-two-numbers/
Clone Graph Mediumhttps://leetcode.com/problems/clone-graph/
Coin Change Mediumhttps://leetcode.com/problems/coin-change/
Container With Most WaterMediumhttps://leetcode.com/problems/container-with-most-water/
Design Circular Deque Mediumhttps://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 Parenthesis Mediumhttps://leetcode.com/problems/generate-parentheses
Group Anagrams Mediumhttps://leetcode.com/problems/group-anagrams/
Kth Largest Element in an Array Mediumhttps://leetcode.com/problems/kth-largest-element-in-an-array/
Linked List Cycle II Mediumhttps://leetcode.com/problems/linked-list-cycle-ii/
Longest Palindromic Substring Mediumhttps://leetcode.com/problems/longest-palindromic-substring/
Longest Substring Without Reapeating CharactersMediumhttps://leetcode.com/problems/longest-substring-without-repeating-characters
Max Area Of Island Mediumhttps://leetcode.com/problems/max-area-of-island/
Max Consecutive Ones III Mediumhttps://leetcode.com/problems/max-consecutive-ones-iii
Maximal Square Mediumhttps://leetcode.com/problems/maximal-square/
Minimum Add to Make Parentheses Valid Mediumhttps://leetcode.com/problems/minimum-add-to-make-parentheses-valid/
Minimum Size SubarrayMediumhttps://leetcode.com/problems/minimum-size-subarray-sum
Permutations Mediumhttps://leetcode.com/problems/permutations/
Permutations II Mediumhttps://leetcode.com/problems/permutations-ii/
Permutation in StringMediumhttps://leetcode.com/problems/permutation-in-string/
Permutations Without Duplicates Mediumhttps://leetcode.com/problems/permutations/
Restore IP Addresses Mediumhttps://leetcode.com/problems/restore-ip-addresses/
SearchIng Rotated Sorted Array Mediumhttps://leetcode.com/problems/search-in-rotated-sorted-array/
Search a 2D Matrix Mediumhttps://leetcode.com/problems/search-a-2d-matrix/
Search a 2D Matrix II Mediumhttps://leetcode.com/problems/search-a-2d-matrix/
Simplify Path Mediumhttps://leetcode.com/problems/simplify-path/
Spiral Matrix Mediumhttps://leetcode.com/problems/spiral-matrix/
Subsets Mediumhttps://leetcode.com/problems/subsets/
Unique Binary Search Trees Mediumhttps://leetcode.com/problems/unique-binary-search-trees/
Unique Paths Mediumhttps://leetcode.com/problems/unique-paths/
Verify Preorder Serialization of a Binary Tree Mediumhttps://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/
Construct Binary Tree from Preorder and Inorder Traversal Mediumhttps://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/
Lowest Common Ancestor of a Binary Tree Mediumhttps://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 Sum Mediumhttps://leetcode.com/problems/find-subarrays-with-equal-sum/
Reverse IntegerMediumhttps://leetcode.com/problems/reverse-integer/
Minimize Maximum Pair Sum in Array Mediumhttps://leetcode.com/problems/minimize-maximum-pair-sum-in-array/
Top K Frequent Elements Mediumhttps://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 Fill Easyhttps://leetcode.com/problems/flood-fill/
Implement stack using queues Easyhttps://leetcode.com/problems/implement-stack-using-queues/
Number of Segments in a String Easyhttps://leetcode.com/problems/number-of-segments-in-a-string/
Maximun Subarray Easyhttps://leetcode.com/problems/maximum-subarray
Min Stack Easyhttps://leetcode.com/problems/min-stack/
Reverse String II Easyhttps://leetcode.com/problems/reverse-string-ii/
Same Tree Easyhttps://leetcode.com/problems/same-tree/
Sum Of Square Numbers Easyhttps://leetcode.com/problems/sum-of-square-numbers/
Symmetric Tree Easyhttps://leetcode.com/problems/symmetric-tree/
Valid Parentheses Easyhttps://leetcode.com/problems/valid-parentheses/
Backspace String Compare Easyhttps://leetcode.com/problems/backspace-string-compare/
Binary Gap Easyhttps://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 Toe Easy
Permutations With Duplicates Easy
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: https://github.com/ignacio-chiazzo/Algorithms-Leetcode-Javascript/pull/39