A collection of LeetCode problems implemented in JavaScript with detailed complexity analysis and explanations.
| # | Problem | Difficulty | Pattern | Time | Space |
|---|---|---|---|---|---|
| 7 | Reverse Integer | Medium | Bit Manipulation | O(n) | O(1) |
| 10 | Regular Expression Matching | Hard | Dynamic Programming | O(n) | O(n) |
| 11 | Container With Most Water | Medium | Two Pointers | O(n) | O(1) |
| 12 | Integer to Roman | Medium | Heap | O(n) | O(n) |
| 15 | 3Sum | Medium | Binary Search | O(log n) | O(1) |
| 16 | 3Sum Closest | Medium | Binary Search | O(log n) | O(1) |
| 17 | Letter Combinations of a Phone Number | Medium | Backtracking | O(n) | O(1) |
| 19 | Remove Nth Node From End of List | Medium | Fast & Slow Pointers | O(n) | O(1) |
| 20 | Valid Parentheses | Easy | Stack & Queue | O(n) | O(n) |
| 62 | Unique Paths | Medium | Binary Search | O(n) | O(1) |
| 72 | Edit Distance | Medium | Array / General | O(n) | O(1) |
| 73 | Set Matrix Zeroes | Medium | Tree & Graph | O(n) | O(n) |
| 86 | Partition List | Medium | Two Pointers | O(n) | O(1) |
| 87 | Scramble String | Hard | Array / General | O(n) | O(1) |
| 89 | Gray Code | Medium | Bit Manipulation | O(n) | O(1) |
| 90 | Subsets II | Medium | Array / General | O(n) | O(1) |
| 91 | Decode Ways | Medium | Bit Manipulation | O(n) | O(1) |
| 92 | Reverse Linked List II | Medium | Two Pointers | O(n) | O(1) |
| 93 | Restore IP Addresses | Medium | Array / General | O(n) | O(1) |
| 95 | Unique Binary Search Trees II | Medium | Binary Search | O(n) | O(1) |
| 96 | Unique Binary Search Trees | Medium | Binary Search | O(n) | O(1) |
| 97 | Interleaving String | Medium | Array / General | O(n) | O(1) |
| 98 | Validate Binary Search Tree | Medium | Binary Search | O(n) | O(1) |
| 99 | Recover Binary Search Tree | Medium | Binary Search | O(n) | O(1) |
| 102 | Binary Tree Level Order Traversal | Medium | Tree & Graph | O(n) | O(n) |
| 103 | Binary Tree Zigzag Level Order Traversal | Medium | Tree & Graph | O(n) | O(n) |
| 104 | Maximum Depth of Binary Tree | Easy | Binary Search | O(n) | O(1) |
| 105 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | Tree & Graph | O(n) | O(n) |
| 106 | Construct Binary Tree from Inorder and Postorder Traversal | Medium | Tree & Graph | O(n) | O(n) |
| 114 | Flatten Binary Tree to Linked List | Medium | Two Pointers | O(n) | O(1) |
| 115 | Distinct Subsequences | Hard | Dynamic Programming | O(n) | O(n) |
| 117 | Populating Next Right Pointers in Each Node II | Medium | Stack & Queue | O(n) | O(n) |
| 120 | Triangle | Medium | Math & Logic | O(n) | O(1) |
| 122 | Best Time to Buy and Sell Stock II | Medium | Array / General | O(n) | O(1) |
| 123 | Best Time to Buy and Sell Stock III | Hard | Array / General | O(n) | O(1) |
| 124 | Binary Tree Maximum Path Sum | Hard | Tree & Graph | O(n) | O(n) |
| 127 | Word Ladder | Hard | Hash Map | O(n) | O(n) |
| 128 | Longest Consecutive Sequence | Medium | Array / General | O(n) | O(1) |
| 129 | Sum Root to Leaf Numbers | Medium | Tree & Graph | O(n) | O(n) |
| 130 | Surrounded Regions | Medium | Array / General | O(n) | O(1) |
| 133 | Clone Graph | Medium | Tree & Graph | O(n) | O(n) |
| 134 | Gas Station | Medium | Array / General | O(n) | O(1) |
| 135 | Candy | Hard | Array / General | O(n) | O(1) |
| 136 | Single Number | Easy | Array / General | O(n) | O(1) |
| 137 | Single Number II | Medium | Array / General | O(n) | O(1) |
| 138 | Copy List with Random Pointer | Medium | Two Pointers | O(n) | O(1) |
| 139 | Word Break | Medium | Hash Map | O(n) | O(n) |
| 146 | LRU Cache | Medium | Array / General | O(n) | O(1) |
| 148 | Sort List | Medium | Two Pointers | O(n) | O(1) |
| 151 | Reverse Words in a String | Medium | Array / General | O(n) | O(1) |
| 155 | Min Stack | Medium | Stack & Queue | O(n) | O(n) |
| 162 | Find Peak Element | Medium | Binary Search | O(log n) | O(1) |
| 167 | Two Sum Ii Input Array Is Sorted | Medium | Array / General | O(n) | O(1) |
| 172 | Factorial Trailing Zeroes | Medium | Array / General | O(n) | O(1) |
| 173 | Binary Search Tree Iterator | Medium | Binary Search | O(n) | O(1) |
| 188 | Best Time to Buy and Sell Stock IV | Hard | Array / General | O(n) | O(1) |
| 189 | Rotate Array | Medium | Math & Logic | O(n) | O(1) |
| 191 | Number of 1 Bits | Easy | Bit Manipulation | O(n) | O(1) |
| 198 | House Robber | Medium | Tree & Graph | O(n) | O(n) |
| 199 | Binary Tree Right Side View | Medium | Binary Search | O(n) | O(1) |
| 200 | Number of Islands | Medium | Array / General | O(n) | O(1) |
| 201 | Bitwise AND of Numbers Range | Medium | Bit Manipulation | O(n) | O(1) |
| 204 | Count Primes | Medium | Tree & Graph | O(n) | O(n) |
| 206 | Reverse Linked List | Easy | Two Pointers | O(n) | O(1) |
| 207 | Course Schedule | Medium | Array / General | O(n) | O(1) |
| 208 | Implement Trie (Prefix Tree) | Medium | Trie | O(n) | O(n) |
| 209 | Minimum Size Subarray Sum | Medium | Binary Search | O(n) | O(1) |
| 210 | Course Schedule II | Medium | Array / General | O(n) | O(1) |
| 211 | Design Add and Search Words Data Structure | Medium | Hash Map | O(n) | O(n) |
| 212 | Word Search II | Hard | Binary Search | O(n) | O(1) |
| 215 | Kth Largest Element in an Array | Medium | Array / General | O(n) | O(1) |
| 216 | Combination Sum III | Medium | Backtracking | O(n) | O(1) |
| 218 | The Skyline Problem | Hard | Dynamic Programming | O(n) | O(n) |
| 221 | Maximal Square | Medium | Array / General | O(n) | O(1) |
| 222 | Count Complete Tree Nodes | Medium | Two Pointers | O(n) | O(1) |
| 224 | Basic Calculator | Hard | Bit Manipulation | O(n) | O(1) |
| 230 | Kth Smallest Element in a BST | Medium | Binary Search | O(n) | O(1) |
| 232 | Implement Queue using Stacks | Easy | Trie | O(n) | O(n) |
| 236 | Lowest Common Ancestor of a Binary Tree | Medium | Binary Search | O(n) | O(1) |
| 238 | Product of Array Except Self | Medium | Bit Manipulation | O(n) | O(1) |
| 274 | H-Index | Medium | Array / General | O(n) | O(1) |
| 275 | H-Index II | Medium | Array / General | O(n) | O(1) |
| 283 | Move Zeroes | Easy | Array / General | O(n) | O(1) |
| 289 | Game of Life | Medium | Math & Logic | O(n) | O(1) |
| 295 | Find Median from Data Stream | Hard | Array / General | O(n) | O(1) |
| 300 | Longest Increasing Subsequence | Medium | Binary Search | O(n) | O(1) |
| 307 | Range Sum Query Mutable | Medium | Array / General | O(n) | O(1) |
| 315 | Count of Smaller Numbers After Self | Hard | Array / General | O(n) | O(1) |
| 322 | Coin Change | Medium | Array / General | O(n) | O(1) |
| 327 | Count of Range Sum | Hard | Bit Manipulation | O(n) | O(1) |
| 328 | Odd Even Linked List | Medium | Two Pointers | O(n) | O(1) |
| 334 | Increasing Triplet Subsequence | Medium | Dynamic Programming | O(n) | O(n) |
| 338 | Counting Bits | Easy | Binary Search | O(n) | O(1) |
| 345 | Reverse Vowels of a String | Easy | Array / General | O(n) | O(1) |
| 354 | Russian Doll Envelopes | Hard | Array / General | O(n) | O(1) |
| 373 | Find K Pairs with Smallest Sums | Medium | Array / General | O(n) | O(1) |
| 374 | Guess Number Higher or Lower | Easy | Array / General | O(n) | O(1) |
| 380 | Insert Delete GetRandom O(1) | Medium | Array / General | O(n) | O(1) |
| 392 | Is Subsequence | Easy | Dynamic Programming | O(n) | O(n) |
| 394 | Decode String | Medium | Array / General | O(n) | O(1) |
| 399 | Evaluate Division | Medium | Stack & Queue | O(n) | O(n) |
| 406 | Queue Reconstruction by Height | Medium | Stack & Queue | O(n) | O(n) |
| 427 | Construct Quad Tree | Medium | Tree & Graph | O(n) | O(n) |
| 433 | Minimum Genetic Mutation | Medium | Sliding Window | O(n) | O(1) |
| 435 | Non-overlapping Intervals | Medium | Heap | O(n) | O(n) |
| 436 | Find Right Interval | Medium | Heap | O(n) | O(n) |
| 437 | Path Sum III | Medium | Tree & Graph | O(n) | O(n) |
| 443 | String Compression | Medium | Array / General | O(n) | O(1) |
| 450 | Delete Node in a BST | Medium | Binary Search | O(n) | O(1) |
| 452 | Minimum Number of Arrows to Burst Balloons | Medium | Array / General | O(n) | O(1) |
| 459 | Repeated Substring Pattern | Easy | Array / General | O(n) | O(1) |
| 482 | License Key Formatting | Easy | Array / General | O(n) | O(1) |
| 493 | Reverse Pairs | Hard | Array / General | O(n) | O(1) |
| 502 | IPO | Hard | Bit Manipulation | O(n) | O(1) |
| 520 | Detect Capital | Easy | Array / General | O(n) | O(1) |
| 528 | Random Pick with Weight | Medium | Array / General | O(n) | O(1) |
| 540 | Single Element in a Sorted Array | Medium | Binary Search | O(log n) | O(1) |
| 547 | Number of Provinces | Medium | Array / General | O(n) | O(1) |
| 605 | Can Place Flowers | Easy | Array / General | O(n) | O(1) |
| 611 | Valid Triangle Number | Medium | Math & Logic | O(n) | O(1) |
| 643 | Maximum Average Subarray I | Easy | Array / General | O(n) | O(1) |
| 649 | Dota2 Senate | Medium | Array / General | O(n) | O(1) |
| 658 | Find K Closest Elements | Medium | Array / General | O(n) | O(1) |
| 673 | Number of Longest Increasing Subsequence | Medium | Dynamic Programming | O(n) | O(n) |
| 686 | Repeated String Match | Medium | Array / General | O(n) | O(1) |
| 700 | Search in a Binary Search Tree | Easy | Binary Search | O(n) | O(1) |
| 714 | Best Time to Buy and Sell Stock with Transaction Fee | Medium | Array / General | O(n) | O(1) |
| 724 | Find Pivot Index | Easy | Array / General | O(n) | O(1) |
| 735 | Asteroid Collision | Medium | Array / General | O(n) | O(1) |
| 739 | Daily Temperatures | Medium | Monotonic Stack | O(n) | O(n) |
| 746 | Min Cost Climbing Stairs | Easy | Stack & Queue | O(n) | O(n) |
| 790 | Domino and Tromino Tiling | Medium | Array / General | O(n) | O(1) |
| 796 | Rotate String | Easy | Math & Logic | O(n) | O(1) |
| 831 | Masking Personal Information | Medium | Array / General | O(n) | O(1) |
| 835 | Image Overlap | Medium | Bit Manipulation | O(n²) | O(1) |
| 836 | Rectangle Overlap | Easy | Math & Logic | O(n) | O(1) |
| 841 | Keys and Rooms | Medium | Array / General | O(n) | O(1) |
| 852 | Peak Index in a Mountain Array | Medium | Binary Search | O(n) | O(1) |
| 872 | Leaf-Similar Trees | Easy | Binary Search | O(n) | O(1) |
| 875 | Koko Eating Bananas | Medium | Array / General | O(n) | O(1) |
| 901 | Online Stock Span | Medium | Array / General | O(n) | O(1) |
| 909 | Snakes and Ladders | Medium | Array / General | O(n) | O(1) |
| 918 | Maximum Sum Circular Subarray | Medium | Tree & Graph | O(n) | O(n) |
| 933 | Number of Recent Calls | Easy | Array / General | O(n) | O(1) |
| 940 | Distinct Subsequences II | Hard | Dynamic Programming | O(n) | O(n) |
| 981 | Time Based Key-Value Store | Medium | Array / General | O(n) | O(1) |
| 994 | Rotting Oranges | Medium | Array / General | O(n) | O(1) |
| 1004 | Max Consecutive Ones III | Medium | Array / General | O(n) | O(1) |
| 1046 | Last Stone Weight | Easy | Array / General | O(n) | O(1) |
| 1071 | Greatest Common Divisor of Strings | Easy | Array / General | O(n) | O(1) |
| 1096 | Brace Expansion II | Hard | Array / General | O(n) | O(1) |
| 1137 | N-th Tribonacci Number | Easy | Bit Manipulation | O(n) | O(1) |
| 1143 | Longest Common Subsequence | Medium | Dynamic Programming | O(n) | O(n) |
| 1146 | Snapshot Array | Medium | Array / General | O(n) | O(1) |
| 1157 | Online Majority Element In Subarray | Hard | Array / General | O(n) | O(1) |
| 1161 | Maximum Level Sum of a Binary Tree | Medium | Binary Search | O(n) | O(1) |
| 1207 | Unique Number of Occurrences | Easy | Array / General | O(n) | O(1) |
| 1268 | Search Suggestions System | Medium | Array / General | O(n) | O(1) |
| 1318 | Minimum Flips to Make a OR b Equal to c | Medium | Hash Map | O(n) | O(n) |
| 1354 | Construct Target Array With Multiple Sums | Hard | Array / General | O(n) | O(1) |
| 1372 | Longest ZigZag Path in a Binary Tree | Medium | Binary Search | O(n) | O(1) |
| 1395 | Count Number of Teams | Medium | Array / General | O(n) | O(1) |
| 1401 | Circle and Rectangle Overlapping | Medium | Math & Logic | O(n) | O(1) |
| 1409 | Queries on a Permutation With Key | Medium | Backtracking | O(n) | O(1) |
| 1431 | Kids With the Greatest Number of Candies | Easy | Array / General | O(n) | O(1) |
| 1448 | Count Good Nodes in Binary Tree | Medium | Binary Search | O(n) | O(1) |
| 1456 | Maximum Number of Vowels in a Substring of Given Length | Medium | Array / General | O(n) | O(1) |
| 1466 | Reorder Routes to Make All Paths Lead to the City Zero | Medium | Tree & Graph | O(n) | O(n) |
| 1477 | Find Two Non-overlapping Sub-arrays Each With Target Sum | Medium | Sliding Window | O(n) | O(1) |
| 1493 | Longest Subarray of 1's After Deleting One Element | Medium | Array / General | O(n) | O(1) |
| 1498 | Number of Subsequences That Satisfy the Given Sum Condition | Medium | Dynamic Programming | O(n) | O(n) |
| 1505 | Minimum Possible Integer After at Most K Adjacent Swaps On Digits | Hard | Math & Logic | O(n) | O(1) |
| 1520 | Maximum Number of Non-Overlapping Substrings | Hard | Heap | O(n) | O(n) |
| 1539 | Kth Missing Positive Number | Easy | Array / General | O(n) | O(1) |
| 1621 | Number of Sets of K Non-Overlapping Line Segments | Medium | Prefix Sum | O(n) | O(n) |
| 1649 | Create Sorted Array through Instructions | Hard | Array / General | O(n) | O(1) |
| 1657 | Determine if Two Strings Are Close | Medium | Array / General | O(n) | O(1) |
| 1658 | Minimum Operations to Reduce X to Zero | Medium | Sliding Window | O(n) | O(1) |
| 1679 | Max Number of K-Sum Pairs | Medium | Array / General | O(n) | O(1) |
| 1700 | Number of Students Unable to Eat Lunch | Easy | Stack & Queue | O(n) | O(n) |
| 1732 | Find the Highest Altitude | Easy | Array / General | O(n) | O(1) |
| 1926 | Nearest Exit from Entrance in Maze | Medium | Array / General | O(n) | O(1) |
| 1964 | Find the Longest Valid Obstacle Course at Each Position | Hard | Array / General | O(n) | O(1) |
| 1971 | Find if Path Exists in Graph | Easy | Dynamic Programming | O(n) | O(n) |
| 1974 | Minimum Time to Type Word Using Special Typewriter | Easy | Array / General | O(n) | O(1) |
| 1984 | Minimum Difference Between Highest and Lowest of K Scores | Easy | Array / General | O(n) | O(1) |
| 1991 | Find the Middle Index in Array | Easy | Array / General | O(n) | O(1) |
| 1995 | Count Special Quadruplets | Easy | Array / General | O(n) | O(1) |
| 2000 | Reverse Prefix of Word | Easy | Prefix Sum | O(n) | O(n) |
| 2011 | Final Value of Variable After Performing Operations | Easy | Array / General | O(n) | O(1) |
| 2027 | Minimum Moves to Convert String | Easy | Hash Map | O(n) | O(n) |
| 2042 | Check if Numbers Are Ascending in a Sentence | Easy | Array / General | O(n) | O(1) |
| 2047 | Number of Valid Words in a Sentence | Easy | Array / General | O(n) | O(1) |
| 2053 | Kth Distinct String in an Array | Easy | Array / General | O(n) | O(1) |
| 2062 | Count Vowel Substrings of a String | Easy | Array / General | O(n) | O(1) |
| 2068 | Check Whether Two Strings are Almost Equivalent | Easy | Hash Map | O(n) | O(n) |
| 2073 | Time Needed to Buy Tickets | Easy | Array / General | O(n) | O(1) |
| 2085 | Count Common Words With One Occurrence | Easy | Array / General | O(n) | O(1) |
| 2095 | Delete the Middle Node of a Linked List | Medium | Fast & Slow Pointers | O(n) | O(1) |
| 2103 | Rings and Rods | Easy | Array / General | O(n) | O(1) |
| 2108 | Find First Palindromic String in the Array | Easy | Array / General | O(n) | O(1) |
| 2109 | Adding Spaces to a String | Medium | Array / General | O(n) | O(1) |
| 2130 | Maximum Twin Sum of a Linked List | Medium | Fast & Slow Pointers | O(n) | O(1) |
| 2179 | Count Good Triplets in an Array | Hard | Tree & Graph | O(n) | O(n) |
| 2193 | Minimum Number of Moves to Make Palindrome | Hard | Two Pointers | O(n) | O(1) |
| 2215 | Find the Difference of Two Arrays | Easy | Array / General | O(n) | O(1) |
| 2250 | Count Number of Rectangles Containing Each Point | Medium | Math & Logic | O(n) | O(1) |
| 2265 | Count Nodes Equal to Average of Subtree | Medium | Two Pointers | O(n) | O(1) |
| 2286 | Booking Concert Tickets in Groups | Hard | Array / General | O(n) | O(1) |
| 2300 | Successful Pairs of Spells and Potions | Medium | Array / General | O(n) | O(1) |
| 2333 | Minimum Sum of Squared Difference | Medium | Array / General | O(n) | O(1) |
| 2336 | Smallest Number in Infinite Set | Medium | Bit Manipulation | O(n) | O(1) |
| 2352 | Equal Row and Column Pairs | Medium | Array / General | O(n) | O(1) |
| 2390 | Removing Stars From a String | Medium | Array / General | O(n) | O(1) |
| 2407 | Longest Increasing Subsequence II | Hard | Dynamic Programming | O(n) | O(n) |
| 2424 | Longest Uploaded Prefix | Medium | Prefix Sum | O(n) | O(n) |
| 2426 | Number of Pairs Satisfying Inequality | Hard | Array / General | O(n) | O(1) |
| 2462 | Total Cost to Hire K Workers | Medium | Array / General | O(n) | O(1) |
| 2472 | Maximum Number of Non-overlapping Palindrome Substrings | Hard | Two Pointers | O(n) | O(1) |
| 2507 | Smallest Value After Replacing With Sum of Prime Factors | Medium | Array / General | O(n) | O(1) |
| 2521 | Distinct Prime Factors of Product of Array | Medium | Array / General | O(n) | O(1) |
| 2523 | Closest Prime Numbers in Range | Medium | Bit Manipulation | O(n) | O(1) |
| 2542 | Maximum Subsequence Score | Medium | Dynamic Programming | O(n) | O(n) |
| 2618 | Check if Object Instance of Class | Medium | Array / General | O(n) | O(1) |
| 2619 | Array Prototype Last | Easy | Array / General | O(n) | O(1) |
| 2620 | Counter | Easy | Array / General | O(n) | O(1) |
| 2621 | Sleep | Easy | Array / General | O(n) | O(1) |
| 2622 | Cache With Time Limit | Medium | Hash Map | O(n) | O(n) |
| 2659 | Make Array Empty | Hard | Hash Map | O(n) | O(n) |
| 2736 | Maximum Sum Queries | Hard | Tree & Graph | O(n) | O(n) |
| 2778 | Sum of Squares of Special Elements | Easy | Array / General | O(n) | O(1) |
| 2867 | Count Valid Paths in a Tree | Hard | Tree & Graph | O(n) | O(n) |
| 2897 | Apply Operations on Array to Maximize Sum of Squares | Hard | Stack & Queue | O(n) | O(n) |
| 3044 | Most Frequent Prime | Medium | Hash Map | O(n) | O(n) |
| 3414 | Maximum Score of Non-overlapping Intervals | Hard | Heap | O(n) | O(n) |
| 3483 | Unique 3-Digit Even Numbers | Easy | Math & Logic | O(n) | O(1) |
| 3524 | Find X Value of Array I | Medium | Binary Search | O(n) | O(1) |
| 3525 | Find X Value of Array II | Hard | Binary Search | O(n) | O(1) |
| 3550 | Smallest Index With Digit Sum Equal to Index | Easy | Prefix Sum | O(n) | O(n) |
| 3727 | Maximum Alternating Sum of Squares | Medium | Tree & Graph | O(n) | O(n) |
| 3870 | Count Commas in Range | Easy | Tree & Graph | O(n) | O(n) |
| 3871 | Count Commas in Range II | Medium | Array / General | O(n) | O(1) |
| 3903 | Smallest Stable Index I | Easy | Tree & Graph | O(n) | O(n) |
| 3904 | Smallest Stable Index II | Medium | Array / General | O(n) | O(1) |