DSA: Find the longest substring with at most 2 distinct characters

Asked atBoston Consulting Group
1Give yourself 5 minutes
2Answer out loud, not in your head
3Then compare with the answer below
0
Stuck? Show a way to structure it+
  1. 01State the contract and the key invariant for Longest Substring Two Distinct
  2. 02Expand right
  3. 03Increment frequency
  4. 04Shrink left while distinct count exceeds two
  5. 05Delete zero-count keys
  6. 06Validate the result against boundary cases and state O(n) time and O(k) space

Reference answer

Then expect these follow-ups

  • Which invariant proves the Longest Substring Two Distinct approach is correct?

    Tests: correctness reasoning

  • What edge case would you test first?

    Tests: follow-up reasoning

Free to read · better with Enzo

Practice this out loud with Enzo

Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.

Next question