lc-go/solutions/14/q1493/solution.go

25 lines
443 B
Go

// 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