lc-go/solutions/14/q1493/solution.go
2026-01-25 11:56:12 +09:00

24 lines
319 B
Go

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