当前位置: 首页 > article >正文

leetcode 209. 长度最小的子数组

题目如下
在这里插入图片描述
数据范围
在这里插入图片描述

本题同样可以用不定长的滑动窗口来解决
1.维护变量sum来表示从左端点到右端点的和。
2.当sum满足条件时将左端点向右移动寻找最小子数组。(注意这里左端点不用向左移动即使后面sum不再满足条件,因为我们实际上找到的是从0开始到右端点的最小子数组了所以向左移动左端点是重复计算不需要)
3.移动右端点(实际上写进for循环就行 从0到n - 1)

通过代码

class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int n = nums.size();
        int sum = 0;
        int min1 = n + 1;
        for(int i = 0,j = 0;i < n;i++){
           sum += nums[i];
           if(sum >= target){
              min1 = min(min1,i - j + 1);
              while(j <= i && sum - nums[j] >= target){
                    sum -= nums[j++];
                    min1 = min(min1,i - j + 1);
              }
           }
            
        }
        if(min1 == n + 1)return 0;
        return min1;
    }
};

在这里插入图片描述


http://www.kler.cn/a/522251.html

相关文章:

  • JavaScript - Web APIs(下)
  • android 音视频系列引导
  • 分享| RL-GPT 框架通过慢agent和快agent结合提高AI解决复杂任务的能力-Arxiv
  • 低代码产品表单渲染架构
  • git困扰的问题
  • 解读隐私保护工具 Fluidkey:如何畅游链上世界而不暴露地址?
  • AI 模型评估与质量控制:生成内容的评估与问题防护
  • Web开发 -前端部分-CSS3新特性
  • unity学习20:time相关基础 Time.time 和 Time.deltaTime
  • 基于Django的微博舆情分析系统的设计与实现
  • 【算法与数据结构】动态规划
  • RTOS面试合集
  • 【Python实现机器遗忘算法】复现2020年顶会CVPR算法Selective Forgetting
  • 006 mybatis关联查询(一对一、一对多)
  • OPencv3.4.1安装及配置教程
  • 20.Word:小谢-病毒知识的科普文章❗【38】
  • freeswitch在centos上编译过程
  • 白平衡与色温:摄影中的色彩密码
  • 2025_1_27 C语言内存,递归,汉诺塔问题
  • 二叉树(补充)
  • 51单片机开发:IO扩展(串转并)实验
  • 基于单片机的家用无线火灾报警系统的设计
  • PETSc源码分析: Time Integrators
  • 将 OneLake 数据索引到 Elasticsearch - 第 1 部分
  • C语言中的static关键字在函数和变量声明中的不同作用是什么?
  • AI学习指南Ollama篇-Ollama模型的量化与优化