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

长度最长的子数组

文章目录

  • 长度最长的子数组
    • 解题思路

长度最长的子数组

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

找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组

[numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组,返回 0

示例 1:

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

解题思路

依旧是双指针,此次我们也可以称为滑动窗口。

何为滑动窗口,为了满足条件不断移动的子序列。子序列包含起始位置和终始位置。

代码中,重点在于:sum -= nums[left++]; //滑动,左指针向前

详细代码如下

class Solution {public int minSubArrayLen(int target, int[] nums) {//使用双指针——滑动窗口//滑动窗口:一个不断移动的子序列//在while (sum >= target)时不断的滑动,找到最小长度的连续子数组int sum = 0;int left = 0;int result = Integer.MAX_VALUE;for(int right = 0;right < nums.length;right++){sum += nums[right];while(sum >= target){ //满足条件后进行滑动窗口result =Math.min(result,right - left + 1);sum -= nums[left++]; //滑动,左指针向前}}return result == Integer.MAX_VALUE ? 0 : result;}
}

我是小辉,24 届毕业生。当下是找工作ing,欢迎关注,持续分享。

相关文章:

  • Java Web 应用开发基础 - JSP内置对象
  • Android ANR简介
  • 指纹识别经典图书、开源算法库、开源数据库
  • C语言之指针详解(5)(含有易错笔试题)
  • 达梦授权某个模式给其它用户只读权限
  • ubuntu 22.04 appearance设置没有dock选项
  • 德勤:中国、印度等对ChatGPT等生成式AI应用,处领先地位
  • 27.Java中单例模式的实现方式
  • 大模型面试--大模型(LLMs)基础面
  • 史上最全的Linux常用命令、使用技巧汇总(超全面!简单明了!)
  • 头歌springboot初体验
  • RPA机器人流程自动化如何优化人力资源工作流程
  • 嵩山为什么称为五岳之尊
  • 【STM32踩坑】HAL固件库版本过高导致烧录后无法运行问题
  • mongodb5.0.5版本集群搭建
  • 【RocksDB】TransactionDB源码分析
  • 【译】理解JavaScript:new 关键字
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Angular数据绑定机制
  • dva中组件的懒加载
  • JavaScript实现分页效果
  • JS 面试题总结
  • js对象的深浅拷贝
  • Markdown 语法简单说明
  • MobX
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Python利用正则抓取网页内容保存到本地
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • webpack+react项目初体验——记录我的webpack环境配置
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 初识 webpack
  • 后端_ThinkPHP5
  • 基于webpack 的 vue 多页架构
  • 记录一下第一次使用npm
  • 排序算法之--选择排序
  • 前端临床手札——文件上传
  • 浅谈Golang中select的用法
  • 手写双向链表LinkedList的几个常用功能
  • 原生js练习题---第五课
  • 正则表达式小结
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​一些不规范的GTID使用场景
  • # C++之functional库用法整理
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (二)构建dubbo分布式平台-平台功能导图
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (十一)c52学习之旅-动态数码管
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • **python多态
  • .gitignore文件—git忽略文件
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET delegate 委托 、 Event 事件
  • .NET Standard 的管理策略
  • .NET大文件上传知识整理
  • .net中我喜欢的两种验证码