Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the off-by-one errors pattern
The loop that runs one time too many, the slice that drops the last item, the index that starts in the wrong place.
What went wrong: a list of n numbers has n - k + 1 windows of size k. The loop makes only n - k, so the last window, 3 + 10, is skipped.
The fix: for i in range(len(nums) - k + 1):
Remember: check the count with the smallest case. With n = k there is 1 window, not 0.
The pattern behind it: off-by-one errors.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/b970f37e-1a93-4e23-9255-89a172e8a520" title="Debugging challenge: Best window of 2 misses the last pair" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/b970f37e-1a93-4e23-9255-89a172e8a520">TryBugHunt</a></p>