利用 l,r 作为边界维护滑动窗口和总值 当和总值小于 target,r++ 向右扩大滑动窗口 当和总值大于 target,l++ 向右缩小滑动窗口 当和总值等于 target,存储当前 [l,r] 的排序,并继续 l++ 向右缩小滑动窗口
func findContinuousSequence(target int) [][]int {
ans := make([][]int, 0)
l, r := 1, 2
for l <= target/2 {
sum := (l + r) * (r-l+1)/2
if sum == target {
res := make([]int, 0)
for i := l; i <= r; i++ {
res = append(res, i)
}
ans = append(ans, res)
l++
} else if sum < target {
r++
} else if sum > target {
l++
}
}
return ans
}