25 lines
443 B
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
|