Awesome Open Source
Awesome Open Source

Array Easy

# Title Solution Time Space Video
624 Maximum Distance in Arrays Python O(n) O(1)

Array Medium

# Title Solution Time Space Video
3 Longest Substring Without Repeating Characters Python O(n) O(n)
463 Island Perimeter Python O(n^2) O(1)

Hash Table Easy

# Title Solution Time Space Video
1 Two Sum Python O(n) O(n) 📺
242 Valid Anagram Python O(n) O(n)

# Title Solution Time Space Video
21 Merge Two Sorted Lists Python O(n) O(n)
89 Partition List Python O(n) O(n)
141 Linked List Cycle Python O(n) O(1)
160 Intersection of Two Linked Lists Python O(n) O(1)
203 Remove Linked List Elements Python O(n) O(1)
206 Reverse Linked List Python O(n) O(1)
234 Palindrome Linked List Python O(n) O(1)
83 Remove Duplicates from Sorted List Python O(n) O(1)

# Title Solution Time Space Video
2 Add Two Numbers Python O(n) O(n)
445 Add Two Numbers II Python O(n) O(n)
142 Linked List Cycle II Python O(n) O(1) 📺
328 Odd Even Linked List Python O(n) O(1)
143 Reorder List Python O(n) O(1)
24 Swap Nodes in Pairs Python O(n) O(1)
148 Sort List Python O(nlogn) O(1)
61 Rotate List Python O(n) O(1)
19 Remove Nth Node From End of List Python O(n) O(1) 📺
138 Copy List with Random Pointer Python O(n) O(n)

Stacks Easy

# Title Solution Time Space Video
155 Min Stack Python O(1) O(n)
225 Implement Stack using Queues Python push/pop: O(1) top:O(n) O(n)
20 Valid Parentheses Python O(n) O(n)
346 Moving Average from Data Stream Python O(1) O(n)

Tree Easy

# Title Solution Time Space Video
110 Balanced Binary Tree Python O(N) O(h)
107 Binary Tree Level Order Traversal II Python O(N) O(h)
112 Path Sum Python O(N) O(h) 📺
100 Same Tree Python O(N) O(1)
101 Symmetric Tree Python O(N) O(1) 📺
104 Maximum Depth of Binary Tree Python O(N) O(1)
108 Convert Sorted Array to Binary Search Tree Python O(N) O(N) 📺
111 Minimum Depth of Binary Tree Python O(N) O(1)
235 Lowest Common Ancestor of a Binary Search Tree Python O(N) O(1)
226 Invert Binary Tree Python O(N) O(1) 📺
543 Diameter of Binary Tree Python O(N) O(h) 📺
501 Find Mode in Binary Search Tree Python O(N) O(N) 📺
257 Binary Tree Paths Python O(N) O(N) 📺
572 Subtree of Another Tree Python O(S*T) O(1) 📺
437 Path Sum III Python O(N^2) O(1)
404 Sum of Left Leaves Python O(N) O(1) 📺
270 Closest Binary Search Tree Value Python O(N) O(1) 📺
563 Binary Tree Tilt Python O(N) O(1) 📺
538 Convert BST to Greater Tree Python O(N) O(1) 📺
637 Average of Levels in Binary Tree Python O(N) O(1)

Tree Medium

# Title Solution Time Space Video
144 Binary Tree Preorder Traversal Python O(N) O(N) 📺
102 Binary Tree Level Order Traversal Python O(N) O(N) 📺
107 Binary Tree Level Order Traversal II Python O(N) O(N)
515 Find Largest Value in Each Tree Row Python O(N) O(1)
236 Lowest Common Ancestor of a Binary Tree Python O(N) O(1) 📺
199 Binary Tree Right Side View Python O(N) O(N) 📺
114 Flatten Binary Tree to Linked List Python O(N) O(1) 📺
230 Kth Smallest Element in a BST Python O(N) O(1) 📺
582 Kill Process Python O(N) O(N) 📺

Backtrack Medium

# Title Solution Time Space Video
78 Subsets Python O(N*(2^N)) O(2^N) 📺
90 Subsets II Python O(N*(2^N)) O(2^N) 📺
46 Permutations Python O(N*(N!)) O(N!) 📺
47 Permutations II Python O(N*(N!)) O(N!) 📺
60 Permutation Sequence Python O(N * (N!) O(N)
77 Combinations Python O(N*(N!)) O(N!)
39 Combination Sum Python O(K * (2^N) O(N) 📺
40 Combination Sum II Python O(K * (2^N) O(N) 📺
216 Combination Sum III Python O(K * (2^N) O(N)
17 Letter Combinations of a Phone Number Python O(N*(4^N)) O(N) 📺
131 Palindrome Partitioning Python O(N*(2^N)) O(N) 📺

Greedy Medium

# Title Solution Time Space Video
452 Minimum Number of Arrows to Burst Balloons Python O(N) O(1)

Dynamic Programming Easy

# Title Solution Time Space Video
70 Climbing Stairs Python O(N) O(1) Easy
53 Maximum Subarray Python O(N) O(N) Easy
198 House Robber Python O(N) O(N) Easy

Dynamic Programming Medium

# Title Solution Time Space Video
64 Minimum Path Sum Python O(N^2) O(M*N) 📺
62 Unique Paths Python O(N^2) O(M*N) Reference #64
55 Jump Game Python O(N^2) O(1) TLE with DP/Use Greedy for O(N) Solution
45 Jump Game II Python O(N^2) O(1) TLE with DP/Use Greedy for O(N) Solution
300 Longest Increasing Subsequence Python O(N^2) O(1) Use Binary-Search for NlogN Solution

BitMap Easy

# Title Solution Time Space Video
136 Single Number Python O(N) O(1) 📺

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

🌱 MIT @ Yu Zhou 🌱

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (51,962
algorithm (494
algorithms (443