Small challenges.
Stronger problem solving.
352 programming exercises and projects, from interview patterns to practical data automation.
50 problems
01Count predicate matchesPython · Complexity and contractsEasyFree02Count index pairsPython · Complexity and contractsEasyFree03Build prefix sumsPython · Arrays and prefix computationsEasyFree04Answer half-open range queriesPython · Arrays and prefix computationsEasyFree05Rotate an array without mutationPython · Arrays and prefix computationsEasyFree06Count integer frequenciesPython · Maps and lookup invariantsMediumPractice pack07Find the earliest finishing pairPython · Maps and lookup invariantsMediumPractice pack08Keep first occurrencesPython · Sets and membershipMediumPractice pack09Intersect two sets deterministicallyPython · Sets and membershipMediumPractice pack10Validate bracket nestingPython · Stacks and unresolved workMediumPractice pack11Find the next greater valuePython · Stacks and unresolved workMediumPractice pack12Simulate a FIFO queuePython · Queues and moving windowsMediumPractice pack13Compute fixed-window sumsPython · Queues and moving windowsMediumPractice pack14Traverse an indexed linked listPython · Linked structures and pointer reasoningMediumPractice pack15Detect a linked-list cyclePython · Linked structures and pointer reasoningMediumPractice pack16Find the lower insertion positionPython · Binary search and boundary invariantsMediumPractice pack17Find the first exact matchPython · Binary search and boundary invariantsMediumPractice pack18Merge sorted arraysPython · Sorting and mergingMediumPractice pack19Implement insertion sortPython · Sorting and mergingMediumPractice pack20Implement merge sortPython · Sorting and mergingMediumPractice pack21Write a recursive base casePython · Recursion and decreasing measuresMediumPractice pack22Flatten nested integer listsPython · Recursion and decreasing measuresMediumPractice pack23Exponentiate by squaringPython · Recursion and decreasing measuresMediumPractice pack24Traverse a binary tree in orderPython · Binary-tree traversalMediumPractice pack25Measure binary-tree heightPython · Binary-tree traversalMediumPractice pack26Collect leaves left to rightPython · Binary-tree traversalMediumPractice pack27Validate a strict search treePython · Binary search treesMediumPractice pack28Search a binary search treePython · Binary search treesMediumPractice pack29Validate an array min-heapPython · Heaps and bounded selectionMediumPractice pack30Insert into a min-heapPython · Heaps and bounded selectionMediumPractice pack31Keep the k largest valuesPython · Heaps and bounded selectionMediumPractice pack32Build an undirected adjacency listPython · Graph representationsMediumPractice pack33Count directed incoming edgesPython · Graph representationsMediumPractice pack34Find unweighted shortest distancesPython · BFS, DFS and componentsMediumPractice pack35Traverse depth firstPython · BFS, DFS and componentsMediumPractice pack36Count undirected connected componentsPython · BFS, DFS and componentsMediumPractice pack37Produce a deterministic topological orderPython · Graph constraints and shortest pathsMediumPractice pack38Check graph bipartitenessPython · Graph constraints and shortest pathsMediumPractice pack39Find shortest paths with nonnegative weightsPython · Graph constraints and shortest pathsMediumPractice pack40Select nonoverlapping intervalsPython · Greedy choices and interval boundariesMediumPractice pack41Merge overlapping closed intervalsPython · Greedy choices and interval boundariesMediumPractice pack42Enumerate subsetsPython · Backtracking and output-sensitive costMediumPractice pack43Enumerate permutationsPython · Backtracking and output-sensitive costMediumPractice pack44Enumerate fixed-size combinationsPython · Backtracking and output-sensitive costMediumPractice pack45Count one-or-two-step pathsPython · One-dimensional dynamic programmingMediumPractice pack46Find minimum coin countPython · One-dimensional dynamic programmingMediumPractice pack47Maximize a nonadjacent sumPython · One-dimensional dynamic programmingMediumPractice pack48Count right-and-down grid pathsPython · Two-dimensional dynamic programmingMediumPractice pack49Measure a longest common subsequencePython · Two-dimensional dynamic programmingMediumPractice pack50Compute unit-cost edit distancePython · Two-dimensional dynamic programmingMediumPractice pack
Progress is for your own learning. Browser test results are not a verified assessment.