Algo and Data Structures

160 Coding Questions Spanning 15 Categories

Working through Algo Expert's interview prep to get passed tech gatekeepers

I've been working down the list of coding interview question from algoexpert.io and hackerrank.com. On this page I'll discuss my progress on Algo Expert. These problems are all about reaching the simplest solution in the best Big O time and space complexity. Meaning using the least amount of memory/space and the fastest run-time, the least amount of data iterations. Learning all these types of algorithms and data structures is fascinating but it isn't all that useful in my day-to-day development if I'm being honest, however there are those rare moments when to use a certain technique, then knowing this kind of stuff makes all the difference in your code. Anyway, it's a critical part of any serious technical interview and also when you're doing more serious backend development, not for the faint of heart. It's also kind of a rite of passage for backend engineers to travers a binary search tree in O(log n) and be familiar with something like the Dijkstra's algorithm if for no other reason than to geek out with other devs on how to find the shortest path between nodes.

Below is a list with my current progress along with some notes on the really interesting problems and the ones I don't want to forget. I'm going to keep studying these until I finish them all!

last updated: 2/20/2022

Completed Not Completed


Array 14/24

Title

Difficulty

Two Number Sum
Validate Subsequence
Sorted Squared Array
Tournament Winner
Non-Constructible Change
Three Number Sum
Smallest Difference
Move Element To End
Monotonic Array
Spiral Traverse
Longest Peak
Array Of Products
First Duplicate Value
Merge Overlapping Intervals
Four Number Sum
Subarray Sort
Largest Range
Min Rewards
Zigzag Traverse
Apartment Hunting
Calendar Matching
Waterfall Streams
Minimum Area Rectangle
Line Through Points

Binary Search Trees 7/10

Title

Difficulty

Find Closest Value In BST
BST Construction
Validate BST
BST Traversal
Min Height BST
Find Kth Largest Value In BST
Reconstruct BST
Same BSTs
Validate Three Nodes
Right Smaller Than

Binary Trees 6/13

Title

Difficulty

Branch Sums
Node Depths
Invert Binary Tree
Binary Tree Diameter
Find Successor
Height Balanced Binary Tree
Max Path Sum In Binary Tree
Find Nodes Distance K
Iterative In-order Traversal
Flatten Binary Tree
Right Sibling Tree
All Kinds Of Node Depths
Compare Leaf Traversal

Dynamic Programming 5/19

Title

Difficulty

Max Subset Sum No Adjacent
Number Of Ways To Make Change
Min Number Of Coins For Change
Levenshtein Distance
Number Of Ways To Traverse Graph
Max Sum Increasing Subsequence
Longest Common Subsequence
Min Number Of Jumps
Water Area
Knapsack Problem
Disk Stacking
Numbers In Pi
Maximum Sum Submatrix
Maximize Expression
Max Profit With K Transactions
Palindrome Partitioning Min Cuts
Longest Increasing Subsequence
Longest String Chain
Square of Zeroes

Famous Algorithms 1/5

Title

Difficulty

Kadane's Algorithm
Dijkstra's Algorithm
Topological Sort
Knuth - Morris - Pratt Algorithm
A* Algorithm

Graphs 1/13

Title

Difficulty

Depth-first Search
Single Cycle Check
Breadth-first Search
River Sizes
Youngest Common Ancestor
Remove Islands
Cycle In Graph
Minimum Passes Of Matrix
Boggle Board
Rectangle Mania
Detect Arbitrage
Two-Edge-Connected Graph
Airport Connections

Greedy Algorithms 3/5

Title

Difficulty

Minimum Waiting Time
Class Photos
Tandem Bicycle
Task Assignment
Valid Starting City

Heaps 0/5

Title

Difficulty

Min Heap Construction
Continuous Median
Sort K-Sorted Array
Laptop Rentals
Merge Sorted Arrays

Linked Lists 1/13

Title

Difficulty

Remove Duplicates From Linked List
Linked List Construction
Remove Kth Node From End
Sum of Linked Lists
Find Loop
Reverse Linked List
Merge Linked Lists
Shift Linked List
LRU Cache
Rearrange Linked List
Linked List Palindrome
Zip Linked List
Node Swap

Recursion 2/13

Title

Difficulty

Nth Fibonacci
Product Sum
Permutations
Powerset
Phone Number Mnemonics
Staircase Traversal
Lowest Common Manager
Interweaving Strings
Solve Sudoku
Generate Div Tags
Ambiguous Measurements
Number Of Binary Tree Topologies
Non-Attacking Queens

Searching 2/7

Title

Difficulty

Binary Search
Find Three Largest Numbers
Search In Sorted Matrix
Shifted Binary Search
Search For Range
Quickselect
Index Equals Value

Sorting 3/9

Title

Difficulty

Bubble Sort
Insertion Sort
Selection Sort
Three Number Sort
Quick Sort
Heap Sort
Radix Sort
Merge Sort
Count Inversions

Stacks 0/7

Title

Difficulty

Min Max Stack Construction
Balanced Brackets
Sunset Views
Sort Stack
Next Greater Element
Shorten Path
Largest Rectangle Under Skyline

Strings 5/15

Title

Difficulty

Palindrome Check
Caesar Cipher Encryptor
Run-Length Encoding
Generate Document
First Non-Repeating Character
Longest Palindromic Substring
Group Anagrams
Valid IP Addresses
Reverse Words In String
Minimum Characters For Words
Longest Substring Without Duplication
Underscorify Substring
Pattern Matcher
Smallest Substring Containing
Longest Balanced Substring

Tries 0/2

Title

Difficulty

Suffix Trie Construction
Multi String Search
So what do you think?

*Required