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

滑动窗口209. 长度最小的子数组

1.题目

给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度如果不存在符合条件的子数组,返回 0 。

示例 1:

输入:target = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的子数组。

示例 2:

输入:target = 4, nums = [1,4,4]
输出:1

示例 3:

输入:target = 11, nums = [1,1,1,1,1,1,1,1]
输出:0

2.算法

本题我们为了降低时间复杂度采用滑动窗口解决,分为三步:

1.left=0;right=0.

2.进入窗口。->利用long long sun变量来统计left和right之间所有数字之和。

3.判断结果出窗口。

3.代码书写

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int left = 0;int right = 0;long long int sum = nums[right];int len = 99999999;while (right < nums.size()){if (sum < target){right++;if(right<nums.size())sum = sum + nums[right];}if (sum >= target){if (len > right - left + 1)len = right - left + 1;sum = sum - nums[left];left++;}}if (len == 99999999)return 0;return len;}
};

相关文章:

  • IP-Guard域用户登录后自动登录代理控制台
  • Vue-cli迁移Rsbuild
  • 重置cursor免费次数(2025.4.17可行)
  • MySQL入门:数据操作CURD
  • SSMS中如何把一个库的表移到另一个库中
  • java 多线程之Worker Thread模式(Thread Pool模式)
  • 基于Django框架的图书索引智能排序系统设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 大数据开发核心技术难点:数据倾斜问题深度解析
  • docker harbor私有仓库登录报错
  • CASS 用户坐标系转换到世界坐标系
  • 阿里云ECS访问不了
  • 【NLP 64、基于LLM的垂直领域【特定领域】问答方案】
  • Java与MySQL数据库连接的JDBC驱动配置教程
  • ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],
  • RabbitMQ原理及代码示例
  • ESP32之OTA固件升级流程,基于VSCode环境下的ESP-IDF开发,基于阿里云物联网平台MQTT-TLS连接通信(附源码)
  • 2025华中杯B题——AI实现
  • Ubuntu20.04配置cartographer记录
  • 函数递归:递归的概念
  • C#日志辅助类(Log4Net)实现
  • “三德子”赵亮直播间卖“德子土鸡”,外包装商标实为“德子土”
  • 绿城房地产集团:近半年累计花费20.6亿元购买旗下债券
  • 奥利弗·斯通回顾越战50周年:我们不善于总结历史教训
  • 超燃!走过莫斯科街头的“中国排面”
  • “子宫内膜异位症”相关论文男性患者样本超六成?福建省人民医院发布情况说明
  • 同观·德国|默茨当总理后,能否带领德国在欧盟“说了算”?