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

LeetCode - 209 - 长度最小的子数组

力扣209题

题目描述:长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 target

找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组,返回 0

image.png

**题解思路:**力扣上暴力搜索会超时!

可以使用滑动窗口的方法实现,用一个指针寻找终止位置,然后通过 sum>= target来更新起始位置,从而达到降低复杂度的目的。

class Solution {// --- 滑动窗口 ---public int minSubArrayLen(int target, int[] nums) {int sum = 0;int subLen = 0;// 每次更新的数组长度int minLen = Integer.MAX_VALUE;// 最小的子数组长度,初始时设为最大值int start = 0;// 起始位置的下标for (int end = 0; end < nums.length; end++) {sum += nums[end];while (sum >= target) {subLen = end - start + 1;// 更新子数组的长度minLen = subLen < minLen ? subLen : minLen;// 取最小的子数组长度sum -= nums[start++];  // 更新 i 的位置}}return minLen == Integer.MAX_VALUE ? 0 : minLen;}
}
http://www.lryc.cn/news/421794.html

相关文章:

  • 探索空间计算与VR中的手势跟踪新纪元:XHand框架详解
  • leetcode + 项目复习
  • 树莓派4/5:设置apt、pip、conda首选清华镜像源
  • NoSQL 之Redis集群模式
  • oracle rac
  • 计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI
  • 【Linux】学习Linux,需要借助具象化的思维
  • R语言贝叶斯方法在生态环境领域技术教程
  • mojo实现高阶函数(algorithm)
  • 先进制造aps专题二十四 云平台排产aps的方案设计
  • JavaScript 逆向技巧总结
  • linux反向代理原理:帮助用户更好地优化网络架构
  • 开源DevOps工具链管理:DevStream
  • 图数据库框架及其支持的开发语言和应用场景
  • 【Linux 18】核心转储
  • 远程传输文件至服务器—spc 传输
  • HarmonyOS.FA开发流程
  • 三级_网络技术_21_无线局域网设备安装与调试
  • 机械学习—零基础学习日志(项目实践01)
  • SpringBoot排除默认日志框架
  • 质量管理理论(至简)
  • kaggle中访问本地上传的图片(找到图片地址)
  • ChatGPT到底是什么?它能做到什么?我们怎么才能使用到
  • 浦科特M6S固态硬盘数据丢失与恢复:全方位指南
  • gdb: 编译,lzma,configure: error: missing liblzma for --with-lzma
  • LInux - 一文了解 ssh端口敲门knock
  • Java面试篇(线程池相关专题)
  • git推送错误-->远程分支比本地的分支更新,无法直接推送
  • 【三维重建】SpotlessSplats:去除瞬态干扰物的三维高斯喷溅(3DGS)
  • 28. 找出字符串中第一个匹配项的下标【 力扣(LeetCode) 】