会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员后可解锁完整内容。
解题思路
nums 里的元素都是正数,窗口右端点向右移动时,窗口和只会变大。因此用双指针维护和至少为 target 的最短窗口。
- 右端点 r 从 0 扫到 n−1,把 numsr 加进 64 位窗口和 s。
- 当 s≥target 时,区间 [l,r] 已经合法。用长度 r−l+1 更新答案,再减去 numsl,并把 l 右移一格。左端点只向前走。
- 若整个数组的和仍然小于 target,答案保持初始占位,输出 0。某个元素本身已经不小于 target 时,收缩后的长度会变成 1。
复杂度分析