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

Hiring now

Boston Consulting Group has 467 open roles right now

landed applies to roles like these for you, on each company’s own site, with answers written for the role.

Get 5x interviews10 free auto-applies. No card.
  • Delivery AI Software Engineer

    Gurgaon, Haryana, India

  • Global IT Software Engineer Senior Specialist

    Gurgaon, Haryana, India

  • Content Specialist - BCG Vantage

    Gurgaon, Haryana, India

Or practice this question first

Next question