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

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

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

题目描述

给定一个含有 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进行判断,判断是否有满足条件的子数组
http://www.jsqmd.com/news/162283/

相关文章:

  • PyTorch梯度裁剪防止训练过程中梯度爆炸
  • Git Clean清除未跟踪文件:整理杂乱PyTorch工程目录
  • PyTorch镜像中运行Intent Recognition意图识别模型
  • 可重构逻辑中的感知机实现:FPGA技术实践
  • GitHub Discussion开启PyTorch-CUDA用户交流社区
  • SSH密钥认证登录PyTorch容器的安全配置方法
  • PyTorch镜像中运行Text Summarization文本摘要生成
  • PyTorch-CUDA-v2.8镜像对DeepFM推荐模型的支持
  • 清华镜像加速pip install:配合PyTorch-CUDA-v2.7提升效率
  • PyTorch镜像中实现模型鲁棒性测试:对抗样本攻击防御
  • PyTorch模型推理性能翻倍:CUDA-v2.7镜像调优实战记录
  • Git命令大全:AI开发者必须掌握的版本控制技能
  • XUnity.AutoTranslator完整教程:免费实现Unity游戏实时汉化
  • 使用Docker快速部署PyTorch环境避免系统污染
  • ViT图像分类教程:PyTorch-CUDA-v2.7从零开始训练
  • PyTorch-CUDA镜像能否用于法律文书智能审查?
  • GitHub Actions自动化测试PyTorch项目的最佳实践
  • 学长亲荐8个AI论文工具,MBA论文写作必备!
  • Unity游戏翻译终极指南:打破语言障碍的完整解决方案
  • OrCAD环境下工业通信模块电路设计示例
  • 深度学习开发者必备:PyTorch-CUDA-v2.7镜像全面评测
  • PyTorch-CUDA-v2.8镜像对DeiT视觉Transformer的优化
  • 大规模Token生成服务上线:按需购买弹性扩展
  • Altium Designer中电源电路设计原理深度剖析
  • JiyuTrainer下载与配置:结合PyTorch镜像进行模型微调
  • PyTorch-CUDA-v2.8镜像更新日志解读:新增特性与性能优化
  • PyTorch-CUDA-v2.8镜像对WaveNet语音合成的支持
  • PyTorch-CUDA镜像适配NVIDIA显卡全型号兼容说明
  • Jupyter远程访问配置教程:连接云端PyTorch实例
  • XUnity.AutoTranslator完全指南:从零掌握游戏汉化核心技术