《代码随想录》-3.长度最小的子数组

题目:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。

滑动窗口
只用一个for循环,其索引指向窗口终点位置
窗口是满足其和>=s的最小长度的连续数组
当窗口大于等于s,起始位置就要前进

核心代码

while(sum>=s){
  subLength=j-i+1;
  result=result<subLength?result:subLength;
  sum=sum-num[i++];//不断变更i
}

时间复杂度:O(n)
空间复杂度:O(1)

posted @ 2024-05-16 18:13  宝蓝色覆盖全世界  阅读(6)  评论(0)    收藏  举报