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

LeetCode209_长度最小的子数组

LeetCode209_长度最小的子数组

  • 标签:#数组 #二分查找 #前缀和 #滑动窗口
  • Ⅰ. 题目
  • Ⅱ. 示例
  • 0. 个人方法:滑动窗口

标签:#数组 #二分查找 #前缀和 #滑动窗口

Ⅰ. 题目

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

0. 个人方法:滑动窗口

使用滑动窗口的思想:

  1. 定义两个指针 start 和 end 表示窗口的左右边界。
  2. 每次将 end 指向的元素加入 sum 中。
  3. 若 sum >= target,就尝试收缩左边界 start,以缩短窗口长度,同时更新最小长度 min_len。
  4. 最后如果没找到满足条件的子数组,返回 0;否则返回最小长度。
class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int n = nums.size();int start = 0, end = 0;int sum = 0;int min_len = n + 1; // 初始化为不可能的值while (end < n) {sum += nums[end]; // 先加上当前元素end++;           // 然后移动右指针// 如果 sum >= target,尝试缩小窗口while (sum >= target) {min_len = min(min_len, end - start); // 更新最小长度sum -= nums[start]; // 尝试移除左端元素start++;            // 移动左指针}}return (min_len == n + 1) ? 0 : min_len;}
};
  • 复杂度分析

    • 时间复杂度:O(n),其中 n 是数组的长度。指针 start 和 end 最多各移动 n 次。

    • 空间复杂度:O(1)。

相关文章:

  • MCP 自定义python实现server服务,支持离线调用和远程接口访问形式
  • Flink之DataStream
  • ActiveMQ 可靠性保障:消息确认与重发机制(一)
  • ActiveMQ 可靠性保障:消息确认与重发机制(二)
  • ag-grid-react 列表导出csv列表getDataAsCsv (自定义导出列表配置)自定义新增,修改导出内容
  • 使用模块中的`XPath`语法提取非结构化数据
  • 单体项目到微服务的架构演变与K8s发展是否会代替微服务
  • 【SpringBoot】基于mybatisPlus的博客系统
  • windows系统 压力测试技术
  • 简易APP更新功能
  • 海思正式公开了星闪BS21E的SDK
  • 【LLM】MOE混合专家大模型综述(重要模块原理)
  • 20250430在ubuntu14.04.6系统上完成编译NanoPi NEO开发板的FriendlyCore系统【严重不推荐,属于没苦硬吃】
  • ubuntu22.04出现VFS: Unable to mount root fs on unknown-block(0,0)
  • 服务容错治理框架resilience4jsentinel基础应用---微服务的限流/熔断/降级解决方案
  • Java Set<String>:如何高效判断是否包含指定字符串?
  • 数据仓库与数据湖的对比分析
  • 深度卷积模型:案例研究
  • ubuntu22.04 qemu arm64 环境搭建
  • 【黑马JavaWeb+AI知识梳理】后端Web基础01 - Maven
  • 博物馆书单|走进博物馆,去体验一场与文明的对话
  • 湖南4个县市区被确定为野生蘑菇中毒高风险区:中毒尚无特效解毒药
  • 国家统计局:2024年城镇单位就业人员工资平稳增长
  • “16+8”“生酮饮食”,网红减肥法究竟靠谱吗?
  • 清雪车司机未拉手刹下车导致溜车被撞亡,事故调查报告发布
  • 秦洪看盘|缩量回踩,积蓄叩关能量