力扣209-长度最小的子数组

长度最小的子数组

题目链接

解题思路:

1.i,j维护一段区间,sum为这段区间和

2如果说sum区间和大于target,那么指针j就可以后移。直到区间和达到题目要求的范围

3.返回区间大小

c++ 复制代码
class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int ans = INT_MAX;
        for(int i = 0,j = 0,sum = 0; i < nums.size();i++){
            sum += nums[i];
            while(sum - nums[j] >= target) sum -= nums[j++];
            if(sum >= target){
                ans = min(ans,i-j+1);
            }
        }
        if(ans == INT_MAX) ans=0;
        return ans;
    }
};
相关推荐
xyliiiiiL1 小时前
ZGC初步了解
java·jvm·算法
爱的叹息1 小时前
RedisTemplate 的 6 个可配置序列化器属性对比
算法·哈希算法
独好紫罗兰2 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法
每次的天空3 小时前
Android学习总结之算法篇四(字符串)
android·学习·算法
请来次降维打击!!!3 小时前
优选算法系列(5.位运算)
java·前端·c++·算法
qystca3 小时前
蓝桥云客 刷题统计
算法·模拟
别NULL3 小时前
机试题——统计最少媒体包发送源个数
c++·算法·媒体
weisian1514 小时前
Java常用工具算法-3--加密算法2--非对称加密算法(RSA常用,ECC,DSA)
java·开发语言·算法
程序员黄同学5 小时前
贪心算法,其优缺点是什么?
算法·贪心算法
SsummerC6 小时前
【leetcode100】每日温度
数据结构·python·leetcode