Basics — Data Structures & Control Flow
Before you grind algorithm patterns, get fluent with the tools: loops, conditionals, arrays, grids, lists, hash maps, sets, stacks, queues, and recursion. Each step opens with a plain-language API cheat sheet (no autocomplete needed) and ends with a short exercise, in Java, C#, Python, JavaScript, and TypeScript.
Control Flow
Arrays & Grids
How Arrays Work — API Cheat Sheet
easyNo exercise here — just how to declare, index, iterate, and manipulate raw arrays (and 2D grids) across Java, C#, Python, and JavaScript/TypeScript.
Square Every Element In Place
easyPractice raw array basics: fixed-size indexing, iteration, and in-place mutation.
Sum Each Row of a Grid
easyPractice 2D array basics: nested iteration and row/column indexing.
Lists
How Dynamic Lists Work — API Cheat Sheet
easyNo exercise here — Java's ArrayList and C#'s List<T> side by side, the two languages here with a resizable-list type distinct from a raw array.
Build a Sorted, Deduplicated List
easyPractice using a dynamic list (ArrayList/List) to collect, dedupe, and sort values.
Linked Lists
Hash-Based Structures
How Hash Maps Work — API Cheat Sheet
easyNo exercise here — the put/get/containsKey-style methods across Java, C#, Python, and JavaScript/TypeScript, the single most-used tool in interview problems.
Two Sum
easyFind two numbers in an array that add up to a target value.
How Hash Sets Work — API Cheat Sheet
easyNo exercise here — add/contains/remove across Java, C#, Python, and JavaScript/TypeScript, for the "have I seen this before" pattern that shows up everywhere.
Contains Duplicate
easyGiven an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.
Sorted Structures
Stacks & Queues
How Stacks Work — API Cheat Sheet
easyNo exercise here — push/pop/peek across Java, C#, Python, and JavaScript/TypeScript, and which type to actually use in each language.
Valid Parentheses
easyDetermine if a string of brackets is properly matched and nested.
How Queues Work — API Cheat Sheet
easyNo exercise here — enqueue/dequeue across Java, C#, Python, and JavaScript/TypeScript, and the O(n) trap that catches people using the wrong structure.
Serve the First K Customers in Line
easyPractice using a queue (Queue/Deque) to process items in first-in, first-out order.
How Priority Queues (Heaps) Work — API Cheat Sheet
easyNo exercise here — how to get a min-heap or max-heap in Java, C#, Python, and JavaScript/TypeScript, since only two of these languages ship one built in.
Last Stone Weight
easyYou are given an array of integers stones where stones[i] is the weight of the ith stone.
Strings
How Strings Work — API Cheat Sheet
easyNo exercise here — just the string methods you actually reach for in an interview, side by side across Java, C#, Python, and JavaScript/TypeScript.
How StringBuilder Works — API Cheat Sheet
easyNo exercise here — how to build up a string efficiently in a loop across Java, C#, Python, and JavaScript/TypeScript, without accidentally writing O(n^2) code.
Build a Repeated, Joined String
easyPractice building a string incrementally (StringBuilder/append) instead of repeated concatenation.
Recursion
How Recursion Works — Mental Model Cheat Sheet
easyNo exercise here — the base-case/recursive-case shape every recursive function shares, plus the call-stack mechanics and syntax across all five languages.
Factorial with Recursion
easyPractice writing a recursive function with a clear base case and recursive case.