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;
        }
};
相关推荐
XW0105999几秒前
4-11判断素数
前端·python·算法·素数
J2虾虾1 分钟前
Spring Boot中使用@Scheduled做定时任务
java·前端·spring boot
浅念-20 分钟前
C++ 继承
开发语言·c++·经验分享·笔记·学习·算法·继承
算法备案代理25 分钟前
深度合成算法备案:生成式AI需要备案吗?
人工智能·算法·算法备案
菜鸡儿齐25 分钟前
leetcode-全排列
算法·leetcode·深度优先
Wect28 分钟前
LeetCode 102. 二叉树的层序遍历:图文拆解+代码详解
前端·算法·typescript
不想看见40432 分钟前
Maximal Square 基本动态规划:二维--力扣101算法题解笔记
算法·leetcode·动态规划
夏乌_Wx33 分钟前
LeetCode 160. 相交链表 | 三种解法吃透核心逻辑(哈希表 + 双指针 + 长度对齐)
leetcode·链表·哈希表
肉肉不想干后端33 分钟前
联合订单并发退款:一次分布式锁冲突的排查与思考
java
Hag_2034 分钟前
LeetCode Hot100 53.最大子数组和
数据结构·算法·leetcode