{"id":22688195,"url":"https://github.com/emanuelefavero/leetcode","last_synced_at":"2025-03-29T16:13:16.663Z","repository":{"id":196246542,"uuid":"694667114","full_name":"emanuelefavero/leetcode","owner":"emanuelefavero","description":"This repository contains my solutions to LeetCode problems","archived":false,"fork":false,"pushed_at":"2024-04-12T11:39:41.000Z","size":472,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-12T18:45:00.949Z","etag":null,"topics":["algorithms","data-structures","javascript","leetcode","leetcode-solutions"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emanuelefavero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-09-21T13:03:35.000Z","updated_at":"2024-04-14T17:40:01.601Z","dependencies_parsed_at":"2024-01-07T17:11:27.885Z","dependency_job_id":"de698c7e-370b-4881-9897-1a448a2099c8","html_url":"https://github.com/emanuelefavero/leetcode","commit_stats":{"total_commits":779,"total_committers":1,"mean_commits":779.0,"dds":0.0,"last_synced_commit":"257a2d4e2c9494a56b2300617d79ed3806ab08d9"},"previous_names":["emanuelefavero/leetcode"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuelefavero%2Fleetcode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuelefavero%2Fleetcode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuelefavero%2Fleetcode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuelefavero%2Fleetcode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emanuelefavero","download_url":"https://codeload.github.com/emanuelefavero/leetcode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246207509,"owners_count":20740723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","data-structures","javascript","leetcode","leetcode-solutions"],"created_at":"2024-12-10T00:13:25.131Z","updated_at":"2025-03-29T16:13:16.641Z","avatar_url":"https://github.com/emanuelefavero.png","language":"JavaScript","readme":"# LeetCode Solutions\n\nThis repository contains my solutions to LeetCode problems.\n\n\u003e Note: The solutions are written in JavaScript\n\n## Usage\n\nFeel free to browse the solutions and explanations for each problem. You can clone this repository to your local machine to access the code and run it as needed.\n\n\u003e Note: Contributions and feedback are welcome!\n\n## Contents\n\n### 2D Array\n\n- [Print 2D Array](./2d-array/print-2d-array.js)\n- [Print Multi Dimensional Array](./2d-array/print-multi-dimensional-array.js)\n- [Diagonal Traverse](./2d-array/diagonal-traverse.js)\n- [Spiral Matrix](./2d-array/spiral-matrix.js)\n- [Pascal Triangle](./2d-array/pascal-triangle.js)\n- [Matrix Diagonal Sum](./2d-array/matrix-diagonal-sum.js)\n- [Design Neighbor Sum Service](./2d-array/design-neighbor-sum-service.js)\n- [Largest Local Values in a Matrix](./2d-array/largest-local-values-in-a-matrix.js)\n\n### Array\n\n- [Running Sum Of 1d Array](./array/running-sum-of-1d-array.js)\n- [Richest Customer Wealth](./array/richest-customer-wealth.js)\n- [Max Consecutive Ones](./array/max-consecutive-ones.js)\n- [Even Number Of Digits](./array/even-number-of-digits.js)\n- [Squares Of A Sorted Array](./array/squares-of-a-sorted-array.js)\n- [Duplicate Zeros](./array/duplicate-zeros.js)\n- [Merge Sorted Array](./array/merge-sorted-array.js)\n- [Delete Element By Index](./array/delete-element-by-index.js)\n- [Remove Element](./array/remove-element.js)\n- [Remove Duplicates From Sorted Array](./array/remove-duplicates-from-sorted-array.js)\n- [Check If N And Its Double Exist](./array/check-if-n-and-its-double-exist.js)\n- [Valid Mountain Array](./array/valid-mountain-array.js)\n- [Replace Elements With Greatest Element On Right Side](./array/replace-elements-with-greatest.js)\n- [Two Pointer Technique](./array/two-pointer-technique.js)\n- [Move Zeroes](./array/move-zeroes.js)\n- [Sort Array By Parity](./array/sort-array-by-parity.js)\n- [Height Checker](./array/height-checker.js)\n- [Third Maximum Number](./array/third-maximum-number.js)\n- [Find All Numbers Disappeared In An Array](./array/find-disappeared-numbers.js)\n- [Find Pivot Index](./array/find-pivot-index.js)\n- [Largest Number At Least Twice Of Others](./array/largest-number-twice-of-others.js)\n- [Plus One](./array/plus-one.js)\n- [Array Partition I](./array/array-partition-i.js)\n- [Two Sum II - Input Array Is Sorted](./array/two-sum-ii.js)\n- [Minimum Size Subarray Sum](./array/minimum-size-subarray-sum.js)\n- [Rotate Array](./array/rotate-array.js)\n- [Pascal Triangle II](./array/pascal-triangle-ii.js)\n- [Sort an Array (Merge Sort)](./array/sort-an-array-merge-sort.js)\n- [Duplicate Zeros](./array/duplicate-zeros.js)\n- [Concatenation Of Array](./array/concatenation-of-array.js)\n- [Build Array From Permutation](./array/build-array-from-permutation.js)\n- [Shuffle the Array](./array/shuffle-the-array.js)\n- [Number of Employees Who Met the Target](./array/number-of-employees-who-met-target.js)\n- [Kids With the Greatest Number of Candies](./array/kids-with-candies.js)\n- [Sum of Values at Indices With K Set Bits](./array/sum-indices-with-k-set-bits.js)\n- [Decode XORed Array](./array/decode-xored-array.js)\n- [Left and Right Sum Differences](./array/left-and-right-sum-differences.js)\n- [Create Target Array in the Given Order](./array/create-target-array.js)\n- [Minimum Operations to Exceed Threshold Value I](./array/minimum-operations-to-exceed-value.js)\n- [Truncate Sentence](./array/truncate-sentence.js)\n- [Shuffle String](./array/shuffle-string.js)\n- [Difference Between Element Sum and Digit Sum of an Array](./array/difference-of-sum.js)\n- [Find First Palindromic String in the Array](./array/first-palindrome.js)\n- [Count Number of Pairs With Absolute Difference K](./array/count-k-difference.js)\n- [Count the Number of Consistent Strings](./array/count-consistent-strings.js)\n- [Find the Highest Altitude](./array/find-the-highest-altitude.js)\n- [Sum of All Odd Length Subarrays](./array/sum-odd-length-subarrays.js)\n- [Check if a String Is an Acronym of Words](./array/check-if-string-is-acronym-of-words.js)\n- [Unique Morse Code Words](./array/unique-morse-code-words.js)\n- [Find Common Elements Between Two Arrays](./array/find-common-elements.js)\n- [Minimum Time Visiting All Points](./array/minimum-time-visiting-all-points.js)\n- [Subarrays Distinct Element Sum of Squares I](./array/subarrays-distinct-sum-of-squares-i.js)\n- [Flipping an Image](./array/flipping-an-image.js)\n- [Find the Integer Added to Array I](./array/find-the-integer-added-to-array-i.js)\n- [Count Good Triplets](./array/count-good-triplets.js)\n- [Find Maximum Number of String Pairs](./array/find-maximum-number-of-string-pairs.js)\n- [Count Tested Devices After Test Operations](./array/count-tested-devices.js)\n- [Sum of Squares of Special Elements](./array/sum-of-squares.js)\n- [Sort the People](./array/sort-the-people.js)\n- [Destination City](./array/destination-city.js)\n- [Count Equal and Divisible Pairs in an Array](./array/count-pairs.js)\n- [Separate the Digits in an Array](./array/separate-the-digits-in-an-array.js)\n- [Count Elements With Maximum Frequency](./array/count-elements-with-maximum-frequency.js)\n- [Find the Difference of Two Arrays](./array/find-the-difference-of-two-arrays.js)\n- [Number Of Rectangles That Can Form The Largest Square](./array/count-good-rectangles.js)\n- [Sort Integers by The Number of 1 Bits](./array/sort-by-bits.js)\n- [Number of Students Unable to Eat Lunch](./array/students-unable-to-eat-lunch.js)\n- [Counting Words With a Given Prefix](./array/counting-words-with-a-given-prefix.js)\n- [Cells with Odd Values in a Matrix](./array/cells-with-odd-values-in-a-matrix.js)\n- [Sum of All Subset XOR Totals](./array/sum-of-all-subset-xor-totals.js)\n- [Find the Number of Good Pairs I](./array/find-the-number-of-good-pairs-i.js)\n- [Count Pairs That Form a Complete Day I](./array/count-pairs-that-form-a-complete-day-i.js)\n- [Final Prices With a Special Discount in a Shop](./array/final-prices-with-a-special-discount.js)\n- [Find Minimum Operations to Make All Elements Divisible by Three](./array/find-minimum-operations-divisible-by-three.js)\n- [Decompress Run-Length Encoded List](./array/decompress-rle-list.js)\n- [Minimum Average of Smallest and Largest Elements](./array/minimum-average-of-smallest-and-largest.js)\n- [Filter Elements from Array](./array/filter-elements-from-array.js)\n- [Array Reduce Transformation](./array/array-reduce-transformation.js)\n- [Design an Ordered Stream](./array/design-an-ordered-stream.js)\n- [Chunk Array](./array/chunk-array.js)\n- [Find if Digit Game Can Be Won](./array/find-if-digit-game-can-be-won.js)\n- [Number of Senior Citizens](./array/number-of-senior-citizens.js)\n- [Final Array State After K Multiplication Operations I](./array/final-array-after-k-multiplication-i.js)\n- [Minimum Element After Replacement With Digit Sum](./array/minimum-element-after-replacement.js)\n- [Maximum Average Subarray I](./array/maximum-average-subarray-i.js)\n- [Defuse the Bomb](./array/defuse-the-bomb.js)\n- [Find Greatest Common Divisor of Array](./array/find-greatest-common-divisor.js)\n- [Baseball Game](./array/baseball-game.js)\n- [Count Prefix and Suffix Pairs I](./array/count-prefix-and-suffix-pairs-i.js)\n- [Number of Students Doing Homework at a Given Time](./array/number-of-students-doing-homework.js)\n- [Minimum Number of Operations to Move All Balls to Each Box](./array/min-operations-to-move-all-balls.js)\n- [Partition Array According to Given Pivot](./array/partition-array-according-to-given-pivot.js)\n\n### Binary Search\n\n- [Binary Search Template I](./binary-search/binary-search-template-i.js)\n- [Binary Search Template II](./binary-search/binary-search-template-ii.js)\n- [Binary Search Template II](./binary-search/binary-search-template-iii.js)\n- [Recursive Binary Search](./binary-search/recursive-binary-search.js)\n- [Search Insert Position](./binary-search/search-insert-position.js)\n- [Binary Search](./binary-search/binary-search.js)\n- [Sqrt(x)](./binary-search/sqrt-x.js)\n- [Guess Number Higher Or Lower](./binary-search/guess-number-higher-or-lower.js)\n- [Search in Rotated Sorted Array](./binary-search/search-in-rotated-sorted-array.js)\n- [First Bad Version](./binary-search/first-bad-version.js)\n- [Find Peak Element](./binary-search/find-peak-element.js)\n- [Find Minimum In Rotated Sorted Array](./binary-search/find-minimum-in-rotated-sorted-array.js)\n- [Find Minimum In Rotated Sorted Array II](./binary-search/find-minimum-in-rotated-sorted-array-ii.js)\n- [Search For A Range](./binary-search/search-for-a-range.js)\n- [Find K Closest Elements](./binary-search/find-k-closest-elements.js)\n- [Pow(x, n)](./binary-search/pow-x-n.js)\n- [Valid Perfect Square](./binary-search/valid-perfect-square.js)\n- [Find Smallest Letter Greater Than Target](./binary-search/find-smallest-letter-greater-than-target.js)\n- [Count Negative Numbers in a Sorted Matrix](./binary-search/count-negatives.js)\n- [Find Target Indices After Sorting Array](./binary-search/find-target-indices-after-sorting-array.js)\n- [Longest Subsequence With Limited Sum](./binary-search/longest-subsequence-with-limited-sum.js)\n- [Maximum Count of Positive Integer and Negative Integer](./binary-search/maximum-count.js)\n- [Find the Distance Value Between Two Arrays](./binary-search/find-the-distance-value.js)\n- [Missing Number](./binary-search/missing-number.js)\n- [Count Complete Tree Nodes](./binary-search/count-complete-tree-nodes.js)\n\n### Bit Manipulation\n\n- [XOR Operation In An Array](./bit-manipulation/xor-operation-in-an-array.js)\n- [Number of 1 Bits](./bit-manipulation/number-of-1-bits.js)\n- [Hamming Distance](./bit-manipulation/hamming-distance.js)\n- [Reverse Bits](./bit-manipulation/reverse-bits.js)\n- [Minimum Bit Flips to Convert Number](./bit-manipulation/minimum-bit-flips-to-convert-number.js)\n- [Sum of Digits in Base K](./bit-manipulation/sum-of-digits-in-base-k.js)\n- [Smallest Number With All Set Bits](./bit-manipulation/smallest-number-with-all-set-bits.js)\n- [Construct the Minimum Bitwise Array I](./bit-manipulation/construct-the-minimum-bitwise-array-i.js)\n- [Maximum Strong Pair XOR I](./bit-manipulation/maximum-strong-pair-xor-i.js)\n\n### Breadth First Search\n\n- [Average of Levels in Binary Tree](./breadth-first-search/average-of-levels-in-binary-tree.js)\n- [Univalued Binary Tree](./breadth-first-search/univalued-binary-tree.js)\n\n### Database\n\n- [Recyclable And Low Fat Products](./database/recyclable-and-low-fat-products.js)\n- [Find Total Time Spent By Each Employee](./database/find-total-time-spent.js)\n- [Daily Leads And Partners](./database/daily-leads-and-partners.js)\n- [Number of Unique Subjects Taught by Each Teacher](./database/number-of-unique-subjects.js)\n- [Rearrange Products Table](./database/rearrange-products-table.js)\n- [Invalid Tweets](./database/invalid-tweets.js)\n- [Bank Account Summary II](./database/bank-account-summary-ii.js)\n- [Swap Salary](./database/swap-salary.js)\n- [Replace Employee ID With The Unique Identifier](./database/replace-employee-id-with-unique-id.js)\n- [Product Sales Analysis I](./database/product-sales-analysis-i.js)\n- [Reformat Department Table](./database/reformat-department-table.js)\n\n### Depth First Search\n\n- [Range Sum of BST](./depth-first-search/range-sum-of-bst.js)\n- [Find a Corresponding Node of a Binary Tree in a Clone of That Tree](./depth-first-search/find-node-in-cloned-binary-tree.js)\n- [Merge Two Binary Trees](./depth-first-search/merge-two-binary-trees.js)\n- [Increasing Order Search Tree](./depth-first-search/increasing-order-search-tree.js)\n- [Sum of Root To Leaf Binary Numbers](./depth-first-search/sum-of-root-to-leaf-binary-numbers.js)\n\n### Dynamic Programming\n\n- [Fibonacci Number](./dynamic-programming/fibonacci-number.js)\n- [Counting Bits](./dynamic-programming/counting-bits.js)\n- [Divisor Game](./dynamic-programming/divisor-game.js)\n- [Min Cost Climbing Stairs](./dynamic-programming/min-cost-climbing-stairs.js)\n- [N-th Tribonacci Number](./dynamic-programming/n-th-tribonacci-number.js)\n- [Is Subsequence](./dynamic-programming/is-subsequence.js)\n- [Maximum Subarray](./dynamic-programming/maximum-subarray.js)\n- [House Robber](./dynamic-programming/house-robber.js)\n\n### Easy\n\n- [Add Two Integers](./easy/add-two-integers.js)\n- [Fizz Buzz](./easy/fizz-buzz.js)\n- [Two Sum](./easy/two-sum.js)\n- [Best Time To Buy And Sell Stock](./easy/best-time-to-buy-and-sell-stock.js)\n- [Majority Element](./easy/majority-element.js)\n- [Return Length of Arguments Passed](./easy/return-length-of-arguments-passed.js)\n- [Add Two Promises](./easy/add-two-promises.js)\n- [Timeout Cancellation](./easy/timeout-cancellation.js)\n- [Design Parking System](./easy/design-parking-system.js)\n- [Array Wrapper](./easy/array-wrapper.js)\n- [Sleep](./easy/sleep.js)\n- [Function Composition](./easy/function-composition.js)\n- [Allow One Function Call](./easy/allow-one-function-call.js)\n- [Apply Transform Over Each Element In Array](./easy/apply-transform-over-each-element.js)\n- [Generate Fibonacci Sequence](./easy/generate-fibonacci-sequence.js)\n- [Sort By](./easy/sort-by.js)\n- [Create Hello World Function](./easy/create-hello-word-function.js)\n- [Interval Cancellation](./easy/interval-cancellation.js)\n- [Counter](./easy/counter.js)\n- [To Be Or Not To Be](./easy/to-be-or-not-to-be.js)\n- [Counter II](./easy/counter-ii.js)\n- [Is Object Empty](./easy/is-object-empty.js)\n- [Array Prototype Last](./easy/array-prototype-last.js)\n- [Calculator with Method Chaining](./easy/calculator-with-method-chaining.js)\n\n### Graph\n\n- [Disjoint Set](./graph/disjoint-set.js)\n- [Disjoint Set Efficient](./graph/disjoint-set-efficient.js)\n- [Number Of Provinces](./graph/number-of-provinces.js)\n- [Smallest String With Swaps](./graph/smallest-string-with-swaps.js)\n- [Find Center of Star Graph](./graph/find-center-of-star-graph.js)\n\n### Greedy\n\n- [Maximum Odd Binary Number](./greedy/maximum-odd-binary-number.js)\n- [Maximum 69 Number](./greedy/maximum-69-number.js)\n- [Maximum Sum With Exactly K Elements](./greedy/maximize-sum.js)\n- [Lexicographically Smallest Palindrome](./greedy/lexicographically-smallest-palindrome.js)\n- [Minimum Operations to Make the Array Increasing](./greedy/min-operations.js)\n- [DI String Match](./greedy/di-string-match.js)\n- [Minimum Time to Type Word Using Special Typewriter](./greedy/min-time-to-type.js)\n- [Best Time to Buy and Sell Stock II](./greedy/best-time-to-buy-and-sell-stock-ii.js)\n- [Can Place Flowers](./greedy/can-place-flowers.js)\n- [Partitioning Into Minimum Number Of Deci-Binary Numbers](./greedy/partition-into-min-deci-binary-numbers.js)\n\n### Hash Table\n\n- [Two Sum](./hash-table/two-sum.js)\n- [Ransom Note](./hash-table/ransom-note.js)\n- [Design Hash Set](./hash-table/design-hash-set.js)\n- [Design Hash Map](./hash-table/design-hash-map.js)\n- [Find Duplicates By Hash Set](./hash-table/find-duplicates-by-hash-set.js)\n- [Contains Duplicate](./hash-table/contains-duplicate.js)\n- [Single Number](./hash-table/single-number.js)\n- [Intersection Of Two Arrays](./hash-table/intersection-of-two-arrays.js)\n- [Happy Number](./hash-table/happy-number.js)\n- [Isomorphic Strings](./hash-table/isomorphic-strings.js)\n- [Minimum Index Sum Of Two Lists](./hash-table/minimum-index-sum-of-two-lists.js)\n- [First Unique Character In A String](./hash-table/first-unique-character-in-a-string.js)\n- [Intersection Of Two Arrays II](./hash-table/intersection-of-two-arrays-ii.js)\n- [Contains Duplicate II](./hash-table/contains-duplicate-ii.js)\n- [Group Anagrams](./hash-table/group-anagrams.js)\n- [Valid Sudoku](./hash-table/valid-sudoku.js)\n- [Find Duplicate Subtrees](./hash-table/find-duplicate-subtrees.js)\n- [Jewels And Stones](./hash-table/jewels-and-stones.js)\n- [Longest Substring Without Repeating Characters](./hash-table/longest-without-repeating-chars.js)\n- [4Sum II](./hash-table/4sum-ii.js)\n- [Top K Frequent Elements](./hash-table/top-k-frequent-elements.js)\n- [Insert Delete GetRandom O(1)](./hash-table/insert-delete-get-random.js)\n- [Number of Good Pairs](./hash-table/number-of-good-pairs.js)\n- [How Many Numbers Are Smaller Than the Current Number](./hash-table/smaller-numbers-than-current.js)\n- [Decode the Message](./hash-table/decode-the-message.js)\n- [Number of Arithmetic Triplets](./hash-table/number-of-arithmetic-triplets.js)\n- [Check if the Sentence Is Pangram](./hash-table/check-if-the-sentence-is-pangram.js)\n- [Kth Distinct String in an Array](./hash-table/kth-distinct-string-in-an-array.js)\n- [Find the XOR of Numbers Which Appear Twice](./hash-table/find-xor-of-twice-numbers.js)\n- [Rings and Rods](./hash-table/rings-and-rods.js)\n- [Sort Array by Increasing Frequency](./hash-table/sort-array-by-increasing-freq.js)\n- [Sum of Unique Elements](./hash-table/sum-of-unique-elements.js)\n- [Check if All Characters Have Equal Number of Occurrences](./hash-table/are-occurrences-equal.js)\n- [Unique Number of Occurrences](./hash-table/unique-number-of-occurrences.js)\n- [Find the Distinct Difference Array](./hash-table/find-distinct-difference-array.js)\n- [N-Repeated Element in Size 2N Array](./hash-table/n-repeated-element-in-2n-array.js)\n- [Merge Similar Items](./hash-table/merge-similar-items.js)\n- [Two Out of Three](./hash-table/two-out-of-three.js)\n- [Make Two Arrays Equal by Reversing Subarrays](./hash-table/make-two-arrays-equal.js)\n- [Maximum Number of Pairs in Array](./hash-table/maximum-number-of-pairs.js)\n- [Remove Letter To Equalize Frequency](./hash-table/remove-letter-to-equalize-freq.js)\n- [The Two Sneaky Numbers of Digitville](./hash-table/the-two-sneaky-numbers.js)\n\n### Heap\n\n- [Implement Min Heap](./heap/implement-min-heap.js)\n- [Implement Max Heap](./heap/implement-max-heap.js)\n- [Take Gifts From the Richest Pile](./heap/take-gifts-from-the-richest-pile.js)\n\n### Linked List\n\n- [Design Linked List](./linked-list/design-linked-list.js)\n- [Design Doubly Linked List](./linked-list/design-doubly-linked-list.js)\n- [Middle Of Linked List](./linked-list/middle-of-linked-list.js)\n- [Linked List Cycle](./linked-list/linked-list-cycle.js)\n- [Linked List Cycle II](./linked-list/linked-list-cycle-ii.js)\n- [Intersection Of Two Linked Lists](./linked-list/intersection-of-two-linked-lists.js)\n- [Remove Nth Node From End Of List](./linked-list/remove-nth-node-from-end.js)\n- [Reverse Linked List](./linked-list/reverse-linked-list.js)\n- [Remove Linked List Elements](./linked-list/remove-linked-list-elements.js)\n- [Odd Even Linked List](./linked-list/odd-even-linked-list.js)\n- [Palindrome Linked List](./linked-list/palindrome-linked-list.js)\n- [Merge Two Sorted Lists](./linked-list/merge-two-sorted-lists.js)\n- [Add Two Numbers](./linked-list/add-two-numbers.js)\n- [Print Multilevel Linked List](./linked-list/print-multilevel-linked-list.js)\n- [Flatten Multilevel Linked List](./linked-list/flatten-multilevel-linked-list.js)\n- [Copy List With Random Pointer](./linked-list/copy-list-with-random-pointer.js)\n- [Rotate List](./linked-list/rotate-list.js)\n- [Remove Duplicates from Sorted List](./linked-list/remove-duplicates-from-sorted-list.js)\n- [Delete Node in a Linked List](./linked-list/delete-node-in-a-linked-list.js)\n- [Convert Binary Number in a Linked List to Integer](./linked-list/convert-linked-list-binary-to-int.js)\n- [Insert Greatest Common Divisors in Linked List](./linked-list/insert-greatest-common-divisors.js)\n- [Merge Nodes in Between Zeros](./linked-list/merge-nodes-in-between-zeros.js)\n\n### Math\n\n- [Number Of Steps To Reduce A Number To Zero](./math/number-of-steps-to-reduce-a-number-to-zero.js)\n- [Find the Maximum Achievable Number](./math/find-maximum-achievable-number.js)\n- [Convert The Temperature](./math/convert-the-temperature.js)\n- [Divisible and Non-divisible Sums Difference](./math/difference-of-sums.js)\n- [Smallest Even Multiple](./math/smallest-even-multiple.js)\n- [Subtract the Product and Sum of Digits of an Integer](./math/subtract-product-and-sum.js)\n- [Minimum Sum of Four Digit Number After Splitting Digits](./math/minimum-sum.js)\n- [Count Primes](./math/count-primes.js)\n- [Power of Three](./math/power-of-three.js)\n- [Roman to Integer](./math/roman-to-integer.js)\n- [Count of Matches in Tournament](./math/count-of-matches-in-tournament.js)\n- [Sum Multiples](./math/sum-multiples.js)\n- [Shuffle an Array](./math/shuffle-an-array.js)\n- [Count the Digits That Divide a Number](./math/count-the-digits-that-divide-a-number.js)\n- [Find the Pivot Integer](./math/find-the-pivot-integer.js)\n- [Harshad Number](./math/harshad-number.js)\n- [A Number After a Double Reversal](./math/a-number-after-a-double-reversal.js)\n- [Number of Common Factors](./math/number-of-common-factors.js)\n- [Self Dividing Numbers](./math/self-dividing-numbers.js)\n- [Determine Color of a Chessboard Square](./math/determine-color-of-chessboard-square.js)\n- [Calculate Money in Leetcode Bank](./math/calculate-money-in-leetcode-bank.js)\n- [Calculate Delayed Arrival Time](./math/calculate-delayed-arrival-time.js)\n- [Find the Key of the Numbers](./math/find-the-key-of-the-numbers.js)\n- [Find N Unique Integers Sum up to Zero](./math/find-n-unique-int-sum-up-to-zero.js)\n- [Count Partitions with Even Sum Difference](./math/count-partitions-even-sum-difference.js)\n\n### Matrix\n\n- [Flood Fill](./matrix/flood-fill.js)\n- [01 Matrix](./matrix/01-matrix.js)\n- [Rotate Image](./matrix/rotate-image.js)\n- [Magic Squares In Grid](./matrix/magic-squares-in-grid.js)\n- [Regions Cut By Slashes](./matrix/regions-cut-by-slashes.js)\n- [Snake in Matrix](./matrix/snake-in-matrix.js)\n- [Lucky Numbers in a Matrix](./matrix/lucky-numbers-in-a-matrix.js)\n- [Delete Greatest Value in Each Row](./matrix/delete-greatest-value-in-each-row.js)\n- [Find Missing and Repeated Values](./matrix/find-missing-and-repeated-values.js)\n\n### Medium\n\n- [Memoize](./medium/memoize.js)\n- [Join Two Arrays by ID](./medium/join-two-arrays-by-id.js)\n- [Execute Asynchronous Functions in Parallel](./medium/execute-async-functions-in-parallel.js)\n- [Debounce](./medium/debounce.js)\n\n### Queue\n\n- [Design Circular Queue](./queue/design-circular-queue.js)\n- [Number of Islands](./queue/number-of-islands.js)\n- [Open The Lock](./queue/open-the-lock.js)\n- [Perfect Squares](./queue/perfect-squares.js)\n- [Queue Technique Template](./queue/queue-technique-template.js)\n- [Implement Queue Using Stacks](./queue/implement-queue-using-stacks.js)\n- [Number of Recent Calls](./queue/number-of-recent-calls.js)\n\n### Recursion\n\n- [Fibonacci Number](./recursion/fibonacci-number.js)\n- [Print Reverse](./recursion/print-reverse.js)\n- [Reverse String](./recursion/reverse-string.js)\n- [Swap Nodes In Pairs](./recursion/swap-nodes-in-pairs.js)\n- [Reverse Linked List](./recursion/reverse-linked-list.js)\n- [Search In A Binary Search Tree](./recursion/search-in-a-binary-search-tree.js)\n- [Pascal Triangle II](./recursion/pascal-triangle-ii.js)\n- [Climbing Stairs](./recursion/climbing-stairs.js)\n- [Maximum Depth Of Binary Tree](./recursion/maximum-depth-of-binary-tree.js)\n- [Merge Two Sorted Lists](./recursion/merge-two-sorted-lists.js)\n- [K-th Symbol In Grammar](./recursion/k-th-symbol-in-grammar.js)\n- [Unique Binary Search Trees II](./recursion/unique-binary-search-trees-ii.js)\n- [Search a 2D Matrix II](./recursion/search-a-2d-matrix-ii.js)\n- [N Queens II](./recursion/n-queens-ii.js)\n- [Sudoku Solver](./recursion/sudoku-solver.js)\n- [Combinations](./recursion/combinations.js)\n- [Same Tree](./recursion/same-tree.js)\n- [Generate Parentheses](./recursion/generate-parentheses.js)\n- [Largest Rectangle In Histogram](./recursion/largest-rectangle-in-histogram.js)\n- [Permutations](./recursion/permutations.js)\n- [Letter Combinations of a Phone Number](./recursion/letter-combinations-phone-number.js)\n- [The Skyline Problem](./recursion/the-skyline-problem.js)\n\n### Sorting\n\n- [Widest Vertical Area Between Two Points Containing No Points](./sorting/max-width-of-vertical-area.js)\n- [Count Pairs Whose Sum is Less than Target](./sorting/count-pairs.js)\n- [Minimum Number Game](./sorting/minimum-number-game.js)\n- [Sorting the Sentence](./sorting/sorting-the-sentence.js)\n- [Maximum Product Difference Between Two Pairs](./sorting/max-product-difference.js)\n- [Maximum Product of Two Elements in an Array](./sorting/max-product-of-two-elements.js)\n- [Minimum Number of Moves to Seat Everyone](./sorting/min-moves-to-seat.js)\n- [Neither Minimum nor Maximum](./sorting/neither-minimum-nor-maximum.js)\n- [Transform Array by Parity](./sorting/transform-array-by-parity.js)\n\n### Stack\n\n- [Design Stack](./stack/design-stack.js)\n- [Min Stack](./stack/min-stack.js)\n- [Valid Parentheses](./stack/valid-parentheses.js)\n- [Daily Temperatures](./stack/daily-temperatures.js)\n- [Evaluate Reverse Polish Notation](./stack/evaluate-reverse-polish-notation.js)\n- [Clone Graph](./stack/clone-graph.js)\n- [Depth First Search Template II](./stack/depth-first-search-template-ii.js)\n- [Target Sum](./stack/target-sum.js)\n- [Implement Stack Using Queues](./stack/implement-stack-using-queues.js)\n- [Decode String](./stack/decode-string.js)\n- [Flood Fill](./stack/flood-fill.js)\n- [Keys And Rooms](./stack/keys-and-rooms.js)\n\n### String\n\n- [Add Binary](./string/add-binary.js)\n- [Implement StrStr](./string/implement-strstr.js)\n- [Longest Common Prefix](./string/longest-common-prefix.js)\n- [Reverse String](./string/reverse-string.js)\n- [Reverse Words In A String](./string/reverse-words-in-a-string.js)\n- [Reverse Words In A String III](./string/reverse-words-in-a-string-iii.js)\n- [Defanging An IP Address](./string/defanging-an-ip-address.js)\n- [Final Value Of Variable After Performing Operations](./string/final-value-after-operations.js)\n- [Goal Parser Interpretation](./string/goal-parser-interpretation.js)\n- [Maximum Number of Words Found in Sentences](./string/maximum-words-found.js)\n- [Find Words Containing Character](./string/find-words-containing-character.js)\n- [Split A String In Balanced Strings](./string/split-a-string-in-balanced-strings.js)\n- [Check If Two String Arrays Are Equivalent](./string/array-strings-are-equal.js)\n- [Count Items Matching A Rule](./string/count-items-matching-a-rule.js)\n- [Length of Last Word](./string/length-of-last-word.js)\n- [Score of a String](./string/score-of-a-string.js)\n- [Valid Palindrome](./string/valid-palindrome.js)\n- [Permutation Difference between Two Strings](./string/permutation-difference.js)\n- [Reverse Prefix of Word](./string/reverse-prefix-of-word.js)\n- [Reverse Integer](./string/reverse-integer.js)\n- [Valid Anagram](./string/valid-anagram.js)\n- [String to Integer (atoi)](./string/string-to-integer.js)\n- [Merge Strings Alternately](./string/merge-strings-alternately.js)\n- [Greatest Common Divisor of Strings](./string/greatest-common-divisor.js)\n- [Reverse Vowels of a String](./string/reverse-vowels-of-a-string.js)\n- [Decode the Message](./string/decode-the-message.js)\n- [Cells in a Range on an Excel Sheet](./string/cells-in-range-on-an-excel-sheet.js)\n- [Faulty Keyboard](./string/faulty-keyboard.js)\n- [Maximum Nesting Depth of the Parentheses](./string/max-depth-of-parentheses.js)\n- [Remove Outermost Parentheses](./string/remove-outermost-parentheses.js)\n- [To Lower Case](./string/to-lower-case.js)\n- [Count Asterisks](./string/count-asterisks.js)\n- [Replace All Digits with Characters](./string/replace-all-digits-with-characters.js)\n- [Number of Strings That Appear as Substrings in Word](./string/number-of-strings-as-substrings.js)\n- [Number of Changing Keys](./string/number-of-changing-keys.js)\n- [Minimum Number of Chairs in a Waiting Room](./string/minimum-number-of-chairs.js)\n- [Count Substrings That Satisfy K-Constraint I](./string/count-k-constraint-substrings-i.js)\n- [Check Balanced String](./string/check-balanced-string.js)\n- [Decrypt String from Alphabet to Integer Mapping](./string/decrypt-string-alphabet-to-integer.js)\n- [Remove Trailing Zeros From a String](./string/remove-trailing-zeros-from-a-string.js)\n- [Determine if String Halves Are Alike](./string/determine-if-halves-are-alike.js)\n- [Generate a String With Characters That Have Odd Counts](./string/generate-odd-counts-string.js)\n- [Minimum String Length After Removing Substrings](./string/min-length-after-removing-substrings.js)\n- [Increasing Decreasing String](./string/increasing-decreasing-string.js)\n- [Remove Palindromic Subsequences](./string/remove-palindromic-subsequences.js)\n- [Minimize String Length](./string/minimize-string-length.js)\n- [Robot Return to Origin](./string/robot-return-to-origin.js)\n- [Check If Digits Are Equal in String After Operations I](./string/check-if-digits-are-equal-i.js)\n- [Split Strings by Separator](./string/split-strings-by-separator.js)\n\n### Tree\n\n- [Invert Binary Tree](./tree/invert-binary-tree.js)\n- [Binary Tree Inorder Traversal](./tree/binary-tree-inorder-traversal.js)\n- [Binary Tree Preorder Traversal](./tree/binary-tree-preorder-traversal.js)\n- [Binary Tree Postorder Traversal](./tree/binary-tree-postorder-traversal.js)\n- [Binary Tree Level Order Traversal](./tree/binary-tree-level-order-traversal.js)\n- [N-ary Tree Preorder Traversal](./tree/n-ary-tree-preorder-traversal.js)\n- [N-ary Tree Postorder Traversal](./tree/n-ary-tree-postorder-traversal.js)\n- [N-ary Tree Level Order Traversal](./tree/n-ary-tree-level-order-traversal.js)\n- [Search In A Binary Search Tree](./tree/search-in-a-binary-search-tree.js)\n- [Insert Into A Binary Search Tree](./tree/insert-into-a-binary-search-tree.js)\n- [Delete Node In A Binary Search Tree](./tree/delete-node-in-a-bst.js)\n- [Root Equal Sum Of Children](./tree/root-equal-sum-of-children.js)\n- [Maximum Depth Of Binary Tree](./tree/maximum-depth-of-binary-tree.js)\n- [Symmetric Tree](./tree/symmetric-tree.js)\n- [Path Sum](./tree/path-sum.js)\n- [Construct Binary Tree From Inorder And Postorder Traversal](./tree/construct-binary-tree-from-inorder-postorder.js)\n- [Construct Binary Tree From Preorder And Inorder Traversal](./tree/construct-binary-tree-from-preorder-inorder.js)\n- [Populating Next Right Pointers in Each Node](./tree/populating-next-right-pointers.js)\n- [Populating Next Right Pointers in Each Node II](./tree/populating-next-right-pointers-ii.js)\n- [Lowest Common Ancestor of a Binary Tree](./tree/lowest-common-ancestor.js)\n- [Serialize And Deserialize Binary Tree](./tree/serialize-and-deserialize.js)\n- [Maximum Depth Of N-ary Tree](./tree/maximum-depth-of-n-ary-tree.js)\n- [Validate Binary Search Tree](./tree/validate-binary-search-tree.js)\n- [Binary Search Tree Iterator](./tree/binary-search-tree-iterator.js)\n- [Kth Largest Element In A Stream](./tree/kth-largest-element-in-a-stream.js)\n- [Lowest Common Ancestor of a Binary Search Tree](./tree/lowest-common-ancestor-of-a-bst.js)\n- [Contains Duplicate III](./tree/contains-duplicate-iii.js)\n- [Balanced Binary Tree](./tree/balanced-binary-tree.js)\n- [Convert Sorted Array To Binary Search Tree](./tree/convert-sorted-array-to-bst.js)\n- [Diameter Of Binary Tree](./tree/diameter-of-binary-tree.js)\n- [Minimum Depth of Binary Tree](./tree/minimum-depth-of-binary-tree.js)\n- [Evaluate Boolean Binary Tree](./tree/evaluate-boolean-binary-tree.js)\n\n### Trie\n\n- [Implement Trie](./trie/implement-trie.js)\n- [Map Sum Pairs](./trie/map-sum-pairs.js)\n- [Replace Words](./trie/replace-words.js)\n- [Add and Search Word - Data structure design](./trie/add-and-search-word.js)\n- [Palindrome Pairs](./trie/palindrome-pairs.js)\n\n## Compare the execution time of two functions\n\nTo compare the execution time of two functions, you can use the `time` utility function from the `utils.js` file.\n\n```js\nimport { time } from '../utils.js'\n\nfunction sum(a, b) {\n  return a + b\n}\n\nconsole.log(time(() =\u003e sum(1, 2))) // 0.0001ms\n```\n\nYou can also use `console.time` and `console.timeEnd` to measure the execution time of a function.\n\n```js\nconsole.time('sum')\nsum(1, 2)\nconsole.timeEnd('sum') // sum: 0.0001ms\n```\n\n## License\n\n- [MIT](LICENSE.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femanuelefavero%2Fleetcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femanuelefavero%2Fleetcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femanuelefavero%2Fleetcode/lists"}