news 2026/4/23 11:47:49

力扣 长度最小的子数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣 长度最小的子数组

一、题目概述

给定一个含有n正整数的数组nums和一个正整数target
请找出该数组中满足其和 ≥ target 的长度最小的连续子数组,并返回其长度。
如果不存在符合条件的子数组,则返回0


二、问题分析

1, 连续子数组 + 求最小长度

题目要求的是:

  • 连续子数组(不是子序列)

  • 和 ≥ target

  • 长度最小

这三个条件共同决定了本题非常适合使用滑动窗口(双指针)方法。


2, 为什么不能暴力枚举?

暴力做法是:

  • 枚举所有子数组

  • 计算每个子数组的和

时间复杂度为:

O(n²)

在数据规模较大时必然超时 ❌。


三、滑动窗口核心思想

滑动窗口的本质

维护一个区间[left, right],并保证:

  • right向右扩展:增加窗口内的元素

  • 当窗口内的和 ≥ target时:

    • 尝试移动left缩小窗口

    • 更新最小长度


适用条件

⚠️本题能够使用滑动窗口的关键前提是:

数组中的元素全部为正整数

因为只有正整数,窗口右移时,区间和才会单调递增
左移时才会单调递减

四、算法步骤详解

  1. 初始化:

    • left = 0

    • sum = 0

    • ans = n + 1(表示未找到)

  2. right0开始遍历数组:

    • nums[right]加入sum

  3. sum >= target时:

    • 更新最小长度:ans = min(ans, right - left + 1)

    • 移动left,缩小窗口:sum -= nums[left] left++

  4. 遍历结束: 如果ans未更新,返回0否则返回ans

五、代码

class Solution { public: int minSubArrayLen(int target, vector<int>& nums) { int n = nums.size(); int left = 0; int sum = 0; int ans = n + 1; for (int right = 0; right < n; right++) { sum += nums[right]; while (sum >= target) { ans = min(ans, right - left + 1); sum -= nums[left]; left++; } } return ans == n + 1 ? 0 : ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:46:25

鸿蒙中如何使用MQTT,提供源码和方案说明

鸿蒙中如何使用MQTT,提供源码和方案说明 一、结论 目前鸿蒙(HarmonyOS)中使用MQTT协议的核心方式为: 通过官方@ohos/mqtt库实现,优先采用异步客户端(MqttAsync)适配鸿蒙异步编程模型,核心流程为「配置依赖与网络权限→创建MQTT客户端→配置连接参数→建立连接→发布/…

作者头像 李华
网站建设 2026/4/23 11:45:41

IT 技术从业者跨界网络安全领域,真的值得尝试吗?

2024年的年前年后对于互联网人都不是一个太平的时间&#xff0c;互联网大厂的“裁员潮”愈演愈烈。京东裁员横跨多个板块&#xff0c;比例在 10-30%。有赞两轮裁员近七成&#xff0c;腾讯也不例外。虽已春暖花开&#xff0c;大厂却仍“寒冬正至”。 互联网行业迎来寒冬&#xf…

作者头像 李华
网站建设 2026/4/17 8:22:03

企业级Linux防火墙监控实战指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个企业级防火墙状态监控工具&#xff0c;支持通过SSH批量检查多台Linux服务器的防火墙状态。要求&#xff1a;1) 支持iptables和firewalld两种防火墙&#xff1b;2) 可配置服…

作者头像 李华
网站建设 2026/4/18 9:42:23

AI市场舆情分析榜,原圈科技领跑品牌声量监测

摘要&#xff1a;2025年AI品牌声量监测领域&#xff0c;原圈科技凭借天眼AI市场洞察智能体&#xff0c;成为行业领跑者。原圈科技以精准洞察、百倍速效率和精准推理驱动增长三大标准&#xff0c;打通企业内外数据&#xff0c;自动生成决策洞察报告并赋能业务增长。原圈科技AI市…

作者头像 李华
网站建设 2026/4/21 0:35:15

方波的基波幅度推导

01 方波基波幅值 一、问题提出 对于一个方波&#xff0c;  假设他的幅值为 E。   周期为 T。  那么&#xff0c;它对应的基频正弦波的幅值是多少呢&#xff1f;  下面根据傅里叶级数公式进行计算。 二、公式推到 根据傅里叶级数分解公式&#xff0c;   利用复指数形式的…

作者头像 李华
网站建设 2026/4/23 11:13:32

Android Studio中文版入门指南:第一个APP开发全流程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请生成一个最简单的Android Studio入门项目&#xff0c;适合完全新手学习。要求&#xff1a;1. 全中文界面和注释 2. 只包含一个Activity 3. 显示你好&#xff0c;Android&#xff…

作者头像 李华