LeetCode209:长度最小的子数组

题目描述

给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其总和大于等于 target 的长度最小的 连续

子数组

numsl, numsl+1, ..., numsr-1, numsr\] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 **示例** 输入:target = 7, nums = \[2,3,1,2,4,3

输出:2

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

解题思想

使用滑动窗口

代码

cpp 复制代码
class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int sum = 0;
        int i = 0;
        int result = INT32_MAX;
        for (int j = 0; j < nums.size(); j++) {
            sum += nums[j];
            while (sum >= target) {
                result = min(result, j - i + 1);
                sum-=nums[i];
                i++;
            }
        }
        return result == INT32_MAX ? 0 : result;
    }
};
相关推荐
贾斯汀玛尔斯2 小时前
每天学一个算法--LSM-Tree(Log-Structured Merge Tree)
java·算法·lsm-tree
浅念-6 小时前
刷穿LeetCode:BFS 解决 Flood Fill 算法
数据结构·c++·算法·leetcode·职场和发展·bfs·宽度优先
做cv的小昊7 小时前
【TJU】研究生应用统计学课程笔记(8)——第四章 线性模型(4.1 一元线性回归分析)
笔记·线性代数·算法·数学建模·回归·线性回归·概率论
贾斯汀玛尔斯7 小时前
每天学一个算法--倒排索引(Inverted Index)
算法·inverted-index
小e说说7 小时前
打破偏科困境:这些学习软件助孩子重燃学习热情
算法
月昤昽8 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
休息一下接着来8 小时前
C++ 固定容量环形队列实现
c++·算法
im_AMBER9 小时前
手撕hot100之矩阵!看完这篇就AC~
javascript·数据结构·线性代数·算法·leetcode·矩阵
笨笨饿9 小时前
#79_NOP()嵌入式C语言中内联汇编宏的抽象封装模式研究
linux·c语言·网络·驱动开发·算法·硬件工程·个人开发