Explain the sliding-window approach.
Skip to solutionKEEP THE
mediumDSA
How do you find the longest substring without repeating characters?
526 views
01
Understand the problem
stringssliding-window
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
Expand a sliding window with a set/map of last-seen indices. When you hit a repeat, jump the left edge past the previous occurrence. Track the max window length throughout — O(n) time, O(min(n, charset)) space.
Solution ready — 2 min read
Classified // press E to declassify
04
Read the code
Sliding window with last-seen map
Run Playgrounddef length_of_longest(s):
last = {}
left = best = 0
for right, ch in enumerate(s):
if ch in last and last[ch] >= left:
left = last[ch] + 1
last[ch] = right
best = max(best, right - left + 1)
return best
# --- demo ---
print(length_of_longest("abcabcbb")) # 3 ("abc")
print(length_of_longest("bbbbb")) # 105
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 66 of 127 decoded in the Data Structures & Algorithms track. One more won't hurt.