← Frontier Lab Interview Curriculum·Study guide 02 of 13
Senior-staff study guide · 02

Algorithms (LeetCode-style)

LeetCode-style algorithms (hash maps, windows, heaps, BFS/DFS, binary search, DP) are a filter rather than the main signal at frontier labs: reported lab problems are mostly mediums with a twist (delayed feedback, probability, K-limited switches, state-augmented BFS). Google DeepMind and Meta-style loops still include classic rounds. A senior-staff candidate must solve a medium in about 25 minutes with tests and stated complexity, then lead the follow-up: prove correctness, give tight complexity (e.g. Dijkstra with heaps), and adapt the solution without rewriting it.

50resources9courses8with video31from 2025–2644%advanced70/70question groups covered6%of interview evidence (5% at staff+)
Intro 4Core 24Advanced 22

The senior-staff bar

What L7-level depth looks like in this topic, the follow-up an interviewer would push on, and the resources that prepare you for it.

From the interview reportsAt Google L7 and Meta E7, coding is mostly a filter. Labs report LeetCode mediums (grid DP, sliding window, LIS, binary search) but far less often than practical problems.

Start here

The best resources for a time-poor senior engineer, newest first.

2026Practice

OpenAI Interview Notes (unofficial reconstructed problems)

Community repo (mirror of Schuture/OpenAI-Interview-Notes) · Sep 2026 · ~10 h

Reconstructed OpenAI problems with algorithmic cores and multi-part follow-ups: delayed-feedback binary search, version dependency search, grid paths with limited jumps, cluster node counting, memory allocator, infection spread.

2026Practice

NeetCode Roadmap (with video explanations)

Navdeep Singh (NeetCode) · 2026 · ~60 h

Dependency-ordered map of the NeetCode 150 by pattern (arrays & hashing → two pointers → sliding window → … → DP, graphs), each problem linked to a video walkthrough.

2026Practice

NeetCode 150 (practice list)

Navdeep Singh (NeetCode) · 2026 · ~60 h

The 150-problem list (Blind 75 plus 75 more) with filters by pattern and difficulty and linked solutions.

2026Practice

Grind 75

Yangshun Tay (author of Blind 75) · 2026 · ~40 h

Customizable, week-by-week schedule of 75–169 problems by topic and difficulty from the Blind 75 author.

2020Course

MIT 6.006 Introduction to Algorithms (Spring 2020, OCW)

Erik Demaine, Jason Ku, Justin Solomon (MIT OCW) · Feb 2020 · ~40 h

The latest OCW 6.006 with lecture videos, recitations and problem sets: data structures, sorting, BFS/DFS, shortest paths, DP (SRTBOT framework).

2017Book

Elements of Programming Interviews in Python

Adnan Aziz, Tsung-Hsien Lee, Amit Prakash · 2017 · ~40 h

Interview problems with Python solutions, variants and a test-harness judge; denser and harder than LeetCode explanations.

Learning path

Work through the stages in order. The last stage is the senior-staff layer: production case studies, papers to critique and large-scale trade-offs. Each resource's L7 line says what it adds at your level.

  1. 1

    Refresh the patterns

    Reload the pattern catalogue and Python complexity facts. · Week 1 (4–6 h)

    • 2026
      Yangshun Tay · 2026 · Reference · Intro · ~3 h
      Per-topic cheat sheets (arrays, strings, hash tables, graphs, heaps, DP…) with corner cases, techniques and must-do problems.
      L7Baseline; read the corner-case lists the night before.
    • 2026
      Navdeep Singh (NeetCode) · 2026 · Practice · Core · ~60 h
      Dependency-ordered map of the NeetCode 150 by pattern (arrays & hashing → two pointers → sliding window → … → DP, graphs), each problem linked to a video walkthrough.
      L7Fastest route to re-loading the pattern catalogue; the senior use is triage, so watch videos only for problems you can't solve in 25 minutes.
    • 2026
      Hello Interview · 2026 · Tutorial · Core · ~10 h
      Pattern-by-pattern lessons with animated walkthroughs and practice problems.
      L7Baseline; good for pattern refresh if you prefer text plus visuals.
    • 2023
      Python community · 2023 · Reference · Core · ~0.5 h
      Big-O of list, deque, dict and set operations in CPython.
      L7Lets you state the complexity of your Python, not textbook pseudocode (e.g. list.pop(0) is O(n)).
    • 2026
      Python Software Foundation · Oct 2026 · Reference · Core · ~1 h
      Heap operations, nlargest/merge, the priority-queue implementation notes (lazy deletion, tie-breaking) and bisect.
      L7Baseline; know tuple tie-breaking and lazy deletion for Dijkstra and top-k without looking.
    • 2016
      Eric Rowell · 2016 · Reference · Intro · ~0.5 h
      One-page complexity tables for common data structures and sorts.
      L7Baseline; skim.
  2. 2

    Do 40–60 mediums

    Unaided, 25 minutes each, complexity stated, from a pattern-balanced list. · Weeks 2–4 (20–25 h)

  3. 3

    Fill gaps with one course

    Use one video course only for weak topics (graphs, DP). · As needed (5–10 h)

    • 2020
      Erik Demaine, Jason Ku, Justin Solomon (MIT OCW) · Feb 2020 · Course · Core · ~40 h · video
      The latest OCW 6.006 with lecture videos, recitations and problem sets: data structures, sorting, BFS/DFS, shortest paths, DP (SRTBOT framework).
      L7Lets you rebuild graph and DP fundamentals with proofs; the SRTBOT DP lectures are the most useful.
    • 2020
      Tim Roughgarden · 2020 · Course · Advanced · ~40 h · paid · video
      Four-part book series from Stanford's CS161 lineage with free video playlists: divide and conquer, graphs and data structures, greedy and DP, NP-hard problems.
      L7Lets you explain why Dijkstra, heaps and DP work, which matters when DeepMind-style rounds probe the math; videos are free, books paid.
    • 2026
      Robert Sedgewick and Kevin Wayne (Princeton) · 2026 · Course · Core · ~50 h · video
      Video course on union-find, sorting, priority queues, symbol tables, graphs, strings, with graded Java assignments; free to audit.
      L7Use the union-find, priority-queue and graph weeks; skip the rest.
    • 2018
      Abdul Bari · 2018 · Course · Intro · ~25 h · video
      Whiteboard explanations of classic algorithms: recurrences, greedy, DP (knapsack, LCS), graphs, backtracking.
      L7Baseline; good for a quick visual refresh of a single topic.
    • 2019
      William Fiset · 2019 · Course · Core · ~10 h · video
      Short videos on BFS, DFS, topological sort, Dijkstra, union-find, bridges and more, with code.
      L7Baseline; use for single-topic refresh.
    • 2020
      Alvin Zablan (freeCodeCamp) · Dec 2020 · Lecture · Intro · ~5 h · video
      Five-hour lecture on memoization and tabulation through canonical problems.
      L7Baseline; skip if you can write tabulated DP fluently.
  4. 4

    Lab-style variants

    Practise the reported lab problems and turn them into clean classes. · Week 5 (6–8 h)

  5. 5

    Senior-staff depth

    Defend correctness and complexity, and handle hard follow-ups (state-space search, probability, amortized structures). · Week 5–6 (6–10 h)

Question coverage

Every question group collected for this topic from candidate reports, mapped to the resources that prepare you for it. 70 of 70 groups are covered, which is 100% of all report mentions. Hover an example to see the full question.

ReportsQuestion group and examplePrepare with
2encode/decode list of stringsOpenAI 1, Anthropic 1Implement encode and decode for a list of strings.LeetCode set: arrays, hashing and two pointers (271, 238, 217, 49, 438, 1570, 15)LC 271 length-prefixed encoding
1LeetCode medium variantAnthropic 1Live coding: LeetCode-medium-level problem with a twistNeetCode 150 (practice list)NeetCode Roadmap (with video explanations)Medium patterns plus adapting to twists
1easy LeetCode with complexityOpenAI 1AI-enabled coding screen: easy LeetCode problem, but must discuss time complexity and memoryTech Interview Handbook: data structures and algorithms study cheatsheetsPython Wiki: TimeComplexityComplexity and memory facts for easy problems
1standard Meta codingMeta MSL 1Coding: a standard Meta questionGrind 75NeetCode 150 (practice list)Standard Meta-style mediums by pattern
1overlapping grid regionsOpenAI 1Given 2 2D grids, return the number of overlapping regions. A region is defined as all adjacent cells (4 directions) with same value differe…LeetCode set: grid BFS and state-space search (200, 1905, 994, 1091, 490, 864, 1293)LC 1905 Count Sub Islands; grid flood fill
1consecutive runs avoiding pairsOpenAI 1Given n and a list of pairs of numbers that are forbidden to be in the same sequence, count the sub-sequences (any size) of consecutive numb…LeetCode set: sliding window and prefix sums (76, 239, 2373, 1413)NeetCode Roadmap (with video explanations)Two-pointer window that shrinks on forbidden pairs
1minimum start valueOpenAI 1Stay Positive: given an array and a positive starting value x, a running sum adds each element to x; find the minimum x such that the runnin…LeetCode set: sliding window and prefix sums (76, 239, 2373, 1413)LC 1413 prefix-minimum start value
1robot bounded in circleOpenAI 1Encircular: a robot on an infinite plane follows a command string of G/L/R repeated forever; for each command string return YES/NO whether s…LeetCode set: simulation and parsing (68, 227, 1041)LC 1041 robot bounded in circle
1count machines in treeOpenAI 1Algorithmic problem: count the number of machines in a tree (tree-traversal twist)OpenAI Interview Notes (unofficial reconstructed problems)LeetCode set: trees (543, 297, 426, 429)cluster-count-topology; tree traversal counting
1longest increasing subsequencexAI 1find length of subsequent growing sequence in arrayLeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)LC 300 LIS, O(n log n) patience version
1shortest path via waypointGoogle DeepMind 1Grid with blocked cells (4) and open cells (0/1/2/3); moves cost 1 only on first visit to a cell; find the shortest path from the 2 to the 3…LeetCode set: grid BFS and state-space search (200, 1905, 994, 1091, 490, 864, 1293)cp-algorithms: Dijkstra (and 0-1 BFS)BFS over (cell, visited-waypoint) state; 0-1 BFS costs
1max GPUs with switchingMistral 1If a new workload can switch between clusters, what is the maximum number of GPUs it could get (sum of daily max remaining)?LeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)Unlimited switches: sum daily max; contrast with K-limited DP
1max GPUs with K switchesMistral 1If the workload can only switch clusters K times, what is the maximum number of GPUs it can get? (DP)LeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)LC 188 K-transaction state machine DP
1earliest supporting version searchOpenAI 1Dependency version check: given versions like 103.003.02, find the earliest version that supports a feature; corner test cases reveal new re…LeetCode set: binary search on answers (374, 278)OpenAI Interview Notes (unofficial reconstructed problems)First bad version; version-dependency search
1linked list with checkpointsOpenAI 1Implement a simplified 'vector' (indexed sequence) with add(index, val) that shifts later elements and get(index); improve via linked list w…cp-algorithms: Sqrt DecompositionSqrt decomposition for checkpoints every k
1binary search delayed feedbackOpenAI 1Binary search to guess a secret number where the too-high/too-low feedback is delayed by one call (each response refers to the previous gues…OpenAI Interview Notes (unofficial reconstructed problems)LeetCode set: binary search on answers (374, 278)guess-number-delayed; LC 374 oracle search
1group testing bad nodesxAI 1GPU node group testing: N nodes, test(S) is False if S contains any bad node; tests can run in parallel but a node can't be in two concurren…Group testingAdaptive binary splitting and parallel group tests
1dynamic programmingAnthropic 1 · 1 staff+Staff-level coding interview: a LeetCode dynamic-programming problem (despite being told it would not be LeetCode)LeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)Dynamic Programming — Learn to Solve Algorithmic Problems & Coding ChallengesNeetCode Roadmap (with video explanations)DP problem set; memoization to tabulation
1LeetCode medium/hardxAI 1Three 45-min tech rounds: a LeetCode medium, a LeetCode hard-ish problem, and a few small system design questions plus a classic algorithm q…NeetCode 150 (practice list)CSES Problem SetMedium and hard practice
1R-tree spatial queryGoogle DeepMind 1Coding question whose good solution needed an R-tree (spatial indexing), asked by a core SWE interviewerR-tree (overview with Guttman 1984 reference)R-tree structure for spatial range queries
1lists and queuesOpenAI 1Phone screen: easy LeetCode-style question on lists and queuesNeetCode Roadmap (with video explanations)Linked list and queue pattern section
1grid infection simulation BFSOpenAI 1Disease-spread grid simulation: given a grid of healthy/infected cells, return the board state after n rounds of infection spreading to neig…LeetCode set: grid BFS and state-space search (200, 1905, 994, 1091, 490, 864, 1293)OpenAI Interview Notes (unofficial reconstructed problems)LC 994 multi-source BFS; infection-spread
1infection with recovery timeOpenAI 1Follow-up: add a recoveryTime after which infected cells become immune (state 3) and stop spreadingOpenAI Interview Notes (unofficial reconstructed problems)infection-spread recovery time / immune state
1LC medium with probability twistGoogle DeepMind 1Coding round 1: modified LeetCode-medium problem with a probability twist, plus several follow-ups including a hard oneLeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)Probability for Computer Scientists (CS109 course reader)LC 688 probability DP; expectation basics
1probabilistic shortest pathGoogle DeepMind 1Coding round 2: problem with a probability + graph framing solved with Dijkstra's algorithm; in-depth discussion of the math and complexity …LeetCode set: graphs, union-find and Dijkstra (684, 547, 269, 1514, 141)cp-algorithms: Dijkstra (and 0-1 BFS)LC 1514 max-probability Dijkstra; heap complexity
Show the other 45 question groups
1union-find optimizationGoogle DeepMind 1Coding problem with O(n^3) brute force, optimized to O(n^2), where the optimal solution uses Union-Find; asked to implement brute force firs…cp-algorithms: Disjoint Set UnionLeetCode set: graphs, union-find and Dijkstra (684, 547, 269, 1514, 141)Union-find with path compression; LC 684
1anagram string problemsUnspecified frontier 1Two string-processing / anagram-style coding problems at medium-hard level (e.g. LeetCode "Count Anagrams")LeetCode set: arrays, hashing and two pointers (271, 238, 217, 49, 438, 1570, 15)LC 438 and 49 anagram counting
1tree diameter in nodesMeta (org unspecified) 1Coding: variation of LeetCode 543 (Diameter of Binary Tree) counting nodes instead of edgesLeetCode set: trees (543, 297, 426, 429)LC 543 diameter, count nodes not edges
1longest valid parenthesesMeta (org unspecified) 1Coding: LeetCode 32 (Longest Valid Parentheses)LeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)LC 32 longest valid parentheses
1sparse vector dot productMeta (org unspecified) 1Online screen: sparse vector dot product; after a hashmap solution, asked for another solution without hashing (two pointers)LeetCode set: arrays, hashing and two pointers (271, 238, 217, 49, 438, 1570, 15)LC 1570 sparse dot product, two-pointer over index lists
12D sliding window maxOpenAI 1Largest Local Values in a Matrix generalized to a k x k window instead of 3 x 3 (aim for O(n^2), e.g. two 1-D sliding-window maxima)LeetCode set: sliding window and prefix sums (76, 239, 2373, 1413)LC 2373 generalized with monotonic deques (LC 239)
1grid DP with jumpsOpenAI 1Grid board N x M, start at (0, p); move to (i+1, j-1), (i+1, j), (i+1, j+1) or a special jump (i+2, j) used at most K times; find max score …LeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)OpenAI Interview Notes (unofficial reconstructed problems)LC 931 falling path; grid-path-limited-jumps
1subset max separationAnthropic 1Given an N x M matrix A of impact points (launches x teams), choose a subset of launches to maximize the max over teams i of sum_j |score[j]…The Algorithm Design Manual, 3rd EditionCompetitive Programmer's HandbookBitmask/backtracking subset search modelling
1threshold infection simulationAnthropic 1Simulate infection spread on a 2D grid where a cell becomes infected once K neighbors are infected; optimize beyond O(NM) per step using BFSOpenAI Interview Notes (unofficial reconstructed problems)infection-spread K-neighbour threshold
1LeetCode mediumAnthropic 1Anthropic Fellows live technical (60 min): a single LeetCode-medium problemNeetCode 150 (practice list)Single LeetCode medium practice
1GPU node grouping union-findxAI 1GPU node grouping with union-findcp-algorithms: Disjoint Set UnionUnion-find grouping of GPU nodes
1follow links find endpoint or loopOpenAI 1New grad CoderPad OA Q1 "Simple Network": each node links to at most one next node; from start_node_id follow from_ids/to_ids links and retu…LeetCode set: graphs, union-find and Dijkstra (684, 547, 269, 1514, 141)LC 141 cycle detection on next-pointer graph
1count paths through 4 shop typesOpenAI 1New grad CoderPad OA Q2 "Count Paths": given shop types 0–3 and roads between shops, count the paths that visit one shop of each of the 4 ty…Algorithms (free textbook)MIT 6.006 Introduction to Algorithms (Spring 2020, OCW)DP over DAG paths through ordered shop types
1grid spread simulationOpenAI 1 · 1 staff+Disease Spread in Flower Grid.OpenAI Interview Notes (unofficial reconstructed problems)LeetCode set: grid BFS and state-space search (200, 1905, 994, 1091, 490, 864, 1293)Grid spread simulation; BFS by day
1LRU cache with TTLOpenAI 1, xAI 1Implement an LRU cache with O(1) get/put, then add TTL.LeetCode set: design problems (146, 341, 1146, 2502, 2408)LC 146 LRU, then lazy TTL expiry
1first n Fibonacci numbersOpenAI 1Write a Python function that displays the first n Fibonacci numbers.LeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)LC 509 Fibonacci iteratively
1streaming top-k frequentGoogle DeepMind 1You are receiving an unbounded stream of event IDs. Return the k most frequent IDs seen so far, at any point, with bounded memory.LeetCode set: heaps and top-k (347, 973, 253)Heap plus hash map for streaming top-k
1closest key dictionary lettersGoogle DeepMind 1Closest key: given a dictionary with letter keys and lists of letters as values, find the closest key.LeetCode set: graphs, union-find and Dijkstra (684, 547, 269, 1514, 141)Graph Theory playlistBFS over adjacency dictionary
1product of array except selfMeta MSL 1Given an array nums of n integers where n > 1, return an output array (product of array except self).LeetCode set: arrays, hashing and two pointers (271, 238, 217, 49, 438, 1570, 15)LC 238 prefix/suffix products
1minimum window substringMeta MSL 1Find the minimum window in S which will contain all the characters in T.LeetCode set: sliding window and prefix sums (76, 239, 2373, 1413)LC 76 minimum window substring
1serialize deserialize binary treeMeta MSL 1Serialize and deserialize a binary tree.LeetCode set: trees (543, 297, 426, 429)LC 297 serialize/deserialize
1binary tree to doubly linked listMeta MSL 1Convert a binary tree to a circular doubly linked list.LeetCode set: trees (543, 297, 426, 429)LC 426 tree to circular doubly linked list
1alien dictionaryMeta MSL 1Alien dictionary: determine character ordering from a sorted word list.LeetCode set: graphs, union-find and Dijkstra (684, 547, 269, 1514, 141)LC 269 topological sort of letters
1k closest/top-k/meeting roomsMeta MSL 1K closest points to origin; top-k frequent elements; minimum number of conference rooms.LeetCode set: heaps and top-k (347, 973, 253)LC 973, 347, 253
1regex matchingMeta MSL 1Regular expression matching with '.' and '*'.LeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)LC 10 regex DP
1streaming top-k engaged itemsMeta MSL 1Two-part warm-up: given a stream of user actions, return the k most engaged-with items. Then: why might your heap solution be the wrong choi…LeetCode set: heaps and top-k (347, 973, 253)Streaming top-k; bounded-memory follow-up
1nested list iteratorxAI 1Write an iterator class that lazily flattens an arbitrarily nested list of lists/integers: no generators, explicit state.LeetCode set: design problems (146, 341, 1146, 2502, 2408)LC 341 lazy nested iterator
1from-scratch data structuresAnthropic 1Coding round: after solving a problem cleanly with the standard library, implement the data structures from scratch and defend your complexi…Algorithms, 4th Edition (booksite)Elements of Programming Interviews in PythonImplement heap, hash table, union-find from scratch
1snapshot arrayxAI 1Snapshot ArrayLeetCode set: design problems (146, 341, 1146, 2502, 2408)LC 1146 snapshot array
1hierarchical binary search versionsOpenAI 1Find the latest Python version that supports a given package (binary search, extended to hierarchical binary search).OpenAI Interview Notes (unofficial reconstructed problems)LeetCode set: binary search on answers (374, 278)version-dependency hierarchical binary search
1text justificationAnthropic 1Implement a function to justify a list of words within a given width.LeetCode set: simulation and parsing (68, 227, 1041)LC 68 text justification
1memory allocator intervalsOpenAI 1Memory Allocator (75 min)LeetCode set: design problems (146, 341, 1146, 2502, 2408)OpenAI Interview Notes (unofficial reconstructed problems)LC 2502; memory-allocator intervals
1top-k frequent events streamGoogle DeepMind 1Most Frequent Events in a Stream (3 parts / 45 min)LeetCode set: heaps and top-k (347, 973, 253)Top-k frequent events in a stream
1array scan graph DFS warmupGoogle DeepMind 1Warm-Up: Scanning an Array and Traversing a Graph Depth-First (3 parts / 30–45 min)NeetCode Roadmap (with video explanations)Graph Theory playlistArray scan then graph DFS warm-ups
1BFS locked doors keysGoogle DeepMind 1Shortest Paths Through Locked Doors (3 parts / 45–60 min)LeetCode set: grid BFS and state-space search (200, 1905, 994, 1091, 490, 864, 1293)LC 864 BFS with key bitmask state
1token game winning positionsGoogle DeepMind 1Winning Positions in a Token-Moving Game (3 parts / 45–60 min)cp-algorithms: Games on arbitrary graphs (and Sprague-Grundy)Retrograde win/lose labelling on game graph
1BFS maze path printingMeta MSL 1Maze Solver with Path PrintingLeetCode set: grid BFS and state-space search (200, 1905, 994, 1091, 490, 864, 1293)Introduction to the A* AlgorithmLC 1091 BFS with came_from path printing
1max unique chars word subsetMeta MSL 1Maximize Unique Characters from Word ListLeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)LC 1239 backtracking with bitmasks
1three cards sum 15Meta MSL 1Card Game: Find Three Cards Summing to 15LeetCode set: arrays, hashing and two pointers (271, 238, 217, 49, 438, 1570, 15)LC 15 3Sum pattern for sum-15
1BFS maze directional gatesMeta MSL 1Maze Pathfinding AlgorithmLeetCode set: grid BFS and state-space search (200, 1905, 994, 1091, 490, 864, 1293)Introduction to the A* AlgorithmLC 490 maze with directional moves
1SQL executor meeting roomsOpenAI 1Design SQL / Meeting Rooms: build a SQL query executor or solve the meeting rooms scheduling problem.LeetCode set: design problems (146, 341, 1146, 2502, 2408)LeetCode set: heaps and top-k (347, 973, 253)LC 2408 SQL; LC 253 meeting rooms
1n-ary treeOpenAI 1N- ary treeLeetCode set: trees (543, 297, 426, 429)LC 429 N-ary traversal
1GPU capacity switching limitsMistral 1Compute Remaining GPUs With Switching Limits: n GPU clusters with fixed daily capacities capacity[i]; each day starts fresh with full capaci…LeetCode set: dynamic programming (300, 188, 931, 32, 10, 509, 1239, 688)LC 188-style K-switch capacity DP
1expression parser + and *Mistral 1Implement a parser to compute the mathematical result of a string containing numbers and basic operators like + and * (without parentheses).LeetCode set: simulation and parsing (68, 227, 1041)LC 227 stack-based + and * evaluation
1lookups and deduplicationMistral 1Solve a series of progressive coding challenges focused on efficient lookups and deduplication using arrays and sets.LeetCode set: arrays, hashing and two pointers (271, 238, 217, 49, 438, 1570, 15)NeetCode Roadmap (with video explanations)Hash-set lookups and dedup patterns

All resources

Everything collected for this topic, newest first. 2026 items are marked green. ★ marks a top pick.

Type
Level
Subtopic

Not found or not verified. Stanford CS161 has no public current-term site with videos (Roughgarden's Algorithms Illuminated is used instead). LeetCode, Codeforces and the MIT Press CLRS page block curl (403); LeetCode problems were confirmed in the doocs/leetcode index. Harvard Stat 110's site blocked curl, so Stanford CS109's reader covers probability. A few reported prompts ('count paths through 4 shop types', 'subset max separation', 'closest key') have no exact public version; they are mapped to the nearest technique resources. Links checked 27 Oct 2026.