leetcode209_长度最小的子数组

要求某个连续的区间内的元素值总和>=S .

思路:滑动窗口:本质上是一种双指针法。

(1)初始化left = right = 0;

(2)left不动,right移动,扩大窗口,直至符合要求;

(3)right不动,left移动,缩小窗口,直至不符合要求;

(4)重复(2)和(3),直至right到达末尾。

代码:

cpp 复制代码
class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int result = nums.size() + 1;
        int sum = 0;
        for(int i = 0, j = 0; j < nums.size(); j++){
            sum += nums[j];
            while(sum >= target){
                result = min(result, j - i + 1);
                sum -= nums[i];
                i++;
            }

        }
        return result == nums.size() + 1? 0 : result;
        }
};
相关推荐
客卿1231 分钟前
岛屿问题--bfs的应用--二维网络题目学习
学习·算法·宽度优先
无限进步_2 分钟前
【C++】只出现一次的数字 III:位运算的巧妙应用
数据结构·c++·git·算法·leetcode·github·visual studio
予枫的编程笔记5 分钟前
【面试专栏|Java并发编程】CAS 核心原理,优缺点,ABA问题与解决方案
java·并发编程·java面试·java并发·aba问题·cas原理·面试干货
2401_900151545 分钟前
代码覆盖率工具实战
开发语言·c++·算法
进击的小头7 分钟前
第8篇:PI控制器设计实战演练
c语言·python·mcu·算法
乌萨奇也要立志学C++9 分钟前
【洛谷】图论 图论最短路算法全解:从单源 Dijkstra 到多源 Floyd 模板与实战
算法·图论
AI科技星14 分钟前
基于v=c空间本底光速螺旋运动的宏观力方向第一性原理推导:太阳系与地球系统的全维度观测验证
人工智能·线性代数·算法·机器学习·平面
Epiphany.55615 分钟前
炸雷!(地址映射+dfs搜索)
算法
Crazyong18 分钟前
FreeRTOS-互斥量-2
算法
老前端的功夫25 分钟前
【Java从入门到入土】06:String的72变:从字符串拼接到底层优化
java·开发语言