题目描述
https://leetcode-cn.com/problems/count-number-of-nice-subarrays/
解
func numberOfSubarrays(nums []int, k int) int {
var (
t int
c = make([]int, 0, len(nums))
)
c = append(c, -1)
for p, v := range nums {
if v%2 == 1 {
c = append(c, p)
}
}
c = append(c, len(nums))
if len(c) < k {
return 0
}
for i := 1; i+k < len(c); i++ {
t += (c[i] - c[i-1]) * (c[i+k] - c[i+k-1])
}
return t
}
思路
及时总结和归纳吧!
网友评论