力扣算法 209 904 76 长度最小的子数组

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

示例:

输入:s = 7, nums = [2,3,1,2,4,3]

输出:2

解释:子数组 [4,3] 是该条件下的长度最小的子数组。

提示:

1 <= target <= 10^9

1 <= nums.length <= 10^5

1 <= nums[i] <= 10^5

滑动窗口的方法

cpp 复制代码
class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int result=INT32_MAX;
        int sum=0;//滑动窗口内的和
        int i=0;//oriented position
        int length=0;//滑动窗口长度
        for(int j=0;j<nums.size();j++)//end position
        {
            sum+=nums[j];//滑动窗口的数组和
            while(sum>=target)
            {
                length=j-i+1;
                result=result<length?result:length;
                sum-=nums[i++];//窗口始端往前移动
            }
        }
        return result==INT32_MAX?0:length;
    }
};

相关题目

904

76

相关推荐
爱丽_1 分钟前
数据库索引为什么选 B+ 树:InnoDB 聚簇索引、回表与覆盖索引
数据库·算法·哈希算法
wfbcg6 分钟前
每日算法练习:LeetCode 28. 找出字符串中第一个匹配项的下标 ✅
算法·leetcode·职场和发展
yy55279 分钟前
Mysql 高可用集群
数据结构
海天一色y23 分钟前
格林函数简介
数据结构
阿Y加油吧34 分钟前
力扣滑动窗口两大压轴题:最小覆盖子串 + 滑动窗口最大值(保姆级思路 + 代码详解)
算法·leetcode·职场和发展
北顾笙98043 分钟前
day11-数据结构力扣
数据结构·算法·leetcode
月落归舟1 小时前
Lambda + Arrays---小练习
数据结构·算法
SilentSlot1 小时前
[数据结构]B树的基本定义和操作
数据结构·b树·前端框架
2601_955354461 小时前
seo臻系统和百度seo有什么区别
算法
君义_noip1 小时前
信息学奥赛一本通 1487:【例 2】北极通讯网络
算法·图论·信息学奥赛·csp-s