This repository contains my solutions to AlgoMonster questions, with some overlapping my LeetCode repository.
(Note: Rank indicates the percentage of submissions that my code outperforms in terms of runtime.)
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Binary Search | Java | 0ms | 100.00% | Basics |
| First True in a Sorted Array | Java | - | - | Basics |
| First Element Not Smaller Than Target | Java | - | - | Sorted Array |
| First Occurrence | Java | - | - | Sorted Array |
| Sqrt(x) | Java | 1ms | 98.02% | Sorted Array |
| Minimum in Rotated Sorted Array | Java | 0ms | 100.00% | Implicitly Sorted Array |
| Peak Index in a Mountain Array | Java | 0ms | 100.00% | Implicitly Sorted Array |
| Capacity To Ship Packages Within D Days | Java | 11ms | 69.45% | Advanced |
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Maximum Depth of Binary Tree | Java | 0ms | 100.00% | DFS on Tree |
| Count Good Nodes in Binary Tree | Java | 1ms | 100.00% | DFS on Tree |
| Balanced Binary Tree | Java | 0ms | 100.00% | DFS on Tree |
| Subtree of Another Tree | Java | 2ms | 97.86% | DFS on Tree |
| Invert Binary Tree | Java | 0ms | 100.00% | DFS on Tree |
| Construct Binary Tree from Preorder and Inorder Traversal | Java | 1ms | 95.85% | Binary Search Tree |
| Validate Binary Search Tree | Java | 0ms | 100.00% | Binary Search Tree |
| Insert into a Binary Search Tree | Java | 0ms | 100.00% | Binary Search Tree |
| Lowest Common Ancestor of a Binary Search Tree | Java | 5ms | 100.00% | Binary Search Tree |
| Serialize and Deserialize Binary Tree | Java | 17ms | 39.28% | Advanced |
| Lowest Common Ancestor of a Binary Tree | Java | 6ms | 100.00% | Advanced |
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Binary Tree Paths | Java | 1ms | 98.42% | Combinatorial Search |
| Backtracking | Java | - | - | Combinatorial Search |
| Letter Combinations of a Phone Number | Java | 0ms | 100.00% | Combinatorial Search |
| Palindrome Partitioning | Java | 7ms | 96.05% | Pruning |
| Generate Parentheses | Java | 0ms | 100.00% | Additional States |
| Permutations | Java | 1ms | 92.71% | Additional States |
| Word Break | Java | 1ms | 99.36% | Aggregation & Memoization |
| Coin Change | Java | 24ms | 32.15% | Aggregation & Memoization |
| 3Sum Closest | Java | 75ms | 5.16% | Deduplication |
| Combination Sum | Java | 1ms | 99.89% | Deduplication |
| Subsets | Java | 0ms | 100.00% | Additional Practices |
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Binary Tree Level Order Traversal | Java | 1ms | 89.68% | BFS on Tree |
| Binary Tree ZigZag Level Order Traversal | Java | 1ms | 69.75% | BFS on Tree |
| Binary Tree Right Side View | Java | 1ms | 71.42% | BFS on Tree |
| Minimum Depth of Binary Tree | Java | 2ms | 89.35% | BFS on Tree |
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Shortest Path | Java | - | - | Vanilla BFS |
| Flood Fill | Java | 0ms | 100.00% | Matrix as Graph |
| Number of Islands | Java | 2ms | 99.93% | Matrix as Graph |
| Knight Minimum Moves | Java | - | - | Matrix as Graph |
| Walls and Gates / Zombie in Matrix | Java | - | - | Matrix as Graph |
| Pacific Atlantic Water Flow | Java | 4ms | 98.87% | Matrix as Graph |
| Word Ladder | Java | 65ms | 86.22% | Implicit Graph |
| Open the Lock | Java | 79ms | 84.29% | Implicit Graph |
| Sliding Puzzle | Java | 6ms | 97.77% | Implicit Graph |
| Task Scheduling | Java | - | - | Directed Graph / Topological Sort |
| Reconstruct Sequence | Java | - | - | Directed Graph / Topological Sort |
| Task Scheduling II | Java | - | - | Directed Graph / Topological Sort |
| Course Schedule | Java | 6ms | 74.22% | Directed Graph / Topological Sort |
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Heap Fundamentals | Java | - | - | Introduction |
| K Closest Points to Origin | Java | 30ms | 64.77% | Top K |
| Merge k Sorted Lists | Java | 4ms | 79.14% | Top K |
| Kth Largest Element in An Array | Java | 3ms | 98.86% | Top K |
| Kth Smallest Element In A Sorted Matrix | Java | 11ms | 65.35% | Top K |
| Reorganize String | Java | 3ms | 65.10% | Moving Best |
| Ugly Number II | Java | 2ms | 99.46% | Moving Best |
| Find Median from Data Stream | Java | 99ms | 99.71% | Multiple Heaps |
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Climbing Stairs | Java | 0ms | 100.00% | Warmup |
| N-th Tribonacci Number | Java | 0ms | 100.00% | Warmup |
| House Robber | Java | 0ms | 100.00% | Constant Transition |
| Min Cost Climbing Stairs | Java | 0ms | 100.00% | Constant Transition |
| Unique Paths | Java | 0ms | 100.00% | Grid |
| Unique Paths II | Java | 0ms | 100.00% | Grid |
| Minimum Path Sum | Java | 3ms | 71.06% | Grid |
| Longest Increasing Subsequence | Java | 33ms | 76.57% | Non-constant Transition |
| Target Sum | Java | 113ms | 39.48% | Knapsack, Weight-Only |
| Coin Change | Java | 24ms | 32.15% | Knapsack, Weight-Only |
| Perfect Squares | Java | 22ms | 91.76% | Knapsack, Weight-Only |
| Palindromic Substrings | Java | 2ms | 99.65% | Interval |
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Prefix Count | Java | - | - | Trie |
| Question | Submission | Runtime | Rank | Category |
|---|---|---|---|---|
| Merge Intervals | Java | 7ms | 98.89% | Interval |
| Insert Interval | Java | 2ms | 26.99% | Interval |
| Meeting Rooms | Java | - | - | Interval |
| Min Stack | Java | 30ms | 77.28% | Stack |
| Daily Temperatures | Java | 22ms | 96.42% | Monotonic Stack |
| Sliding Window Maximum | Java | 7ms | 99.46% | Monotonic Stack |
| Nth Prime | Java | - | - | Math |