给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
时间: 2024-05-19 16:11:01 浏览: 91
一个未排序的整数数组,请找出其中没有出现的最小的正整数。
5星 · 资源好评率100%
思路:滑动窗口
我们使用双指针 left 和 right 表示一个窗口。
开始时,left 和 right 都指向 0。
我们先增加 right,直到窗口内的数字和 sum 大于等于了 target。
此时,我们更新一下最短长度,并减少 left 直到 sum 小于 target。
重复上述过程,直到 right 到达数组末尾。
代码:
阅读全文