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;
        }
};
相关推荐
weixin_462446231 分钟前
EasyExcel 动态修改模板 Sheet 名称:自定义 SheetWriteHandler 拦截器
java·开发语言·easyexcel
Math_teacher_fan2 分钟前
第二篇:核心几何工具类详解
人工智能·算法
汉克老师3 分钟前
CCF-NOI2025第二试题目与解析(第二题、集合(set))
c++·算法·noi·子集卷积·sos dp·mod 异常
赵庆明老师6 分钟前
NET 使用SmtpClient 发送邮件
java·服务器·前端
苏小瀚7 分钟前
[Java EE] HTML·CSS·JavaScript基础
java·java-ee
李拾叁的摸鱼日常19 分钟前
Spring 框架中 RequestContextHolder 深度解析
java·架构
C++业余爱好者28 分钟前
JVM优化入门指南:JVM垃圾收集器(GC)介绍
java·开发语言·jvm
mit6.82430 分钟前
presum|
算法
不穿格子的程序员31 分钟前
从零开始写算法——链表篇2:从“回文”到“环形”——链表双指针技巧的深度解析
数据结构·算法·链表·回文链表·环形链表
Trouvaille ~33 分钟前
【Java篇】基石与蓝图::Object 类与抽象类的双重奏
java·开发语言·javase·抽象类·类与对象·基础入门·object类