尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Day12 长度最小的子数组 -代码随想录 数组

Day12 长度最小的子数组 -代码随想录 数组
📅 发布时间:2026/6/20 14:06:27

代码随想录:长度最小的子数组
题目链接:长度最小的子数组

题目描述

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

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

提示:
1 <= target <= 10^9
1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5

点击查看代码
class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int result = INT32_MAX;int sum = 0; //滑动窗口内值的总和int i = 0; //起始位置int subLength = 0; //窗口的长度for(int j = 0;j < nums.size();j++){sum += nums[j];while(sum >= target){subLength = j - i + 1;result = result > subLength ? subLength : result;sum -= nums[i++]; //实现窗口起始位置后移}}return result == INT32_MAX ? 0 : result;}
};
小结

题目要求找到大于等于target的最小子数组

解题思想:用滑动窗口找到符合条件最小子数组

做法:

变量

int i = 0; //滑动窗口的起始位置
int sum = 0;//窗口内的总和
int subLength = 0; //窗口的长度;最小子数组的长度比对值
int result = INT32_MAX; //结果存放处;初始化为32位有符号整数最大值
  • 通过 for 循环遍历数组,控制窗口末尾。在 for 中 j 充当指针,每遍历一个,sum+=nums[j] 窗口内的总和加上遍历过的值,直到 sum >=target 进入 while循环
  • 在 while 循环中,先计算出此时窗口的长度 subLength = j-i+1 ,将其与 result 做对比,取较小值;然后进行窗口初始位置的移动:先减去初始位置,再将初始位置后移 sum-=nums[i++]。开始新一轮循环,进行条件判断,若初始位置后移的sum>=target,进入循环,更新result。
  • 最后循环结束,对result进行判断,判断是否有满足条件的子数组

相关新闻

  • PyTorch镜像中运行Intent Recognition意图识别模型
  • 清华镜像加速pip install:配合PyTorch-CUDA-v2.7提升效率
  • PyTorch镜像中运行Text Summarization文本摘要生成

最新新闻

  • 2026 年大同厨卫屋顶防水修缮三家对比测评 吉修匠 99.8 分稳居榜首 - 吉修匠
  • 【PC】[吾爱大神原创工具]《音乐音量管理器》统一音量调整,支持无损 V1.0.0
  • 2026东莞黄金回收商家多维度对比测评 合规渠道选择参考 - 薛定谔的梨花猫
  • 2026年6月市面上评价好的专用校车门店口碑推荐,46座小学生校车/东风二手校车/二手校车,专用校车公司哪家好 - 品牌推荐师
  • 蓝桥杯单片机实战:EEPROM数据持久化存储与I2C通信详解
  • Xournal++终极字体配置指南:告别混乱,打造完美手写笔记

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号