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;
        }
};
相关推荐
何中应几秒前
Spring Boot中选择性加载Bean的几种方式
java·spring boot·后端
苏苏大大2 分钟前
zookeeper
java·分布式·zookeeper·云原生
涅槃寂雨22 分钟前
C语言小任务——寻找水仙花数
c语言·数据结构·算法
wclass-zhengge29 分钟前
03垃圾回收篇(D3_垃圾收集器的选择及相关参数)
java·jvm
就爱学编程31 分钟前
从C语言看数据结构和算法:复杂度决定性能
c语言·数据结构·算法
涛ing31 分钟前
23. C语言 文件操作详解
java·linux·c语言·开发语言·c++·vscode·vim
刀客12337 分钟前
数据结构与算法再探(六)动态规划
算法·动态规划
5xidixi1 小时前
Java TCP协议(2)
java·tcp/ip
2013crazy1 小时前
Java 基于 SpringBoot+Vue 的校园兼职平台(附源码、部署、文档)
java·vue.js·spring boot·兼职平台·校园兼职·兼职发布平台
小高不明1 小时前
仿 RabbitMQ 的消息队列3(实战项目)
java·开发语言·spring·rabbitmq·mybatis