Sliding Window· 25 min

Longest Subarray of 1's After Deleting One Element

LeetCode #1493 · Medium · Interactive step-by-step visualization

Setup

Example inputnums = [1,1,0,1]
Step 1 / 16

Current step

1 / 16

Enter 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
0
1
1
0
2
1
3
Current 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