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;
        }
};
相关推荐
空白到白6 分钟前
决策树-面试题
算法·决策树·机器学习
赛姐在努力.6 分钟前
Spring DI详解--依赖注入的三种方式及优缺点分析
java·mysql·spring
flashlight_hi7 分钟前
LeetCode 分类刷题:2563. 统计公平数对的数目
python·算法·leetcode
前端世界23 分钟前
HarmonyOS 数据处理性能优化:算法 + 异步 + 分布式实战
算法·性能优化·harmonyos
楼田莉子25 分钟前
C++算法专题学习:栈相关的算法
开发语言·c++·算法·leetcode
IvanCodes27 分钟前
六、Docker 核心技术:Dockerfile 指令详解
java·数据库·docker
dragoooon3432 分钟前
[数据结构——lesson3.单链表]
数据结构·c++·leetcode·学习方法
_oP_i37 分钟前
Java 服务接口中解决跨域(CORS,Cross-Origin Resource Sharing)问题
java·开发语言
kyle~1 小时前
排序---冒泡排序(Bubble Sort)
c语言·c++·算法
l1t1 小时前
我改写的二分法XML转CSV文件程序速度追上了张泽鹏先生的
xml·c语言·人工智能·算法·expat