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

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)。

相关文章:

  • 多线程中SimpleDateFormat为何不安全?如何解决?
  • 基于大模型预测过敏性紫癜的技术方案大纲
  • window 显示驱动开发-DirectX VA 2.0 的扩展支持
  • Python 爬虫入门 Day 2 - HTML解析入门(使用 BeautifulSoup)
  • 【工具教程】批量PDF识别提取区域的内容重命名,将PDF指定区域位置的内容提取出来改名的具体操作步骤
  • Logback-spring.xml 配置屏蔽特定路径的日志
  • 美化显示MSVC调试的数据结构
  • centos 8.3(阿里云服务器)mariadb由系统自带版本(10.3)升级到10.6
  • 实现无缝连接:EtherNet/IP转CANopen网关助力汽车制造智能化未来
  • 【Twisted】Python 使用Twisted实现TCP多人聊天Demo
  • 从Apache OFBiz 17.12.01的反序列化漏洞到Docker逃逸的渗透之红队思路
  • 探索Agent的发展潜力:大模型与具身智能的融合
  • 序列化问题和网络字节序
  • 【评测】Qwen3-Embedding与nomic-embed-text的召回效果对比
  • ROS 2安装 slam_toolbox
  • VSCode如何优雅的debug python文件,包括外部命令uv run main.py等等
  • UE5场景漫游——开始界面及关卡跳转
  • 深入理解JavaScript设计模式之策略模式
  • 黄仁勋在2025年巴黎VivaTech大会上的GTC演讲:AI工厂驱动的工业革命(上)
  • AI与机器学习ML:利用Python 从零实现神经网络
  • 工信部网站信息查询/市场营销方案范文5篇
  • 大凤号 网站建设/网站推广优化排名教程
  • 宾阳网站建设/俄罗斯搜索引擎浏览器官网入口
  • 中国住房和城乡建设部网站首页/黄石市seo关键词优化怎么做
  • 网站开发设备费用计入什么科目/长春网长春关键词排名站设计
  • 网站做的好的公司/推广普通话文字素材