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
Name | Level | Link |
---|---|---|
Edit Distance | Hard | https://leetcode.com/problems/edit-distance/ |
First Missing Positive | Hard | https://leetcode.com/problems/first-missing-positive/ |
Remove Invalid Parentheses | Hard | https://leetcode.com/problems/remove-invalid-parentheses/ |
Longest Consecutive Sequence | Hard | https://leetcode.com/problems/longest-consecutive-sequence/ |
Minimum Window Substring | Hard | https://leetcode.com/problems/minimum-window-substring/ |
Regular Expression Matching | Hard | https://leetcode.com/problems/regular-expression-matching/ |
NQueens | Hard | https://leetcode.com/problems/n-queens/ |
merge k sorted lists | Hard | https://leetcode.com/problems/merge-k-sorted-lists/ |
Set Matrix Zeroes | Hard | https://leetcode.com/problems/set-matrix-zeroes/ |
Subarray Sum Equals K | Medium | https://leetcode.com/problems/subarray-sum-equals-k/ |
3Sum Closest | Medium | https://leetcode.com/problems/3sum-closest/ |
3Sum | Medium | https://leetcode.com/problems/3sum/ |
NumberOfIslands | Medium | https://leetcode.com/problems/number-of-islands/ |
Swap Nodes in Pairs | Medium | https://leetcode.com/problems/swap-nodes-in-pairs/ |
Add Two Numbers | Medium | https://leetcode.com/problems/add-two-numbers/ |
Clone Graph | Medium | https://leetcode.com/problems/clone-graph/ |
Coin Change | Medium | https://leetcode.com/problems/coin-change/ |
Container With Most Water | Medium | https://leetcode.com/problems/container-with-most-water/ |
Design Circular Deque | Medium | https://leetcode.com/problems/design-circular-deque/ |
Escape The Ghosts | Medium | https://leetcode.com/problems/escape-the-ghosts/ |
Find All Anagrams in a String | Medium | https://leetcode.com/problems/find-all-anagrams-in-a-string/ |
Generate Parenthesis | Medium | https://leetcode.com/problems/generate-parentheses |
Group Anagrams | Medium | https://leetcode.com/problems/group-anagrams/ |
Kth Largest Element in an Array | Medium | https://leetcode.com/problems/kth-largest-element-in-an-array/ |
Linked List Cycle II | Medium | https://leetcode.com/problems/linked-list-cycle-ii/ |
Longest Palindromic Substring | Medium | https://leetcode.com/problems/longest-palindromic-substring/ |
Longest Substring Without Reapeating Characters | Medium | https://leetcode.com/problems/longest-substring-without-repeating-characters |
Max Area Of Island | Medium | https://leetcode.com/problems/max-area-of-island/ |
Max Consecutive Ones III | Medium | https://leetcode.com/problems/max-consecutive-ones-iii |
Maximal Square | Medium | https://leetcode.com/problems/maximal-square/ |
Minimum Add to Make Parentheses Valid | Medium | https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/ |
Minimum Size Subarray | Medium | https://leetcode.com/problems/minimum-size-subarray-sum |
Permutations | Medium | https://leetcode.com/problems/permutations/ |
Permutations II | Medium | https://leetcode.com/problems/permutations-ii/ |
Permutation in String | Medium | https://leetcode.com/problems/permutation-in-string/ |
Permutations Without Duplicates | Medium | https://leetcode.com/problems/permutations/ |
Restore IP Addresses | Medium | https://leetcode.com/problems/restore-ip-addresses/ |
SearchIng Rotated Sorted Array | Medium | https://leetcode.com/problems/search-in-rotated-sorted-array/ |
Search a 2D Matrix | Medium | https://leetcode.com/problems/search-a-2d-matrix/ |
Search a 2D Matrix II | Medium | https://leetcode.com/problems/search-a-2d-matrix/ |
Simplify Path | Medium | https://leetcode.com/problems/simplify-path/ |
Spiral Matrix | Medium | https://leetcode.com/problems/spiral-matrix/ |
Subsets | Medium | https://leetcode.com/problems/subsets/ |
Unique Binary Search Trees | Medium | https://leetcode.com/problems/unique-binary-search-trees/ |
Unique Paths | Medium | https://leetcode.com/problems/unique-paths/ |
Verify Preorder Serialization of a Binary Tree | Medium | https://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/ |
Construct Binary Tree from Preorder and Inorder Traversal | Medium | https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ |
Lowest Common Ancestor of a Binary Tree | Medium | https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/ |
Maximum Sum of an Hourglass | Medium | https://leetcode.com/problems/maximum-sum-of-an-hourglass/ |
Next Permutation | Medium | https://leetcode.com/problems/next-permutation/ |
Time Needed to Rearrange a Binary String | Medium | https://leetcode.com/problems/time-needed-to-rearrange-a-binary-string/ |
Find Subarrays With Equal Sum | Medium | https://leetcode.com/problems/find-subarrays-with-equal-sum/ |
Reverse Integer | Medium | https://leetcode.com/problems/reverse-integer/ |
Minimize Maximum Pair Sum in Array | Medium | https://leetcode.com/problems/minimize-maximum-pair-sum-in-array/ |
Top K Frequent Elements | Medium | https://leetcode.com/problems/top-k-frequent-elements/ |
Gas Station | Medium | https://leetcode.com/problems/gas-station/description/ |
K Closest Points to Origin | Medium | https://leetcode.com/problems/k-closest-points-to-origin/ |
BestTimeToBuy | Medium | https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii |
Best Time to Buy and Sell Stock | Easy | https://leetcode.com/problems/best-time-to-buy-and-sell-stock/ |
Flood Fill | Easy | https://leetcode.com/problems/flood-fill/ |
Implement stack using queues | Easy | https://leetcode.com/problems/implement-stack-using-queues/ |
Number of Segments in a String | Easy | https://leetcode.com/problems/number-of-segments-in-a-string/ |
Maximun Subarray | Easy | https://leetcode.com/problems/maximum-subarray |
Min Stack | Easy | https://leetcode.com/problems/min-stack/ |
Reverse String II | Easy | https://leetcode.com/problems/reverse-string-ii/ |
Same Tree | Easy | https://leetcode.com/problems/same-tree/ |
Sum Of Square Numbers | Easy | https://leetcode.com/problems/sum-of-square-numbers/ |
Symmetric Tree | Easy | https://leetcode.com/problems/symmetric-tree/ |
Valid Parentheses | Easy | https://leetcode.com/problems/valid-parentheses/ |
Backspace String Compare | Easy | https://leetcode.com/problems/backspace-string-compare/ |
Binary Gap | Easy | https://leetcode.com/problems/binary-gap/ |
Majority Element | Easy | https://leetcode.com/problems/majority-element/ |
Lexographically Smallest String After A Swap | Easy | https://leetcode.com/problems/lexicographically-smallest-string-after-a-swap/ |
Longest Common Prefix | Easy | https://leetcode.com/problems/longest-common-prefix/ |
Two Sum | Easy | https://leetcode.com/problems/two-sum/ |
Tic Tac Toe | Easy | |
Permutations With Duplicates | Easy | |
Deletion Distance | Easy | |
Award Budget Cuts | Easy | |
Happy Number | Easy | https://leetcode.com/problems/happy-number/ |
Shuffle String | Easy | https://leetcode.com/problems/shuffle-string/ |
Reverse bit to make number equal | Easy | https://leetcode.com/problems/number-of-bit-changes-to-make-two-integers-equal/ |
Sorting Algorithms
| Algoritmhs | | - | | Heap Sort | | Quick Sort |
Databases
| Problems | Level | Link | |-|-|-| | Trips and Users | Hard | https://leetcode.com/problems/trips-and-users/ | | Human Traffic of Stadium | Hard | https://leetcode.com/problems/human-traffic-of-stadium | | Rank Scores | Medium | https://leetcode.com/problems/rank-scores | | Consecutive Numbers | Medium | https://leetcode.com/problems/consecutive-numbers | | Department Highest Salary | Medium | https://leetcode.com/problems/department-highest-salary | | Exchange Seats | Medium | https://leetcode.com/problems/exchange-seats | | Nth Highest Salary | Medium | https://leetcode.com/problems/nth-highest-salary | | Combine Two Tables | Easy | https://leetcode.com/problems/combine-two-tables | | Second Highest Salary| Easy | https://leetcode.com/problems/second-highest-salary | | Customers Who Never Order| Easy | https://leetcode.com/problems/customers-who-never-order | | Reformat Department Table | Easy | https://leetcode.com/problems/reformat-department-table | | Employees Earning More Than Their Managers | Easy | https://leetcode.com/problems/employees-earning-more-than-their-managers/ | | Delete Duplicate Emails | Easy | https://leetcode.com/problems/delete-duplicate-emails | | Rising Temperature | Easy | https://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