/LeetCodeJS

A collection of leet code problems with the solutions in JS

Primary LanguageJavaScript

Cookies not included, please bake your own.

This github is heavily modeled after kamyu104's LeetCode repository that has a lot of answers in Python and C++.

Eren and Sulamita are hard at work trying to bring you guys new problems each week so keep checking back! If you want to also contribute please feel free to do so.

(Notes: "📖" means you need to subscribe to LeetCode premium membership for the access to premium questions.) Clicking on the book will also take you to the google drive with screen shots.

For those of you without LeetCode premium here's a link to screenshots for some of the LeetCode company prep guides.

Q&A

  • Why is some of this code trash?

    BECAUSE IT'S TRASH CAN. NOT TRASH CAN'T. But in all seriousness, if you see some code that you think you can improve please put in a pull request! We recognize some of our code is not the best and are always looking for people to help

  • Can I help out somehow?

    Of course! We currently don't have a contribution guide but we do have a small bit of info about how we would like to keep the files and readme formatted. Once you add or edit a file, please put in a pull request!

  • Bake it till you make it?

    FAKE IT TILL YOU MAKE IT

  • Is the readme upto date? Not right now! Still trying to work on this >-> For now please go into the javascript folder in case you don't see it correctly linked on the readme

Algorithms

Database

Shell

Bit Manipulation

# Title Solution Time Space Difficulty Tag Note
136 Single Number Javascript O(n) O(1) Easy
137 Single Number II Javascript O(n) O(1) Medium
190 Reverse Bits Javascript O(1) O(1) Easy
191 Number of 1 Bits Javascript O(1) O(1) Easy
201 Bitwise AND of Numbers Range Javascript Under Construction O(1) O(1) Medium
231 Power of Two Javascript O(1) O(1) Easy LintCode
260 Single Number III Javascript Under Construction O(n) O(1) Medium
268 Missing Number Javascript Under Construction O(n) O(1) Medium LintCode
318 Maximum Product of Word Lengths Javascript Under Construction O(n) ~ O(n^2) O(n) Medium Bit Manipulation, Counting Sort, Pruning
342 Power of Four Javascript O(1) O(1) Easy
371 Sum of Two Integers Javascript Under Construction O(1) O(1) Easy LintCode
389 Find the Difference Javascript Under Construction O(n) O(1) Easy
393 UTF-8 Validation Javascript Under Construction O(n) O(1) Medium
401 Binary Watch Javascript Under Construction O(1) O(1) Easy
411 Minimum Unique Word Abbreviation Javascript Under Construction O(2^n) O(n) Hard 📖
421 Maximum XOR of Two Numbers in an Array Javascript Under Construction O(n) O(1) Medium
461 Hamming Distance Javascript Under Construction O(1) O(1) Easy
462 Minimum Moves to Equal Array Elements II Javascript Under Construction O(n) on average O(1) Medium
477 Total Hamming Distance Javascript Under Construction O(n) O(1) Medium
645 Set Mismatch Javascript Under Construction O(n) O(1) Easy
693 Binary Number with Alternating Bits Javascript Under Construction O(1) O(1) Easy
762 Prime Number of Set Bits in Binary Representation Javascript Under Construction O(1) O(1) Easy

Array

# Title Solution Time Space Difficulty Tag Note
015 3 Sum Javascript Under Construction O(n^2) O(1) Medium Two Pointers
016 3 Sum Closest Javascript Under Construction O(n^2) O(1) Medium Two Pointers
018 4 Sum Javascript Under Construction O(n^3) O(1) Medium Two Pointers
026 Remove Duplicates from Sorted Array Javascript O(n) O(1) Easy Two Pointers
027 Remove Element Javascript Under Construction O(n) O(1) Easy
031 Next Permutation Javascript Under Construction O(n) O(1) Medium Tricky
041 First Missing Positive Javascript Under Construction O(n) O(1) Hard Tricky
048 Rotate Image Javascript Under Construction O(n^2) O(1) Medium
054 Spiral Matrix Javascript Under Construction O(m * n) O(1) Medium
059 Spiral Matrix II Javascript Under Construction O(n^2) O(1) Medium
066 Plus One Javascript Under Construction O(n) O(1) Easy
073 Set Matrix Zeroes Javascript Under Construction O(m * n) O(1) Medium
080 Remove Duplicates from Sorted Array II Javascript Under Construction O(n) O(1) Medium Two Pointers
118 Pascal's Triangle Javascript Under Construction O(n^2) O(1) Easy
119 Pascal's Triangle II Javascript Under Construction O(n^2) O(1) Easy
121 Best Time to Buy and Sell Stock Javascript Under Construction O(n) O(1) Easy
128 Longest Consecutive Sequence Javascript Under Construction O(n) O(n) Hard Tricky
157 Read N Characters Given Read4 Javascript Under Construction O(n) O(1) Easy 📖
158 Read N Characters Given Read4 II - Call multiple times Javascript Under Construction O(n) O(1) Hard 📖
163 Missing Ranges Javascript Under Construction O(n) O(1) Medium 📖
169 Majority Element Javascript Under Construction O(n) O(1) Easy
189 Rotate Array Javascript Under Construction O(n) O(1) Easy
209 Minimum Size Subarray Sum Javascript Under Construction O(n) O(1) Medium Binary Search
215 Kth Largest Element in an Array Javascript Under Construction O(n) ~ O(n^2) O(1) Medium EPI
228 Summary Ranges Javascript Under Construction O(n) O(1) Medium
229 Majority Element II Javascript Under Construction O(n) O(1) Medium
238 Product of Array Except Self Javascript Under Construction O(n) O(1) Medium LintCode
240 Search a 2D Matrix II Javascript Under Construction O(m + n) O(1) Medium EPI, LintCode
243 Shortest Word Distance Javascript Under Construction O(n) O(1) Easy 📖
245 Shortest Word Distance III Javascript Under Construction O(n) O(1) Medium 📖
251 Flatten 2D Vector Javascript Under Construction O(1) O(1) Medium 📖
277 Find the Celebrity Javascript Under Construction O(n) O(1) Medium 📖, EPI
289 Game of Life Javascript Under Construction O(m * n) O(1) Medium
293 Flip Game Javascript Under Construction O(n * (c+1)) O(1) Easy 📖
296 Best Meeting Point Javascript Under Construction O(m * n) O(m + n) Hard 📖
311 Sparse Matrix Multiplication Javascript Under Construction O(m * n * l) O(m * l) Medium 📖
334 Increasing Triplet Subsequence Javascript Under Construction O(n) O(1) Medium
370 Range Addition Javascript Under Construction O(k + n) O(1) Medium 📖
384 Shuffle an Array Javascript Under Construction O(n) O(n) Medium EPI
396 Rotate Function Javascript Under Construction O(n) O(1) Easy
412 Fizz Buzz Javascript Under Construction O(n) O(1) Easy
414 Third Maximum Number Javascript Under Construction O(n) O(1) Easy
419 Battleships in a Board Javascript Under Construction O(m * n) O(1) Medium
422 Valid Word Square Javascript Under Construction O(m * n) O(1) Easy 📖
442 Find All Duplicates in an Array Javascript Under Construction O(n) O(1) Medium
448 Find All Numbers Disappeared in an Array Javascript Under Construction O(n) O(1) Easy
531 Lonely Pixel I Javascript Under Construction O(m * n) O(m + n) Medium 📖
533 Lonely Pixel II Javascript Under Construction O(m * n) O(m * n) Medium 📖
565 Array Nesting Javascript Under Construction O(n) O(1) Medium
566 Reshape the Matrix Javascript Under Construction O(m * n) O(m * n) Easy
581 Shortest Unsorted Continuous Subarray Javascript Under Construction O(n) O(1) Easy
605 Can Place Flowers Javascript Under Construction O(n) O(1) Easy
624 Maximum Distance in Arrays Javascript Under Construction O(n) O(1) Easy 📖
643 Maximum Average Subarray I Javascript Under Construction O(n) O(1) Easy Math
644 Maximum Average Subarray II Javascript Under Construction O(n) O(n) Hard 📖 Math
661 Image Smoother Javascript Under Construction O(m * n) O(1) Easy
665 Non-decreasing Array Javascript Under Construction O(n) O(1) Easy
667 Beautiful Arrangement II Javascript Under Construction O(n) O(1) Medium
670 Maximum Swap Javascript Under Construction O(logn) O(logn) Medium
674 Longest Continuous Increasing Subsequence Javascript Under Construction O(n) O(1) Easy
683 K Empty Slots Javascript Under Construction O(n) O(n) Hard
697 Degree of an Array Javascript Under Construction O(n) O(n) Easy
713 Subarray Product Less Than K Javascript Under Construction O(n) O(1) Medium
714 [Best Time to Buy and Sell Stock with Transaction Fee] (https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/) [Javascript] (./Javascript/714_BestTimeToBuyAndSellStockWithTransactionFee.js) O(n) O(n) Medium
717 1-bit and 2-bit Characters Javascript Under Construction O(n) O(1) Easy Greedy
723 Candy Crush Javascript Under Construction O((R * C)^2) O(1) Medium
724 Find Pivot Index Javascript Under Construction O(n) O(1) Easy
729 My Calendar I Javascript Under Construction O(nlogn) O(n) Medium
731 My Calendar II Javascript Under Construction O(n^2) O(n) Medium
732 My Calendar III Javascript Under Construction O(n^2) O(n) Hard
747 Largest Number At Least Twice of Others Javascript Under Construction O(n) O(1) Easy
755 Pour Water Javascript Under Construction O(v * n) O(1) Medium
766 Toeplitz Matrix Javascript Under Construction O(m * n) O(1) Easy
768 Max Chunks To Make Sorted II Javascript Under Construction O(nlogn) O(n) Hard
769 Max Chunks To Make Sorted Javascript Under Construction O(n) O(1) Medium
778 Swim in Rising Water Javascript Under Construction O(n^2) O(n^2) Hard Union Find
792 Number of Matching Subsequences Javascript Under Construction O(n + w) O(1) Medium
794 Valid Tic-Tac-Toe State Javascript Under Construction O(1) O(1) Medium
795 Number of Subarrays with Bounded Maximum Javascript Under Construction O(n) O(1) Medium
803 Bricks Falling When Hit Javascript Under Construction O(r * c) O(r * c) Hard Union Find
807 Max Increase to Keep City Skyline Javascript Under Construction O(n^2) O(n) Medium

String

# Title Solution Time Space Difficulty Tag Note
005 Longest Palindromic Substring Javascript O(n) O(n) Medium Manacher's Algorithm
006 ZigZag Conversion Javascript Under Construction O(n) O(1) Easy
008 String to Integer (atoi) Javascript O(n) O(1) Easy
014 Longest Common Prefix Javascript O(n * k) O(1) Easy
028 Implement strStr() Javascript O(n + k) O(k) Easy KMP Algorithm
038 Count and Say Javascript Under Construction O(n * 2^n) O(2^n) Easy
043 Multiply Strings Javascript Under Construction O(m * n) O(m + n) Medium
058 Length of Last Word Javascript O(n) O(1) Easy
067 Add Binary Javascript O(n) O(1) Easy
068 Text Justification Javascript Under Construction O(n) O(1) Hard
125 Valid Palindrome Javascript Under Construction O(n) O(1) Easy
151 Reverse Words in a String Javascript Under Construction O(n) O(1) Medium
161 One Edit Distance Javascript Under Construction O(m + n) O(1) Medium 📖
165 Compare Version Numbers Javascript Under Construction O(n) O(1) Easy
186 Reverse Words in a String II Javascript Under Construction O(n) O(1) Medium 📖
214 Shortest Palindrome Javascript Under Construction O(n) O(n) Hard KMP Algorithm Manacher's Algorithm
242 Valid Anagram Javascript Under Construction O(n) O(1) Easy LintCode
271 Encode and Decode Strings Javascript Under Construction O(n) O(1) Medium 📖
273 Integer to English Words Javascript Under Construction O(1) O(1) Hard
306 Addictive Number Javascript Under Construction O(n^3) O(n) Medium
383 Ransom Note Javascript Under Construction O(n) O(1) Easy EPI
405 Convert a Number to Hexadecimal Javascript Under Construction O(n) O(1) Easy
408 Valid Word Abbreviation Javascript Under Construction O(n) O(1) Easy 📖
415 Add Strings Javascript Under Construction O(n) O(1) Easy
420 Strong Password Checker Javascript Under Construction O(n) O(1) Hard
434 Number of Segments in a String Javascript Under Construction O(n) O(1) Easy
443 String Compression Javascript Under Construction O(n) O(1) Easy
459 Repeated Substring Pattern Javascript Under Construction O(n) O(n) Easy KMP Algorithm
468 Validate IP Address Javascript Under Construction O(1) O(1) Medium
520 Detect Capital Javascript Under Construction O(l) O(1) Easy
521 Longest Uncommon Subsequence I Javascript Under Construction O(min(a, b)) O(1) Easy
522 Longest Uncommon Subsequence II Javascript Under Construction O(l * n^2) O(1) Medium Sort
524 Longest Word in Dictionary through Deleting Javascript Under Construction O((d * l) * logd) O(1) Medium Sort
527 Word Abbreviation Javascript Under Construction O(n * l) ~ O(n^2 * l^2) O(n * l) Hard 📖
539 Minimum Time Difference Javascript Under Construction O(nlogn) O(n) Medium
541 Reverse String II Javascript Under Construction O(n) O(1) Easy
551 Student Attendance Record I Javascript Under Construction O(n) O(1) Easy
556 Next Greater Element III Javascript Under Construction O(1) O(1) Medium
557 Reverse Words in a String III Javascript Under Construction O(n) O(1) Easy
564 Find the Closest Palindrome Javascript Under Construction O(l) O(l) Hard
591 Tag Validator Javascript Under Construction O(n) O(n) Hard
616 Add Bold Tag in String Javascript Under Construction O(n * d * l) O(n) Medium 📖
647 Palindromic Substrings Javascript Under Construction O(n) O(n) Medium Manacher's Algorithm
648 Replace Words Javascript Under Construction O(n) O(t) Medium Trie
657 Judge Route Circle Javascript Under Construction O(n) O(1) Easy
678 Valid Parenthesis String Javascript Under Construction O(n) O(1) Medium
680 Valid Palindrome II Javascript Under Construction O(n) O(1) Easy
681 Next Closest Time Javascript Under Construction O(1) O(1) Medium
686 Repeated String Match Javascript Under Construction O(n + m) O(1) Easy Rabin-Karp Algorithm
696 Count Binary Substrings Javascript Under Construction O(n) O(1) Easy
720 Longest Word in Dictionary Javascript Under Construction O(n) O(t) Easy Trie
722 Remove Comments Javascript Under Construction O(n) O(k) Medium
751 IP to CIDR Javascript Under Construction O(n) O(1) Medium
758 Bold Words in String Javascript Under Construction O(n * l) O(t) Easy 📖, variant of Add Bold Tag in String
791 Custom Sort String Javascript Under Construction O(n) O(1) Medium
796 Rotate String Javascript Under Construction O(n) O(1) Easy KMP Algorithm Rabin-Karp Algorithm
804 Unique Morse Code Words Javascript Under Construction O(n) O(n) Easy
806 Number of Lines To Write String Javascript Under Construction O(n) O(1) Easy

Linked List

# Title Solution Time Space Difficulty Tag Note
002 Add Two Numbers Javascript O(n) O(1) Medium
021 Merge Two Sorted Lists Javascript O(n) O(1) Easy
023 Merge k Sorted Lists Javascript O(nlogk) O(1) Hard Heap, Divide and Conquer
024 Swap Nodes in Pairs Javascript Under Construction O(n) O(1) Easy
025 Reverse Nodes in k-Group Javascript O(n) O(1) Hard
061 Rotate List Javascript Under Construction O(n) O(1) Medium
082 Remove Duplicates from Sorted List II Javascript Under Construction O(n) O(1) Medium
083 Remove Duplicates from Sorted List Javascript Under Construction O(n) O(1) Easy
092 Reverse Linked List II Javascript Under Construction O(n) O(1) Medium
138 Copy List with Random Pointer Javascript Under Construction O(n) O(1) Hard
160 Intersection of Two Linked Lists Javascript Under Construction O(m + n) O(1) Easy
203 Remove Linked List Elements Javascript Under Construction O(n) O(1) Easy
206 Reverse Linked List Javascript Under Construction O(n) O(1) Easy
234 Palindrome Linked List Javascript Under Construction O(n) O(1) Easy
237 Delete Node in a Linked List Javascript Under Construction O(1) O(1) Easy LintCode
328 Odd Even Linked List Javascript Under Construction O(n) O(1) Medium
369 Plus One Linked List Javascript Under Construction O(n) O(1) Medium 📖 Two Pointers
445 Add Two Numbers II Javascript Under Construction O(m + n) O(m + n) Medium
725 Split Linked List in Parts Javascript Under Construction O(n + k) O(1) Medium

Stack

# Title Solution Time Space Difficulty Tag Note
020 Valid Parentheses Javascript Under Construction O(n) O(n) Easy
032 Longest Valid Parentheses Javascript Under Construction O(n) O(1) Hard
071 Simplify Path Javascript Under Construction O(n) O(n) Medium
084 Largest Rectangle in Histogram Javascript Under Construction O(n) O(n) Hard Ascending Stack, DP
085 Maximal Rectangle Javascript Under Construction O(m * n) O(n) Hard EPI Ascending Stack
101 Symmetric Tree Javascript Under Construction O(n) O(h) Easy
150 Evaluate Reverse Polish Notation Javascript Under Construction O(n) O(n) Medium
155 Min Stack Javascript Under Construction O(n) O(1) Easy
173 Binary Search Tree Iterator Javascript Under Construction O(1) O(h) Medium
224 Basic Calculator Javascript Under Construction O(n) O(n) Hard
227 Basic Calculator II Javascript Under Construction O(n) O(n) Medium
232 Implement Queue using Stacks Javascript Under Construction O(1), amortized O(n) Easy EPI, LintCode
255 Verify Preorder Sequence in Binary Search Tree Javascript Under Construction O(n) O(1) Medium 📖
272 Closest Binary Search Tree Value II Javascript Under Construction O(h + k) O(h) Hard 📖
331 Verify Preorder Serialization of a Binary Tree Javascript Under Construction O(n) O(1) Medium
341 Flatten Nested List Iterator Javascript Under Construction O(n) O(h) Medium 📖 Iterator
385 Mini Parser Javascript Under Construction O(n) O(h) Medium
394 Decode String Javascript Under Construction O(n) O(h) Medium
439 Ternary Expression Parser Javascript Under Construction O(n) O(1) Medium 📖
456 132 Pattern Javascript Under Construction O(n) O(n) Medium
636 Exclusive Time of Functions Javascript Under Construction O(n) O(n) Medium
682 Baseball Game Javascript Under Construction O(n) O(n) Easy
726 Number of Atoms Javascript Under Construction O(n) O(n) Hard
735 Asteroid Collision Javascript Under Construction O(n) O(n) Medium
736 Parse Lisp Expression Javascript Under Construction O(n^2) O(n^2) Hard
739 Daily Temperatures Javascript Under Construction O(n) O(n) Medium
770 Basic Calculator IV Javascript Under Construction add: O(d * t)
sub: O(d * t)
mul: O(d * t^2)
eval: O(d * t)
to_list: O(d * tlogt)
O(e + d * t) Hard
772 Basic Calculator III Javascript Under Construction O(n) O(n) Hard

Queue

# Title Solution Time Space Difficulty Tag Note
239 Sliding Window Maximum Javascript Under Construction O(n) O(k) Hard EPI, LintCode
281 Zigzag Iterator Javascript Under Construction O(n) O(k) Medium 📖
346 Moving Average from Data Stream Javascript Under Construction O(1) O(w) Easy 📖

Heap

# Title Solution Time Space Difficulty Tag Note
264 Ugly Number II Javascript Under Construction O(n) O(1) Medium CTCI, LintCode BST, Heap
295 Find Median from Data Stream Javascript Under Construction O(nlogn) O(n) Hard EPI, LintCode BST, Heap
313 Super Ugly Number Javascript Under Construction O(n * k) O(n + k) Medium BST, Heap
358 Rearrange String k Distance Apart Javascript Under Construction O(n) O(n) Hard 📖 Greedy, Heap
373 Find K Pairs with Smallest Sums Javascript Under Construction O(k * log(min(n, m, k))) O(min(n, m, k)) Medium
378 Kth Smallest Element in a Sorted Matrix Javascript Under Construction O(k * log(min(n, m, k))) O(min(n, m, k)) Medium LintCode
407 Trapping Rain Water II Javascript Under Construction O(m * n * (logm + logn)) O(m * n) Hard LintCode
632 Smallest Range Javascript Under Construction O(nlogk) O(k) Hard

Tree

# Title Solution Time Space Difficulty Tag Note
094 Binary Tree Inorder Traversal Javascript Under Construction O(n) O(1) Medium Morris Traversal
099 Recover Binary Search Tree Javascript Under Construction O(n) O(1) Hard Morris Traversal
144 Binary Tree Preorder Traversal Javascript Under Construction O(n) O(1) Medium Morris Traversal
145 Binary Tree Postorder Traversal Javascript Under Construction O(n) O(1) Hard Morris Traversal
208 Implement Trie (Prefix Tree) Javascript Under Construction O(n) O(1) Medium Trie
211 Add and Search Word - Data structure design Javascript Under Construction O(min(n, h)) O(min(n, h)) Medium Trie, DFS
226 Invert Binary Tree Javascript Under Construction O(n) O(h), O(w) Easy
297 Serialize and Deserialize Binary Tree Javascript Under Construction O(n) O(h) Hard LintCode DFS
307 Range Sum Query - Mutable Javascript Under Construction ctor: O(n), update: O(logn), query: O(logn) O(n) Medium LintCode DFS, Segment Tree, BIT
308 Range Sum Query 2D - Mutable Javascript Under Construction ctor: O(m * n), update: O(logm + logn), query: O(logm + logn) O(m * n) Hard 📖 DFS, Segment Tree, BIT
315 Count of Smaller Numbers After Self Javascript Under Construction O(nlogn) O(n) Hard LintCode BST, BIT, Divide and Conquer
525 Contiguous Array Javascript Under Construction O(n) O(n) Medium
529 Minesweeper Javascript Under Construction O(m * n) O(m + n) Medium
536 Construct Binary Tree from String Javascript Under Construction O(n) O(h) Medium 📖
538 Convert BST to Greater Tree Javascript Under Construction O(n) O(h) Easy
543 Diameter of Binary Tree Javascript Under Construction O(n) O(h) Easy
545 Boundary of Binary Tree Javascript Under Construction O(n) O(h) Medium 📖
548 Split Array with Equal Sum Javascript Under Construction O(n^2) O(n) Medium 📖
563 Binary Tree Tilt Javascript Under Construction O(n) O(n) Easy
572 Subtree of Another Tree Javascript Under Construction O(m * n) O(h) Easy
606 Construct String from Binary Tree Javascript Under Construction O(n) O(h) Easy
617 Merge Two Binary Trees Javascript Under Construction O(n) O(h) Easy
623 Add One Row to Tree Javascript Under Construction O(n) O(h) Medium
637 Average of Levels in Binary Tree Javascript Under Construction O(n) O(h) Easy
652 Find Duplicate Subtrees Javascript Under Construction O(n) O(n) Medium DFS, Hash
653 Two Sum IV - Input is a BST Javascript Under Construction O(n) O(h) Easy Two Pointers
654 Maximum Binary Tree Javascript Under Construction O(n) O(n) Medium LintCode Descending Stack
655 Print Binary Tree Javascript Under Construction O(n) O(h) Medium
662 Maximum Width of Binary Tree Javascript Under Construction O(n) O(h) Medium DFS
663 Equal Tree Partition Javascript Under Construction O(n) O(n) Medium 📖 Hash
677 Map Sum Pairs Javascript Under Construction O(n) O(t) Medium Trie
684 Redundant Connection Javascript Under Construction O(n) O(n) Medium Union Find
685 Redundant Connection II Javascript Under Construction O(n) O(n) Hard Union Find
687 Longest Univalue Path Javascript Under Construction O(n) O(h) Easy
699 Falling Squares Javascript Under Construction O(nlogn) O(n) Hard Segment Tree

Hash Table

# Title Solution Time Space Difficulty Tag Note
001 Two Sum Javascript O(n) O(n) Easy
003 Longest Substring Without Repeating Characters Javascript O(n) O(1) Medium
030 Substring with Concatenation of All Words Javascript Under Construction O((m + n) * k) O(n * k) Hard
036 Valid Sudoku Javascript Under Construction O(9^2) O(9) Easy
049 Group Anagrams Javascript Under Construction O(n * glogg) O(n) Medium
076 Minimum Window Substring Javascript Under Construction O(n) O(k) Hard
149 Max Points on a Line Javascript Under Construction O(n^2) O(n) Hard
159 Longest Substring with At Most Two Distinct Characters Javascript Under Construction O(n) O(1) Hard 📖
170 Two Sum III - Data structure design Javascript Under Construction O(n) O(n) Easy 📖
187 Repeated DNA Sequences Javascript Under Construction O(n) O(n) Medium
202 Happy Number Javascript Under Construction O(k) O(k) Easy
204 Count Primes Javascript Under Construction O(n) O(n) Easy
205 Isomorphic Strings Javascript Under Construction O(n) O(1) Easy
217 Contains Duplicate Javascript Under Construction O(n) O(n) Easy
219 Contains Duplicate II Javascript Under Construction O(n) O(n) Easy
244 Shortest Word Distance II Javascript Under Construction ctor: O(n), lookup: O(a + b) O(n) Medium 📖
246 Strobogrammatic Number Javascript Under Construction O(n) O(1) Easy 📖
249 Group Shifted Strings Javascript Under Construction O(nlogn) O(n) Easy 📖
266 Palindrome Permutation Javascript Under Construction O(n) O(1) Easy 📖
288 Unique Word Abbreviation Javascript Under Construction ctor: O(n), lookup: O(1) O(k) Easy 📖
290 Word Pattern Javascript Under Construction O(n) O(c) Easy variant of Isomorphic Strings
299 Bulls and Cows Javascript Under Construction O(n) O(1) Easy
305 Number of Islands II Javascript Under Construction O(k) O(k) Hard LintCode, 📖 Union Find
314 Binary Tree Vertical Order Traversal Javascript Under Construction O(n) O(n) Medium 📖 BFS
323 Number of Connected Components in an Undirected Graph Javascript Under Construction O(n) O(n) Medium 📖 Union Find
325 Maximum Size Subarray Sum Equals k Javascript Under Construction O(n) O(n) Medium 📖
336 Palindrome Pairs Javascript Under Construction O(n * k^2) O(n * k) Hard
340 Longest Substring with At Most K Distinct Characters Javascript Under Construction O(n) O(1) Hard 📖
356 Line Reflection Javascript Under Construction O(n) O(n) Medium 📖 Hash, Two Pointers
387 First Unique Character in a String Javascript Under Construction O(n) O(n) Easy
388 Longest Absolute File Path Javascript Under Construction O(n) O(d) Medium Stack
409 Longest Palindrome Javascript Under Construction O(n) O(1) Easy
424 Longest Repeating Character Replacement Javascript Under Construction O(n) O(1) Medium
438 Find All Anagrams in a String Javascript Under Construction O(n) O(1) Easy
447 Number of Boomerangs Javascript Under Construction O(n^2) O(n) Easy
454 4Sum II Javascript Under Construction O(n^2) O(n^2) Medium
473 Matchsticks to Square Javascript Under Construction O(n * s * 2^n) O(n * (2^n + s)) Medium
523 Continuous Subarray Sum Javascript Under Construction O(n) O(k) Medium
532 K-diff Pairs in an Array Javascript Under Construction O(n) O(n) Easy
554 Brick Wall Javascript Under Construction O(n) O(m) Medium
560 Subarray Sum Equals K Javascript Under Construction O(n) O(n) Medium
561 Array Partition I Javascript Under Construction O(r) O(r) Easy
575 Distribute Candies Javascript Under Construction O(n) O(n) Easy
594 Longest Harmonious Subsequence Javascript Under Construction O(n) O(n) Easy
599 Minimum Index Sum of Two Lists Javascript Under Construction O((m + n) * l) O(m * l) Easy
609 Find Duplicate File in System Javascript Under Construction O(n * l) O(n * l) Medium
721 Accounts Merge Javascript Under Construction O(nlogn) O(n) Medium Union Find
734 Sentence Similarity Javascript Under Construction O(n + p) O(p) Easy
737 Sentence Similarity II Javascript Under Construction O(n + p) O(p) Medium Union Find
748 Shortest Completing Word Javascript Under Construction O(n) O(1) Easy
760 Find Anagram Mappings Javascript Under Construction O(n) O(n) Easy
771 Jewels and Stones Javascript Under Construction O(m + n) O(n) Easy

Math

# Title Solution Time Space Difficulty Tag Note
007 Reverse Integer Javascript O(1) O(1) Easy
009 Palindrome Number Javascript O(n) O(1) Easy
012 Integer to Roman Javascript Under Construction O(n) O(1) Medium
013 Roman to Integer Javascript Under Construction O(n) O(1) Easy
029 Divide Two Integers Javascript Under Construction O(1) O(1) Medium
050 Pow(x, n) Javascript Under Construction O(1) O(1) Medium
060 Permutation Sequence Javascript Under Construction O(n^2) O(n) Medium Cantor Ordering
065 Valid Number Javascript Under Construction O(n) O(1) Hard Automata
089 Gray Code Javascript Under Construction O(2^n) O(1) Medium
166 Fraction to Recurring Decimal Javascript Under Construction O(logn) O(1) Medium
168 Excel Sheet Column Title Javascript Under Construction O(logn) O(1) Easy
171 Excel Sheet Column Number Javascript Under Construction O(n) O(1) Easy
172 Factorial Trailing Zeroes Javascript Under Construction O(1) O(1) Easy
202 Happy Number Javascript Under Construction ? ? Easy
223 Rectangle Area Javascript Under Construction O(1) O(1) Easy
233 Number of Digit One Javascript Under Construction O(1) O(1) Hard CTCI, LintCode
248 Strobogrammatic Number III Javascript Under Construction O(5^(n/2)) O(n) Hard 📖
258 Add Digits Javascript Under Construction O(1) O(1) Easy
263 Ugly Number Javascript Under Construction O(1) O(1) Easy
292 Nim Game Javascript Under Construction O(1) O(1) Easy LintCode
319 Bulb Switcher Javascript Under Construction O(1) O(1) Medium
326 Power of Three Javascript Under Construction O(1) O(1) Easy
335 Self Crossing Javascript Under Construction O(n) O(1) Hard
338 Counting Bits Javascript Under Construction O(n) O(n) Medium
343 Integer Break Javascript Under Construction O(logn) O(1) Medium Tricky, DP
365 Water and Jug Problem Javascript Under Construction O(logn) O(1) Medium Bézout's identity
372 Super Pow Javascript Under Construction O(n) O(1) Medium
382 Linked List Random Node Javascript Under Construction O(n) O(1) Medium Reservoir Sampling
386 Lexicographical Numbers Javascript Under Construction O(n) O(1) Medium
390 Elimination Game Javascript Under Construction O(logn) O(1) Medium
391 Perfect Rectangle Javascript Under Construction O(n) O(n) Hard
398 Random Pick Index Javascript Under Construction O(n) O(1) Medium Reservoir Sampling
400 Nth Digit Javascript Under Construction O(logn) O(1) Easy
413 Arithmetic Slices Javascript Under Construction O(n) O(1) Medium
423 Reconstruct Original Digits from English Javascript Under Construction O(n) O(1) Medium GCJ2016 - Round 1B
441 Arranging Coins Javascript Under Construction O(nlogn) O(1) Easy Binary Search
453 Minimum Moves to Equal Array Elements Javascript Under Construction O(n) O(1) Easy
458 Poor Pigs Javascript Under Construction O(n) O(1) Easy
469 Convex Polygon Javascript Under Construction O(n) O(1) Medium 📖
517 Super Washing Machines Javascript Under Construction O(n) O(1) Hard
537 Complex Number Multiplication Javascript Under Construction O(1) O(1) Medium
553 Optimal Division Javascript Under Construction O(n) O(1) Medium
573 Squirrel Simulation Javascript Under Construction O(n) O(1) Medium 📖
592 Fraction Addition and Subtraction Javascript Under Construction O(nlogx) O(n) Medium
593 Valid Square Javascript Under Construction O(1) O(1) Medium
598 Range Addition II Javascript Under Construction O(p) O(1) Easy
625 Minimum Factorization Javascript Under Construction O(loga) O(1) Medium 📖
628 Maximum Product of Three Numbers Javascript Under Construction O(n) O(1) Easy
633 Sum of Square Numbers Javascript Under Construction O(sqrt(c) * logc) O(1) Easy
634 Find the Derangement of An Array Javascript Under Construction O(n) O(1) Medium 📖
640 Solve the Equation Javascript Under Construction O(n) O(n) Medium
651 4 Keys Keyboard Javascript Under Construction O(1) O(1) Medium 📖 Math, DP
660 Remove 9 Javascript Under Construction O(logn) O(1) Hard 📖
672 Bulb Switcher II Javascript Under Construction O(1) O(1) Medium
728 Self Dividing Numbers Javascript Under Construction O(n) O(1) Medium
754 Reach a Number Javascript Under Construction O(logn) O(1) Medium
775 Global and Local Inversions Javascript Under Construction O(n) O(1) Medium
779 K-th Symbol in Grammar Javascript Under Construction O(1) O(1) Medium
780 Reaching Points Javascript Under Construction O(log(max(m, n))) O(1) Hard
781 Rabbits in Forest Javascript Under Construction O(n) O(n) Medium
782 Transform to Chessboard Javascript Under Construction O(n^2) O(n) Hard
789 Escape The Ghosts Javascript Under Construction O(n) O(1) Medium
800 Similar RGB Color Javascript Under Construction O(1) O(1) Easy 📖

Sort

# Title Solution Time Space Difficulty Tag Note
056 Merge Intervals Javascript Under Construction O(nlogn) O(1) Hard
057 Insert Interval Javascript Under Construction O(n) O(1) Hard
075 Sort Colors Javascript Under Construction O(n) O(1) Medium Tri Partition
088 Merge Sorted Array Javascript Under Construction O(n) O(1) Easy
147 Insertion Sort List Javascript Under Construction O(n^2) O(1) Medium
148 Sort List Javascript Under Construction O(nlogn) O(logn) Medium
164 Maximum Gap Javascript Under Construction O(n) O(n) Hard Tricky
179 Largest Number Javascript Under Construction O(nlogn) O(1) Medium
218 The Skyline Problem Javascript Under Construction O(nlogn) O(n) Hard Sort, BST
252 Meeting Rooms Javascript Under Construction O(nlogn) O(n) Easy 📖
253 Meeting Rooms II Javascript Under Construction O(nlogn) O(n) Medium 📖
274 H-Index Javascript Under Construction O(n) O(n) Medium Counting Sort
280 Wiggle Sort Javascript Under Construction O(n) O(1) Medium 📖
324 Wiggle Sort II Javascript Under Construction O(n) on average O(1) Medium variant of Sort Colors Tri Partition
347 Top K Frequent Elements Javascript Under Construction O(n) O(n) Medium Quick Select, Heap, Bucket Sort
406 Queue Reconstruction by Height Javascript Under Construction O(n * sqrt(n)) O(n) Medium Tricky
451 Sort Characters By Frequency Javascript Under Construction O(n) O(n) Medium
692 Top K Frequent Words Javascript Under Construction O(n + klogk) on average O(n) Medium Quick Select, Heap, Bucket Sort

Two Pointers

# Title Solution Time Space Difficulty Tag Note
019 Remove Nth Node From End of List Javascript O(n) O(1) Easy
086 Partition List Javascript Under Construction O(n) O(1) Medium
141 Linked List Cycle Javascript Under Construction O(n) O(1) Easy
142 Linked List Cycle II Javascript Under Construction O(n) O(1) Medium
143 Reorder List Javascript Under Construction O(n) O(1) Medium
167 Two Sum II - Input array is sorted Javascript Under Construction O(n) O(1) Medium
259 3Sum Smaller Javascript Under Construction O(n^2) O(1) Medium 📖, LintCode
283 Move Zeroes Javascript Under Construction O(n) O(1) Easy
287 Find the Duplicate Number Javascript Under Construction O(n) O(1) Hard Binary Search, Two Pointers
344 Reverse String Javascript Under Construction O(n) O(1) Easy
345 Reverse Vowels of a String Javascript Under Construction O(n) O(1) Easy
349 Intersection of Two Arrays Javascript Under Construction O(m + n) O(min(m, n)) Easy EPI Hash, Binary Search
350 Intersection of Two Arrays II Javascript Under Construction O(m + n) O(1) Easy EPI Hash, Binary Search
360 Sort Transformed Array Javascript Under Construction O(n) O(1) Medium 📖
457 Circular Array Loop Javascript Under Construction O(n) O(1) Medium
567 Permutation in String Javascript Under Construction O(n) O(1) Medium
611 Valid Triangle Number Javascript Under Construction O(n^2) O(1) Medium
777 Swap Adjacent in LR String Javascript Under Construction O(n) O(1) Medium

Recursion

# Title Solution Time Space Difficulty Tag Note
095 Unique Binary Search Trees II Javascript Under Construction O(4^n / n^(3/2) O(4^n / n^(3/2) Medium
098 Validate Binary Search Tree Javascript Under Construction O(n) O(1) Medium
100 Same Tree C+ Javascript Under Construction O(n) O(h) Easy
104 Maximum Depth of Binary Tree Javascript Under Construction O(n) O(h) Easy
105 Construct Binary Tree from Preorder and Inorder Traversal Javascript Under Construction O(n) O(n) Medium
106 Construct Binary Tree from Inorder and Postorder Traversal Javascript Under Construction O(n) O(n) Medium
108 Convert Sorted Array to Binary Search Tree Javascript Under Construction O(n) O(logn) Medium
109 Convert Sorted List to Binary Search Tree Javascript Under Construction O(n) O(logn) Medium
110 Balanced Binary Tree Javascript Under Construction O(n) O(h) Easy
111 Minimum Depth of Binary Tree Javascript Under Construction O(n) O(h) Easy
114 Flatten Binary Tree to Linked List Javascript Under Construction O(n) O(h) Medium
116 Populating Next Right Pointers in Each Node Javascript Under Construction O(n) O(1) Medium
124 Binary Tree Maximum Path Sum Javascript Under Construction O(n) O(h) Hard
129 Sum Root to Leaf Numbers Javascript Under Construction O(n) O(h) Medium
156 Binary Tree Upside Down Javascript Under Construction O(n) O(1) Medium 📖
241 Different Ways to Add Parentheses Javascript Under Construction O(n * 4^n / n^(3/2)) O(n * 4^n / n^(3/2)) Medium
298 Binary Tree Longest Consecutive Sequence Javascript Under Construction O(n) O(h) Medium 📖
327 Count of Range Sum Javascript Under Construction O(nlogn) O(n) Hard
333 Largest BST Subtree Javascript Under Construction O(n) O(h) Medium 📖
337 House Robber III Javascript Under Construction O(n) O(h) Medium
395 Longest Substring with At Least K Repeating Characters Javascript Under Construction O(n) O(1) Medium
404 Sum of Left Leaves Javascript Under Construction O(n) O(h) Easy
437 Path Sum III Javascript Under Construction O(n) O(h) Easy
544 Output Contest Matches Javascript Under Construction O(n) O(n) Medium
549 Binary Tree Longest Consecutive Sequence II Javascript Under Construction O(n) O(h) Medium 📖
669 Trim a Binary Search Tree Javascript Under Construction O(n) O(h) Easy
671 Second Minimum Node In a Binary Tree Javascript Under Construction O(n) O(h) Easy
761 Special Binary String Javascript Under Construction O(n^2) O(n) Hard

Binary Search

# Title Solution Time Space Difficulty Tag Note
004 Median of Two Sorted Arrays Javascript Under Construction O(log(min(m, n))) O(1) Hard
033 Search in Rotated Sorted Array Javascript O(logn) O(1) Hard
034 Search for a Range Javascript Under Construction O(logn) O(1) Medium
035 Search Insert Position Javascript O(logn) O(1) Easy
069 Sqrt(x) Javascript Under Construction O(logn) O(1) Medium
074 Search a 2D Matrix Javascript Under Construction O(logm + logn) O(1) Medium
081 Search in Rotated Sorted Array II Javascript Under Construction O(logn) O(1) Medium
153 Find Minimum in Rotated Sorted Array Javascript Under Construction O(logn) O(1) Medium
154 Find Minimum in Rotated Sorted Array II Javascript Under Construction O(logn) ~ O(n) O(1) Hard
162 Find Peak Element Javascript Under Construction O(logn) O(1) Medium
222 Count Complete Tree Nodes Javascript Under Construction O((logn)^2) O(1) Medium
275 H-Index II Javascript Under Construction O(logn) O(1) Medium Binary Search
278 First Bad Version Javascript Under Construction O(logn) O(1) Easy LintCode
300 Longest Increasing Subsequence Javascript Under Construction O(nlogn) O(n) Medium CTCI, LintCode Binary Search, DP
302 Smallest Rectangle Enclosing Black Pixels Javascript Under Construction O(nlogn) O(1) Hard 📖
354 Russian Doll Envelopes Javascript Under Construction O(nlogn) O(1) Hard
363 Max Sum of Rectangle No Larger Than K Javascript Under Construction O(min(m, n)^2 * max(m, n) * logn(max(m, n))) O(max(m, n)) Hard
367 Valid Perfect Square Javascript Under Construction O(logn) O(1) Medium
374 Guess Number Higher or Lower Javascript Under Construction O(logn) O(1) Easy
410 Split Array Largest Sum Javascript Under Construction O(nlogs) O(1) Hard
436 Find Right Interval Javascript Under Construction O(nlogn) O(n) Medium
475 Heaters Javascript Under Construction O((m + n) * logn) O(1) Easy
540 Single Element in a Sorted Array Javascript Under Construction O(logn) O(1) Medium
658 Find K Closest Elements Javascript Under Construction O(logn + k) O(1) Medium
668 Kth Smallest Number in Multiplication Table Javascript Under Construction O(m * log(m * n)) O(1) Hard
719 Find K-th Smallest Pair Distance Javascript Under Construction O(nlogn + nlogw) O(1) Hard
744 Find Smallest Letter Greater Than Target Javascript Under Construction O(logn) O(1) Easy
774 Minimize Max Distance to Gas Station Javascript Under Construction O(nlogr) O(1) Hard
786 K-th Smallest Prime Fraction Javascript Under Construction O(nlogr) O(1) Hard
793 Preimage Size of Factorial Zeroes Function Javascript Under Construction O((logn)^2) O(1) Hard

Binary Search Tree

# Title Solution Time Space Difficulty Tag Note
220 Contains Duplicate III Javascript Under Construction O(nlogk) O(k) Medium
230 Kth Smallest Element in a BST Javascript Under Construction O(max(h, k)) O(min(h, k)) Medium
235 Lowest Common Ancestor of a Binary Search Tree Javascript Under Construction O(h) O(1) Easy EPI
270 Closest Binary Search Tree Value Javascript Under Construction O(h) O(1) Easy 📖
285 Inorder Successor in BST Javascript Under Construction O(h) O(1) Medium 📖
352 Data Stream as Disjoint Intervals Javascript Under Construction O(logn) O(n) Hard
449 Serialize and Deserialize BST Javascript Under Construction O(n) O(h) Medium
450 Delete Node in a BST Javascript Under Construction O(h) O(h) Medium
530 Minimum Absolute Difference in BST Javascript Under Construction O(n) O(h) Easy
776 Split BST Javascript Under Construction O(n) O(h) Medium 📖
783 Minimum Distance Between BST Nodes Javascript Under Construction O(n) O(h) Easy

Breadth-First Search

# Title Solution Time Space Difficulty Tag Note
102 Binary Tree Level Order Traversal Javascript Under Construction O(n) O(n) Easy
107 Binary Tree Level Order Traversal II Javascript Under Construction O(n) O(n) Easy
103 Binary Tree Zigzag Level Order Traversal Javascript Under Construction O(n) O(n) Medium
117 Populating Next Right Pointers in Each Node II Javascript Under Construction O(n) O(1) Hard
127 Word Ladder Javascript Under Construction O(n * d) O(d) Medium
130 Surrounded Regions Javascript Under Construction O(m * n) O(m + n) Medium
133 Clone Graph Javascript Under Construction O(n) O(n) Medium
207 Course Schedule Javascript Under Construction O(|V| + |E|) O(|E|) Medium Topological Sort
210 Course Schedule II Javascript Under Construction O(|V| + |E|) O(|E|) Medium Topological Sort
261 Graph Valid Tree Javascript Under Construction O(|V| + |E|) O(|V| + |E|) Medium 📖
269 Alien Dictionary Javascript Under Construction O(n) O(1) Hard 📖 Topological Sort, BFS, DFS
286 Walls and Gates Javascript Under Construction O(m * n) O(g) Medium 📖
310 Minimum Height Trees Javascript Under Construction O(n) O(n) Medium
317 Shortest Distance from All Buildings Javascript Under Construction O(k * m * n) O(m * n) Hard 📖
433 Minimum Genetic Mutation Javascript Under Construction O(n * b) O(b) Medium
444 Sequence Reconstruction Javascript Under Construction O(n * s) O(n) Medium 📖 Topological Sort
542 01 Matrix Javascript Under Construction O(m * n) O(m * n) Medium DP
666 Path Sum IV Javascript Under Construction O(n) O(w) Medium 📖 Topological Sort
675 Cut Off Trees for Golf Event Javascript Under Construction O(t * m * n) O(m * n) Hard A* Search Algorithm
742 Closest Leaf in a Binary Tree Javascript Under Construction O(n) O(n) Medium
743 Network Delay Time Javascript Under Construction O(|E| + |V|log|V|) O(|E| + |V|) Medium Dijkstra's algorithm
752 Open the Lock Javascript Under Construction O(k * n^k + d) O(k * n^k + d) Medium
773 Sliding Puzzle Javascript Under Construction O((m * n) * (m * n)!) O((m * n) * (m * n)!) Hard A* Search Algorithm
787 Cheapest Flights Within K Stops Javascript Under Construction O(|E| + |V|log|V|) O(|E| + |V|) Medium Dijkstra's algorithm

Depth-First Search

# Title Solution Time Space Difficulty Tag Note
112 Path Sum Javascript Under Construction O(n) O(h) Easy
113 Path Sum II Javascript Under Construction O(n) O(h) Medium
199 Binary Tree Right Side View Javascript Under Construction O(n) O(h) Medium
200 Number of Islands Javascript Under Construction O(m * n) O(m * n) Medium
236 Lowest Common Ancestor of a Binary Tree Javascript Under Construction O(n) O(h) Medium EPI
247 Strobogrammatic Number II Javascript Under Construction O(n^2 * 5^(n/2)) O(n) Medium 📖
250 Count Univalue Subtrees Javascript Under Construction O(n) O(h) Medium 📖
257 Binary Tree Paths Javascript Under Construction O(n * h) O(h) Easy
282 Expression Add Operators Javascript Under Construction O(4^n) O(n) Hard
301 Remove Invalid Parentheses Javascript Under Construction O(C(n, c)) O(c) Hard
329 Longest Increasing Path in a Matrix Javascript Under Construction O(m * n) O(m * n) Hard
332 Reconstruct Itinerary Javascript Under Construction O(t! / (n1! * n2! * ... nk!)) O(t) Medium
339 Nested List Weight Sum Javascript Under Construction O(n) O(h) Easy 📖
364 Nested List Weight Sum II Javascript Under Construction O(n) O(h) Medium 📖
366 Find Leaves of Binary Tree Javascript Under Construction O(n) O(h) Medium 📖
399 Evaluate Division Javascript Under Construction O(q * |V|!) O(e) Medium
417 Pacific Atlantic Water Flow Javascript Under Construction O(m * n) O(m * n) Medium
440 K-th Smallest in Lexicographical Order Javascript Under Construction O(logn) O(logn) Hard
464 Can I Win Javascript Under Construction O(n!) O(n) Medium
515 Find Largest Value in Each Tree Row Javascript Under Construction O(n) O(h) Medium
547 Friend Circles Javascript Under Construction O(n^2) O(n) Medium Union Find
582 Kill Process Javascript Under Construction O(n) O(n) Medium 📖 DFS, BFS
638 Shopping Offers Javascript Under Construction O(n * 2^n) O(n) Medium
690 Employee Importance Javascript Under Construction O(n) O(h) Easy DFS, BFS
694 Number of Distinct Islands Javascript Under Construction O(m * n) O(m * n) Medium 📖
695 Max Area of Island Javascript Under Construction O(m * n) O(m * n) Easy
711 Number of Distinct Islands II Javascript Under Construction O((m * n) * log(m * n)) O(m * n) Hard 📖 Hash
733 Max Area of Island Javascript Under Construction O(m * n) O(m * n) Easy
749 Contain Virus Javascript Under Construction O((m * n)^(4/3)) O(m * n) Hard Simulation
753 Cracking the Safe Javascript Under Construction O(k^n) O(k^n) Hard de Bruijn sequences, Lyndon word
756 Pyramid Transition Matrix Javascript Under Construction O(a^b) O(a^b) Medium
785 Is Graph Bipartite? Javascript Under Construction O(|V| + |E|) O(|V|) Medium
797 All Paths From Source to Target Javascript Under Construction O(p + r * n) O(n) Medium
802 Find Eventual Safe States Javascript Under Construction O(|V| + |E|) O(|V|) Medium

Backtracking

# Title Solution Time Space Difficulty Tag Note
017 Letter Combinations of a Phone Number Javascript O(n * 4^n) O(n) Medium
022 Generate Parentheses Javascript O(4^n / n^(3/2)) O(n) Medium
037 Sudoku Solver Javascript O((9!)^9) O(1) Hard
039 Combination Sum Javascript O(k * n^k) O(k) Medium
040 Combination Sum II Javascript Under Construction O(k * C(n, k)) O(k) Medium
046 Permutations Javascript Under Construction O(n * n!) O(n) Medium
047 Permutations II Javascript Under Construction O(n * n!) O(n) Medium
051 N-Queens Javascript Under Construction O(n!) O(n) Hard
052 N-Queens-II Javascript Under Construction O(n!) O(n) Hard
077 Combinations Javascript Under Construction O(O(k * C(n, k))) O(k) Medium
079 Word Search Javascript Under Construction O(m * n * l) O(l) Medium
093 Restore IP Addresses Javascript Under Construction O(1) O(1) Medium
078 Subsets Javascript Under Construction O(n * 2^n) O(1) Medium
090 Subsets II Javascript Under Construction O(n * 2^n) O(1) Medium
126 Word Ladder II Javascript Under Construction O(n * d) O(d) Hard
131 Palindrome Partitioning Javascript Under Construction O(n^2) ~ O(2^n) O(n^2) Medium
140 Word Break II Javascript Under Construction O(n * l^2 + n * r) O(n^2) Hard
212 Word Search II Javascript Under Construction O(m * n * l) O(l) Hard LintCode Trie, DFS
216 Combination Sum III Javascript Under Construction O(k * C(n, k)) O(k) Medium
254 Factor Combinations Javascript Under Construction O(nlogn) O(logn) Medium 📖
267 Palindrome Permutation II Javascript Under Construction O(n * n!) O(n) Medium 📖
291 Word Pattern II Javascript Under Construction O(n * C(n - 1, c - 1)) O(n + c) Hard 📖
294 Flip Game II Javascript Under Construction O(n + c^2) O(c) Medium 📖 DP, Hash
320 Generalized Abbreviation Javascript Under Construction O(n * 2^n) O(n) Medium 📖
425 Word Squares Javascript Under Construction O(n^2 * n!) O(n^2) Hard 📖
526 Beautiful Arrangement Javascript Under Construction O(n!) O(n) Medium
676 Implement Magic Dictionary Javascript Under Construction O(n) O(d) Medium Trie, DFS
679 24 Game Javascript Under Construction O(1) O(1) Hard DFS
698 Partition to K Equal Sum Subsets Javascript Under Construction O(n * 2^n) O(2^n) Medium DFS, DP, Memoization
718 Maximum Length of Repeated Subarray Javascript Under Construction O(m * n) O(min(m, n)) Medium DP, Hash, Binary Search
784 Letter Case Permutation Javascript Under Construction O(n * 2^n) O(1) Easy

Dynamic Programming

# Title Solution Time Space Difficulty Tag Note
010 Regular Expression Matching Javascript Under Construction O(m * n) O(n) Hard
053 Maximum Subarray Javascript O(n) O(1) Medium
062 Unique Paths Javascript Under Construction O(m * n) O(m + n) Medium
063 Unique Paths II Javascript Under Construction O(m * n) O(m + n) Medium
064 Minimum Path Sum Javascript Under Construction O(m * n) O(m + n) Medium
070 Climbing Stairs Javascript Under Construction O(n) O(1) Easy
072 Edit Distance Javascript Under Construction O(m * n) O(m + n) Hard
087 Scramble String Javascript Under Construction O(n^4) O(n^3) Hard
091 Decode Ways Javascript Under Construction O(n) O(1) Medium
096 Unique Binary Search Trees Javascript Under Construction O(n) O(1) Medium Math
097 Interleaving String Javascript Under Construction O(m * n) O(m + n) Hard
115 Distinct Subsequences Javascript Under Construction O(n^2) O(n) Hard
120 Triangle Javascript Under Construction O(m * n) O(n) Medium
123 Best Time to Buy and Sell Stock III Javascript Under Construction O(n) O(1) Hard
132 Palindrome Partitioning II Javascript Under Construction O(n^2) O(n^2) Hard
139 Word Break Javascript Under Construction O(n * l^2) O(n) Medium
152 Maximum Product Subarray Javascript Under Construction O(n) O(1) Medium
174 Dungeon Game Javascript Under Construction O(m * n) O(m + n) Hard
188 Best Time to Buy and Sell Stock IV Javascript Under Construction O(k * n) O(k) Hard
198 House Robber Javascript Under Construction O(n) O(1) Easy
213 House Robber II Javascript Under Construction O(n) O(1) Medium
221 Maximal Square Javascript Under Construction O(n^2) O(n) Medium EPI
256 Paint House Javascript Under Construction O(n) O(1) Medium 📖
265 Paint House II Javascript Under Construction O(n * k) O(k) Hard 📖
276 Paint Fence Javascript Under Construction O(n) O(1) Easy 📖
279 Perfect Squares Javascript Under Construction O(n * sqrt(n)) O(n) Medium Hash
303 Range Sum Query - Immutable Javascript Under Construction ctor: O(n), lookup: O(1) O(n) Easy
304 Range Sum Query 2D - Immutable Javascript Under Construction ctor: O(m * n), lookup: O(1) O(m * n) Medium
309 Best Time to Buy and Sell Stock with Cooldown Javascript Under Construction O(n) O(1) Medium
312 Burst Balloons Javascript Under Construction O(n^3) O(n^2) Hard
322 Coin Change Javascript Under Construction O(n * k) O(k) Medium
351 Android Unlock Patterns Javascript Under Construction O(9^2 * 2^9) O(9 * 2^9) Medium 📖 Backtracking
357 Count Numbers with Unique Digits Javascript Under Construction O(n) O(1) Medium Backtracking, Math
361 Bomb Enemy Javascript Under Construction O(m * n) O(m * n) Medium 📖
368 Largest Divisible Subset Javascript Under Construction O(n^2) O(n) Medium
375 Guess Number Higher or Lower II Javascript Under Construction O(n^2) O(n^2) Medium
377 Combination Sum IV Javascript Under Construction O(nlogn + n * t) O(t) Medium
403 Frog Jump Javascript Under Construction O(n) O(n) ~ O(n^2) Hard
416 Partition Equal Subset Sum Javascript Under Construction O(n * s) O(s) Medium
418 Sentence Screen Fitting Javascript Under Construction O(r + n * c) O(n) Medium 📖
446 Arithmetic Slices II - Subsequence Javascript Under Construction O(n^2) O(n * d) Hard
465 Optimal Account Balancing Javascript Under Construction O(n * 2^n) O(n * 2^n) Hard 📖
466 Count The Repetitions Javascript Under Construction O(s1 * min(s2, n1)) O(s2) Hard
467 Unique Substrings in Wraparound String Javascript Under Construction O(n) O(1) Medium
471 Encode String with Shortest Length Javascript Under Construction O(n^3) on average O(n^2) Medium 📖
472 Concatenated Words Javascript Under Construction O(n * l^2) O(n * l) Medium
474 Ones and Zeroes Javascript Under Construction O(s * m * n) O(m * n) Medium
514 Freedom Trail Javascript Under Construction O(k) ~ O(k * r^2) O(r) Hard
516 Longest Palindromic Subsequence Javascript Under Construction O(n^2) O(n) Medium
546 Remove Boxes Javascript Under Construction O(n^3) ~ O(n^4) O(n^3) Hard
552 Student Attendance Record II Javascript Under Construction O(n) O(1) Hard
562 Longest Line of Consecutive One in Matrix Javascript Under Construction O(m * n) O(n) Medium 📖
568 Maximum Vacation Days Javascript Under Construction O(n^2 * k) O(k) Hard 📖
576 Out of Boundary Paths Javascript Under Construction O(N * m * n) O(m * n) Medium
583 Delete Operation for Two Strings Javascript Under Construction O(m * n) O(n) Medium
600 Non-negative Integers without Consecutive Ones Javascript Under Construction O(1) O(1) Hard
629 K Inverse Pairs Array Javascript Under Construction O(n * k) O(k) Hard
639 Decode Ways II Javascript Under Construction O(n) O(1) Hard
650 2 Keys Keyboard Javascript Under Construction O(sqrt(n)) O(1) Medium
656 Coin Path Javascript Under Construction O(n * B) O(n) Hard 📖
664 Strange Printer Javascript Under Construction O(n^3) O(n^2) Hard
673 Number of Longest Increasing Subsequence Javascript Under Construction O(n^2) O(n) Medium
688 Knight Probability in Chessboard Javascript Under Construction O(k * n^2) O(n^2) Medium
689 Maximum Sum of 3 Non-Overlapping Subarrays Javascript Under Construction O(n) O(n) Hard
691 Stickers to Spell Word Javascript Under Construction O(T * S^T) O(T * S^T) Hard Backtracking, Memoization
712 Minimum ASCII Delete Sum for Two Strings Javascript Under Construction O(m * n) O(n) Medium
714 Best Time to Buy and Sell Stock with Transaction Fee Javascript Under Construction O(n) O(1) Medium
727 Minimum Window Subsequence Javascript Under Construction O(s * t) O(s) Hard 📖
730 Count Different Palindromic Subsequences Javascript Under Construction O(n^2) O(n) Hard
740 Delete and Earn Javascript Under Construction O(n) O(1) Medium
741 Cherry Pickup Javascript Under Construction O(n^3) O(n^2) Hard
746 Min Cost Climbing Stairs Javascript Under Construction O(n) O(1) Easy
750 Number Of Corner Rectangles Javascript Under Construction O(n * m^2) O(n * m) Medium
764 Largest Plus Sign Javascript Under Construction O(n^2) O(n^2) Medium
788 Rotated Digits Javascript Under Construction O(logn) O(logn) Easy Memoization
790 Domino and Tromino Tiling Javascript Under Construction O(logn) O(logn) Medium Matrix Exponentiation
799 Champagne Tower Javascript Under Construction O(n^2) O(n) Medium
801 Minimum Swaps To Make Sequences Increasing Javascript Under Construction O(n) O(1) Medium
805 Split Array With Same Average Javascript Under Construction O(n^4) O(n^3) Hard

Greedy

# Title Solution Time Space Difficulty Tag Note
011 Container With Most Water Javascript Under Construction O(n) O(1) Medium
042 Trapping Rain Water Javascript O(n) O(1) Hard Tricky
044 Wildcard Matching Javascript Under Construction O(m + n) O(1) Hard Tricky
045 Jump Game II Javascript O(n) O(1) Hard
055 Jump Game Javascript O(n) O(1) Medium
122 Best Time to Buy and Sell Stock II Javascript Under Construction O(n) O(1) Easy
134 Gas Station Javascript Under Construction O(n) O(1) Medium
135 Candy Javascript Under Construction O(n) O(n) Hard
316 Remove Duplicate Letters Javascript Under Construction O(n) O(k) Hard Ascending Stack
321 Create Maximum Number Javascript Under Construction O(k * (m + n + k)) ~ O(k * (m + n + k^2)) O(m + n + k^2) Hard variant of Delete Digits Greedy, DP
330 Patching Array Javascript Under Construction O(s + logn) O(1) Hard
376 Wiggle Subsequence Javascript Under Construction O(n) O(1) Medium
392 Is Subsequence Javascript Under Construction O(n) O(1) Medium
397 Integer Replacement Javascript Under Construction O(n) O(1) Medium Math
402 Remove K Digits Javascript Under Construction O(n) O(n) Medium LintCode
435 Non-overlapping Intervals Javascript Under Construction O(nlogn) O(1) Medium Scan Line
452 Minimum Number of Arrows to Burst Balloons Javascript Under Construction O(nlogn) O(1) Medium
455 Assign Cookies Javascript Under Construction O(nlogn) O(1) Easy
621 Task Scheduler Javascript Under Construction O(n) O(1) Medium
630 Course Schedule III Javascript Under Construction O(nlogn) O(k) Hard
646 Maximum Length of Pair Chain Javascript Under Construction O(nlogn) O(1) Medium similar to Non-overlapping Intervals Scan Line
649 Dota2 Senate Javascript Under Construction O(n) O(n) Medium
659 Split Array into Consecutive Subsequences Javascript Under Construction O(n) O(1) Medium
738 Monotone Increasing Digits Javascript Under Construction O(1) O(1) Medium
757 Set Intersection Size At Least Two Javascript Under Construction O(nlogn) O(n) Hard
759 Employee Free Time Javascript Under Construction O(m * logn) O(n) Hard
763 Partition Labels Javascript Under Construction O(n) O(n) Medium
767 Reorganize String Javascript Under Construction O(n) O(1) Medium
798 Smallest Rotation with Highest Score Javascript Under Construction O(n) O(1) Hard

Graph

# Title Solution Time Space Difficulty Tag Note
765 Couples Holding Hands Javascript Under Construction O(n) O(n) Hard

Geometry

# Title Solution Time Space Difficulty Tag Note
587 Erect the Fence Javascript Under Construction O(nlogn) O(n) Hard Monotone Chain

Design

# Title Solution Time Space Difficulty Tag Note
146 LRU Cache Javascript Under Construction O(1) O(k) Hard
225 Implement Stack using Queues Javascript Under Construction push: O(n), pop: O(1), top: O(1) O(n) Easy
284 Peeking Iterator Javascript Under Construction O(1) O(1) Medium
348 Design Tic-Tac-Toe Javascript Under Construction O(1) O(n^2) Medium 📖
353 Design Snake Game Javascript Under Construction O(1) O(s) Medium 📖 Deque
355 Design Twitter Javascript Under Construction O(klogu) O(t + f) Medium LintCode Heap
359 Logger Rate Limiter Javascript Under Construction O(1), amortized O(k) Easy 📖 Deque
362 Design Hit Counter Javascript Under Construction O(1), amortized O(k) Medium 📖 Deque
379 Design Phone Directory Javascript Under Construction O(1) O(n) Medium 📖
380 Insert Delete GetRandom O(1) Javascript Under Construction O(1) O(n) Hard
381 Insert Delete GetRandom O(1) - Duplicates allowed Javascript Under Construction O(1) O(n) Hard
432 All O`one Data Structure Javascript Under Construction O(1) O(n) Hard
460 LFU Cache Javascript Under Construction O(1) O(k) Hard
535 Encode and Decode TinyURL Javascript Under Construction O(1) O(n) Medium
588 Design In-Memory File System Javascript Under Construction ls: O(l + klogk)
mkdir: O(l)
addContentToFile: O(l + c)
readContentFromFile: O(l + c)
O(n + s) Hard 📖
604 Design Compressed String Iterator Javascript Under Construction O(1) O(1) Easy 📖
631 Design Excel Sum Formula Javascript Under Construction set: O((r * c)^2)
get: O(1)
sum: O((r * c)^2)
O(r * c) Hard 📖
635 Design Log Storage System Javascript Under Construction put: O(1)
retrieve: O(n + dlogd)
O(n) Medium 📖
642 Design Search Autocomplete System Javascript Under Construction O(p^2) O(p * t + s) Hard 📖
715 Range Module Javascript Under Construction add: O(n)
remove: O(n)
query: O(logn)
O(n) Hard
716 Max Stack Javascript Under Construction push: O(logn)
pop: O(logn)
popMax: O(logn)
top: O(1)
peekMax: O(1)
O(n) Easy
745 Prefix and Suffix Search Javascript Under Construction ctor: O(w * l^2)
search : O(p + s)
O(t) Hard Trie

SQL

# Title Solution Time Space Difficulty Tag Note
175 Combine Two Tables MySQL O(m + n) O(m + n) Easy
176 Second Highest Salary MySQL O(n) O(1) Easy
177 Nth Highest Salary MySQL O(n^2) O(n) Medium
178 Rank Scores MySQL O(n^2) O(n) Medium
180 Consecutive Numbers MySQL O(n) O(n) Medium
181 Employees Earning More Than Their Managers MySQL O(n^2) O(1) Easy
182 Duplicate Emails MySQL O(n^2) O(n) Easy
183 Customers Who Never Order MySQL O(n^2) O(1) Easy
184 Department Highest Salary MySQL O(n^2) O(n) Medium
185 Department Top Three Salaries MySQL O(n^2) O(n) Hard
196 Delete Duplicate Emails MySQL O(n^2) O(n) Easy
197 Rising Temperature MySQL O(n^2) O(n) Easy
262 Trips and Users MySQL O((t * u) + tlogt) O(t) Hard

Shell Script

# Title Solution Time Space Difficulty Tag Note
192 Word Frequency Shell O(n) O(k) Medium
193 Valid Phone Numbers Shell O(n) O(1) Easy
194 Transpose File Shell O(n^2) O(n^2) Medium
195 Tenth Line Shell O(n) O(1) Easy