// Package q1493 implements a solution for https://leetcode.com/problems/longest-subarray-of-1s-after-deleting-one-element/ package q1493 func longestSubarray(nums []int) int { prev, cur := 0, 0 longest := 0 has0 := false for _, a := range nums { if a == 1 { cur++ } longest = max(longest, prev+cur) if a == 0 { prev, cur = cur, 0 has0 = true } } if !has0 { longest-- } return longest } var _ = longestSubarray