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;
        }
};
相关推荐
程序员buddha4 分钟前
C语言操作符详解
java·c语言·算法
l0sgAi15 分钟前
SpringAI 整合MCP实现联网搜索 (基于tavily)
java·后端
John_Rey20 分钟前
API 设计哲学:构建健壮、易用且符合惯用语的 Rust 库
网络·算法·rust
愿没error的x21 分钟前
动态规划、贪心算法与分治算法:深入解析与比较
算法·贪心算法·动态规划
❀͜͡傀儡师26 分钟前
使用DelayQueue 分布式延时队列,干掉定时任务!
java·分布式·delayqueue·spingboot
失散1330 分钟前
分布式专题——55 ElasticSearch性能调优最佳实践
java·分布式·elasticsearch·架构
NONE-C37 分钟前
动手学强化学习 第6章 Dyna-Q 算法
算法
jonyleek1 小时前
【JVS更新日志】低代码、APS排产、物联网、企业计划11.12更新说明!
java·物联网·低代码·前端框架·团队开发
惊讶的猫1 小时前
面向无监督行人重识别的摄像头偏差消除学习
人工智能·算法·机器学习
深度学习机器1 小时前
RAG Chunking 2.0:提升文档分块效果的一些经验
人工智能·算法·llm