Practice Coding Problems

Build confidence through questions, exercises and worked examples.

Practice → reason → trace → test

Build algorithm instincts, not answer memory.

Each problem asks you to predict the state before reading code, explain the invariant in plain language, implement it in Python and TypeScript, then attack the assumptions with edge cases.

Practice ladder

Move from lookup state to cumulative state

Start with a direct complement lookup, then deepen the same hash-map habit by storing a computed running state and its frequency.

01
BeginnerReviewed 2026-08-17

Two Sum with Indices

Learn the two-sum pattern by predicting state, tracing a hash map, comparing brute force, and testing edge cases in Python and TypeScript.

arrayshash mapscomplementssingle-pass algorithmstime complexity
Trace
4 states
Reasoning
2 checks
Tests
3 cases
Solve with tutor guidance →
02
IntermediateReviewed 2026-08-22

Subarray Sum Equals K

Learn prefix-sum counting by tracing prior cumulative totals, comparing brute force, and testing negatives and repeated prefixes in Python and TypeScript.

arraysprefix sumshash mapsfrequency countingsubarrays
Trace
5 states
Reasoning
3 checks
Tests
4 cases
Solve with tutor guidance →
Keep the reasoning connected

Practice is one part of the learning loop.

Use the Python course when the collection model is unclear, and System Design when you want to connect local lookup trade-offs to larger memory, caching, and indexing decisions.