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

LeetCode 209.长度最小的子数组

给定一个含有 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

提示:

1 <= target <= 10 9 ^9 9
1 <= nums.length <= 10 5 ^5 5
1 <= nums[i] <= 10 4 ^4 4

直接滑动窗口即可:

class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int left = 0;int curSum = 0;int ans = numeric_limits<int>::max();for (int i = 0; i < nums.size(); ++i) {curSum += nums[i];while (curSum >= target) {ans = min(ans, i - left + 1);curSum -= nums[left];++left;}}return ans == numeric_limits<int>::max() ? 0 : ans;}
};

如果nums中有n个元素,则此算法时间复杂度为O(n),空间复杂度为O(1)。

http://www.xdnf.cn/news/14108.html

相关文章:

  • 常见的数据处理方法有哪些?ETL中的数据处理怎么完成
  • 海马优化算法优化支持向量回归(SVR)模型项目
  • DAO 代码说明文档
  • 【计算机系统结构】期末复习
  • JVM-垃圾回收
  • ES6+核心特性
  • 数据可视化——一图胜千言
  • [python]pycddlib使用案例
  • Python小工具开发实战:从零构建自动化文件管理器的心得与体悟
  • Mac电脑数据恢复工具-Disk 企业版
  • 数据库中的索引作用:索引分类、索引失效、聚集索引和非聚集索引
  • Linux 系统 CPU 过高问题深度排查
  • 【WPF】MVVM的消息机制
  • Jupyter notebook中的感叹号!魔法命令介绍
  • iOS 26 beta1 真机无法执行hot reload
  • iOS Alamofire库的使用
  • windows安装jekyll
  • 人工智能之数学基础:如何将二次型转换为标准型?
  • 第二十四章 24.QoS(CCNA)
  • Windows 远程桌面添加 SSL 证书指南
  • 2025虚幻人物模型积累
  • Ubuntu双系统迁移
  • (读转载文)AI发展的“上半场”与“下半场”
  • 分布假设学习笔记
  • 比特币---第1关:矿工任务及所需硬件
  • 使用 C++ 和 OpenCV 构建智能停车场视觉管理系统
  • C#最佳实践:推荐使用 nameof 而非硬编码名称
  • 地图布局进阶:插入属性表打开外部文件
  • ShaderToy:旋转风车(atan曲线)
  • 学生端前端用户操作手册