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

LeetCode 209 长度最小的子数组(滑动窗口)

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!
代码随想录

LeetCode 209 长度最小的子数组(滑动窗口)
给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其总和大于等于 target 的长度最小的
子数组
[numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
示例 1:
输入:target = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的子数组。
示例 2:
输入:target = 4, nums = [1,4,4]
输出:1
示例 3:
输入:target = 11, nums = [1,1,1,1,1,1,1,1]
输出:0

for循环里面遍历的是子数组的终止位置,在通过while循环来找子数组的起始位置,直到找到最优解

	public int minSubArrayLen(int target, int[] nums) {
        int i = 0;
        int result = Integer.MAX_VALUE;
        int sum = 0;
        for(int j = 0; j < nums.length; j++){
            sum += nums[j];
            while(sum >= target){
                sum -= nums[i];
                int subLen = j - i + 1;
                result = Integer.min(result, subLen);
                i++;
            }
        }
        return result == Integer.MAX_VALUE ? 0 : result;
    }

http://www.kler.cn/a/403421.html

相关文章:

  • vue 目录结构
  • javascrip页面交互
  • 知识中台在多语言客户中的应用
  • 如何使用Jmeter做性能测试?
  • 【大数据分析机器学习】分布式机器学习
  • 飞桨大模型PaddleOCR
  • 前端学习八股资料CSS(五)
  • nodejs21: 快速构建自定义设计样式Tailwind CSS
  • [SpB]如何开始使用 Spring Boot?
  • 7-简单巡检
  • 23.<Spring图书管理系统(强制登录版本)>
  • ADB->ADB宏控开关控制
  • django基于django的民族服饰数据分析系统的设计与实现
  • 接口性能优化的技巧
  • Spring学习笔记_42——@CookieValue
  • Android CTA配置和3C认证、SRRC认证
  • IT资产管理工具-NetBox
  • Python爬虫 | Scrapy 爬虫框架学习
  • CAAS 和 IAAS
  • 工业机器视觉中图像质量评估
  • Spring Boot 注解
  • 问题: redis-高并发场景下如何保证缓存数据与数据库的最终一致性
  • 安卓开发实现图像处理相关功能
  • 三十九、Python(pytest框架-中)
  • Spark核心组件解析:Executor、RDD与缓存优化
  • k8s1.31版本最新版本集群使用容器镜像仓库Harbor