力扣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;
    }
};
相关推荐
C137的本贾尼5 分钟前
(每日一道算法题)二叉树剪枝
算法·机器学习·剪枝
BUG收容所所长2 小时前
栈的奇妙世界:从冰棒到算法的华丽转身
前端·javascript·算法
XRZaaa2 小时前
常见排序算法详解与C语言实现
c语言·算法·排序算法
@我漫长的孤独流浪2 小时前
数据结构测试模拟题(4)
数据结构·c++·算法
智驱力人工智能2 小时前
智慧零售管理中的客流统计与属性分析
人工智能·算法·边缘计算·零售·智慧零售·聚众识别·人员计数
WindSearcher3 小时前
大模型微调相关知识
后端·算法
取酒鱼食--【余九】3 小时前
rl_sar实现sim2real的整体思路
人工智能·笔记·算法·rl_sar
Magnum Lehar5 小时前
vulkan游戏引擎test_manager实现
java·算法·游戏引擎
水蓝烟雨5 小时前
[面试精选] 0094. 二叉树的中序遍历
算法·面试精选
超闻逸事5 小时前
【题解】[UTPC2024] C.Card Deck
c++·算法