Sliding Window· 25 min
Longest Subarray of 1's After Deleting One Element
LeetCode #1493 · Medium · Interactive step-by-step visualization
Setup
Example input
nums = [1,1,0,1]Step 1 / 16
Current step
1 / 16Enter index 0. The right boundary expands to inspect one new value. 1 enters the window.
Step log
nums (exactly one element must be deleted)
CURRENT WINDOW
1Enter
01
10
21
3Current dotted windowSaved best rangeEnter index 0
zeroes
0
best
0
Active cursor
Comparing
Best or completed
Leaving or removed
longest-subarray-of-1s-after-deleting-one-element.java
1public int longestSubarray(int[] nums) {2 int left = 0, zeroes = 0, best = 0;3 for (int right = 0; right < nums.length; right++) {4 if (nums[right] == 0) zeroes++;5 while (zeroes > 1)6 if (nums[left++] == 0) zeroes--;7 best = Math.max(best, right - left);8 }9 return best;10}● Java
Time
O(n)
Space
O(1)
Pattern
sliding window
Frames
16
