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;
        }
};
相关推荐
草莓熊Lotso38 分钟前
C++ STL map 系列全方位解析:从基础使用到实战进阶
java·开发语言·c++·人工智能·经验分享·网络协议·everything
草莓熊Lotso40 分钟前
《算法闯关指南:优选算法--模拟》--41.Z 字形变换,42.外观数列
开发语言·c++·算法
啊吧怪不啊吧44 分钟前
算法王冠上的明珠——动态规划之斐波那契数列问题
大数据·算法·动态规划
shura101444 分钟前
如何优雅地实现参数校验
java·开发语言
spencer_tseng2 小时前
Eclipse Oxygen 4.7.2 ADT(android developer tools) Plugin
android·java·eclipse
来来走走3 小时前
Android开发(Kotlin) 协程
android·java·kotlin
河铃旅鹿4 小时前
Android开发-java版:Framgent
android·java·笔记·学习
y***61315 小时前
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
java·spring boot·spring
tanxinji5 小时前
RabbitMQ四种交换器类型详解及示例
java·rabbitmq
刘一说5 小时前
一次生产环境 Tomcat 7 + JDK 7 应用启动失败的完整排查与修复实录
java·tomcat·firefox