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;
        }
};
相关推荐
YIN_尹1 分钟前
CANN开源仓Catlass模板库核心能力与编程实战
java·开源·dubbo
华如锦2 分钟前
微调—— LlamaFactory工具:使用WebUI微调
java·人工智能·python·ai
AndrewHZ3 分钟前
【图像处理基石】光线追踪(Ray Tracing)算法入门
图像处理·人工智能·算法·计算机视觉·计算机图形学·光线追踪·渲染技术
武子康6 分钟前
Java-215 RocketMQ 消费模式:Push vs Pull 的本质、长轮询机制与 Offset/积压调优要
java·大数据·分布式·消息队列·rocketmq·java-rocketmq·mq
侧耳倾听1118 分钟前
分布式ID之雪花算法
java·分布式
橘颂TA8 分钟前
【剑斩OFFER】算法的暴力美学——两数相加
c++·算法·结构与算法
youngee119 分钟前
hot100-54在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
大叔_爱编程10 分钟前
基于人脸识别的互联网课堂考勤系统-springboot
java·spring boot·毕业设计·人脸识别·源码·课程设计·课堂考勤系统
草莓熊Lotso10 分钟前
《算法闯关指南:递归,搜索与回溯算法--递归》--02. 合并两个有序链表,03. 反转链表
运维·数据结构·算法·链表
XFF不秃头11 分钟前
力扣刷题笔记-和为 K 的子数组
c++·笔记·算法·leetcode