algoexpert.io is a good resource to prepare for coding interviews. This repo contains my solutions of AE problems.
See index section below, there are solution grouped by both difficulty and category.
Name | Difficulty |
---|---|
Tournament Winner | Easy |
Two Number Sum | Easy |
Non-Constructible Change | Easy |
Validate Subsequence | Easy |
Transpose Matrix | Easy |
Sorted Squared Array | Easy |
Majority Element | Medium |
Missing Numbers | Medium |
Spiral Traverse | Medium |
Sweet And Savory | Medium |
Move Element To End | Medium |
Monotonic Array | Medium |
Zero Sum Subarray | Medium |
Merge Overlapping Intervals | Medium |
Longest Peak | Medium |
Array Of Products | Medium |
Best Seat | Medium |
First Duplicate Value | Medium |
Smallest Difference | Medium |
Three Number Sum | Medium |
Knight Connection | Hard |
Count Squares | Hard |
Four Number Sum | Hard |
Subarray Sort | Hard |
Longest Subarray With Sum | Hard |
Largest Range | Hard |
Zigzag Traverse | Hard |
Min Rewards | Hard |
Apartment Hunting | Very Hard |
Line Through Points | Very Hard |
Minimum Area Rectangle | Very Hard |
Waterfall Streams | Very Hard |
Calendar Matching | Very Hard |
Name | Difficulty |
---|---|
Find Closest Value In BST | Easy |
BST Construction | Medium |
Validate BST | Medium |
BST Traversal | Medium |
Min Height BST | Medium |
Find Kth Largest Value In BST | Medium |
Reconstruct BST | Medium |
Same BSTs | Hard |
Validate Three Nodes | Hard |
Repair BST | Hard |
Sum BSTs | Hard |
Right Smaller Than | Very Hard |
Name | Difficulty |
---|---|
Node Depths | Easy |
Evaluate Expression Tree | Easy |
Branch Sums | Easy |
Merge Binary Trees | Medium |
Invert Binary Tree | Medium |
Binary Tree Diameter | Medium |
Split Binary Tree | Medium |
Symmetrical Tree | Medium |
Find Successor | Medium |
Height Balanced Binary Tree | Medium |
Max Path Sum In Binary Tree | Hard |
Find Nodes Distance K | Hard |
All Kinds Of Node Depths | Very Hard |
Compare Leaf Traversal | Very Hard |
Right Sibling Tree | Very Hard |
Flatten Binary Tree | Very Hard |
Iterative In-order Traversal | Very Hard |
Name | Difficulty |
---|---|
Number Of Ways To Traverse Graph | Medium |
Number Of Ways To Make Change | Medium |
Min Number Of Coins For Change | Medium |
Max Subset Sum No Adjacent | Medium |
Levenshtein Distance | Medium |
Knapsack Problem | Hard |
Min Number Of Jumps | Hard |
Water Area | Hard |
Longest Common Subsequence | Hard |
Disk Stacking | Hard |
Max Sum Increasing Subsequence | Hard |
Juice Bottling | Hard |
Dice Throws | Hard |
Numbers In Pi | Hard |
Maximize Expression | Hard |
Maximum Sum Submatrix | Hard |
Max Profit With K Transactions | Very Hard |
Square of Zeroes | Very Hard |
Longest String Chain | Very Hard |
Longest Increasing Subsequence | Very Hard |
Palindrome Partitioning Min Cuts | Very Hard |
Name | Difficulty |
---|---|
Kadane's Algorithm | Medium |
Stable internships | Medium |
Union Find | Medium |
Dijkstra's Algorithm | Hard |
Topological Sort | Hard |
Kruskal's Algorithm | Hard |
Prim's Algorithm | Hard |
Knuth—Morris—Pratt Algorithm | Very Hard |
A* Algorithm | Very Hard |
Name | Difficulty |
---|---|
Depth-first Search | Easy |
Minimum Passes Of Matrix | Medium |
Single Cycle Check | Medium |
Breadth-first Search | Medium |
River Sizes | Medium |
Youngest Common Ancestor | Medium |
Remove Islands | Medium |
Cycle In Graph | Medium |
Two-Colorable | Medium |
Boggle Board | Hard |
Largest Island | Hard |
Rectangle Mania | Very Hard |
Airport Connections | Very Hard |
Two-Edge-Connected Graph | Very Hard |
Detect Arbitrage | Very Hard |
Name | Difficulty |
---|---|
Minimum Waiting Time | Easy |
Class Photos | Easy |
Tandem Bicycle | Easy |
Optimal Freelancing | Easy |
Task Assignment | Medium |
Valid Starting City | Medium |
Name | Difficulty |
---|---|
Min Heap Construction | Medium |
Continuous Median | Hard |
Sort K-Sorted Array | Hard |
Laptop Rentals | Hard |
Merge Sorted Arrays | Very Hard |
Name | Difficulty |
---|---|
Middle Node | Easy |
Remove Duplicates From Linked List | Easy |
Linked List Construction | Medium |
Remove Kth Node From End | Medium |
Merging Linked Lists | Medium |
Sum of Linked Lists | Medium |
Shift Linked List | Hard |
Merge Linked Lists | Hard |
Reverse Linked List | Hard |
Find Loop | Hard |
Rearrange Linked List | Very Hard |
Linked List Palindrome | Very Hard |
Zip Linked List | Very Hard |
Node Swap | Very Hard |
LRU Cache | Very Hard |
Name | Difficulty |
---|---|
Product Sum | Easy |
Nth Fibonacci | Easy |
Staircase Traversal | Medium |
Permutations | Medium |
Powerset | Medium |
Reveal Minesweeper | Medium |
Blackjack Probability | Medium |
Phone Number Mnemonics | Medium |
Solve Sudoku | Hard |
Interweaving Strings | Hard |
Generate Div Tags | Hard |
Ambiguous Measurements | Hard |
Lowest Common Manager | Hard |
Non-Attacking Queens | Very Hard |
Number Of Binary Tree Topologies | Very Hard |
Name | Difficulty |
---|---|
Binary Search | Easy |
Find Three Largest Numbers | Easy |
Search In Sorted Matrix | Medium |
Shifted Binary Search | Hard |
Search For Range | Hard |
Quickselect | Hard |
Index Equals Value | Hard |
Median Of Two Sorted Arrays | Very Hard |
Optimal Assembly Line | Very Hard |
Name | Difficulty |
---|---|
Bubble Sort | Easy |
Insertion Sort | Easy |
Selection Sort | Easy |
Three Number Sort | Medium |
Quick Sort | Hard |
Heap Sort | Hard |
Radix Sort | Hard |
Merge Sort | Very Hard |
Count Inversions | Very Hard |
Name | Difficulty |
---|---|
Min Max Stack Construction | Medium |
Balanced Brackets | Medium |
Sunset Views | Medium |
Best Digits | Medium |
Sort Stack | Medium |
Next Greater Element | Medium |
Reverse Polish Notation | Medium |
Colliding Asteroids | Medium |
Shorten Path | Hard |
Largest Rectangle Under Skyline | Hard |
Largest Park | Very Hard |
Name | Difficulty |
---|---|
Common Characters | Easy |
Caesar Cipher Encryptor | Easy |
Run-Length Encoding | Easy |
Semordnilap | Easy |
First Non-Repeating Character | Easy |
Generate Document | Easy |
Palindrome Check | Easy |
Longest Palindromic Substring | Medium |
One Edit | Medium |
Reverse Words In String | Medium |
Group Anagrams | Medium |
Minimum Characters For Words | Medium |
Valid IP Addresses | Medium |
Longest Substring Without Duplication | Hard |
Pattern Matcher | Hard |
Underscorify Substring | Hard |
Smallest Substring Containing | Very Hard |
Longest Balanced Substring | Very Hard |
Name | Difficulty |
---|---|
Suffix Trie Construction | Medium |
Multi String Search | Hard |
Longest Most Frequent Prefix | Hard |
Shortest Unique Prefixes | Hard |
Strings Made Up Of Strings | Very Hard |