LeetCode209:长度最小的子数组(数组)

[玩转算法]滑动窗口 209.Minimum Size Subarray Sum 给定一个整型数组和一个数字s,找到数组中最短的一个连续子数组使得连续子数组的数字和sum >= s,返回这个最短的连续子数组的返回值。 ·如,给定数组[2,3,1,2,4,3],s = 7 ·答案为[4,3],返回2 暴力解:遍历所有的连续子数组[i,j] 计算其和sum,验证sum=s; 时间复杂度O(n^3) 什么方法时间复杂度可以优化为O(n^2) 3.Longest Substring Without Repeating Charac 阅读详情

长度最小的子数组

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

/**
     * 长度最小的子数组:滑动窗口[left...right]
     * 时间复杂度O(n)
     * 空间复杂度O(1)
     * @param s
     * @param nums
     * @return
     */
    public int minSubArrayLen(int s, int[] nums) {
        //nums[left...right]为滑动窗口
        int left=0;
        int right =-1;
        //当前滑动窗口(子数组)的和
        int sum = 0;
        //返回的最小子数组的长度
        int res = nums.length+1;
        while (left<nums.length){
            //存在滑动窗口
            if(right+1 <nums.length && sum <s){
                //将窗口的右边界向外拓展一个
                right ++;
                sum += nums[right];
            }
            else{
                //当前sum< = s时
                //窗口的左边界向右行进一位
                sum -=nums[left];
                left ++;
            }

            if(sum >=s){
                res = Math.min(res,right-left+1);
            }
        }
        //没有更新过res,全部值加起来都小于s
        if(res == nums.length+1){
            return 0;
        }
        return res;
    }
LeetCode209——长度最小的子数组 我的LeetCode代码仓:https://github.com/617076674/LeetCode 原题链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum/description/ 题目描述: 知识点:滑动窗口法 思路一:从左到右遍历数组寻找最小长度 时间复杂度是O(n ^ 2),其中n为nums数组的长度。... 阅读详情

相关推荐

程序化广告行业(23/89):深度剖析广告效果评估指标

大家好,我一直希望能和大家一起在技术领域不断探索、共同进步。在之前的文章中,我们了解了程序化广告中腾讯的业务布局和广告效果评估的基础概念,今天让我们进一步深入剖析广告效果评估的各项指标,这对理解程序化广告的运作机制至关重要

yyy173611的博客 4864

209.长度最小的子数组(中等) 力扣数组刷题笔记(0)

0、题目描述: 给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组[4,3]是该条件下的长度最小的子数组。 题目链接:力扣 1、题目理解: 题目要求求出数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。 如果不存在符合条件的子数组,返回 0。 1.1、题...

m0_56164356的博客 985

GPU大规模集群运维

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的通用并行计算平台和程序模型,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以使用C语言来为CUDA架构编写程序,所编写出的程序可以在支持CUDA的处理器上以超高性能运行。CUDA官方文档CUDA的软件环境允许开发者使用C++等高级编程语言开发程序。

weixin_42795092的博客 1738

581.最短无序连续子数组

581.最短无序连续子数组 题目描述 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 输入: [2, 6, 4, 8, 10, 9, 15] 输出: 5 解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。 说明 : 输入的数组长度范...

chenyutingdaima的博客 192

Benchmark系列——基本概念和分类

本文主要介绍了Benchmark的基本概念和分类情况。

Bluetangos的博客 8438

深度学习中的编码器-解码器架构

解码的作用:转换为人类可理解的形式,解码器的任务是将编码器生成的中间表示(上下文向量)转换回人类可理解的输出形式(如翻译后的文本、生成的图像描述等)。解码器通过逐步生成输出序列,使得最终的输出符合人类的理解和需求。编码的作用:转换为机器可理解的形式,编码器将输入数据(如文本、图像等)转换为一种机器更容易处理和理解的形式,即上下文向量或编码。在深度学习中,编码器(Encoder)解码器(Decoder)是常见的神经网络架构,通常用于处理序列到序列(seq2seq)任务,如机器翻译、文本摘要和图像描述等。

xxk1323的博客 1093

leetcode刷题记录(17)-中等

1.长度最小的子数组 题目: 给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 思路:从头开始,找到第一个和>=s的子数组,然后右指针往右移动1位,左指针移动到使得当前子数组刚好>=s的位置,更新当前的最小长度 时间复杂度:O(n),空间复杂度:O(1) /** * @param {number} s * @param {number[]} nums * @retu...

weixin_42733155的博客 378

Modis数据处理工具:MRT百度网盘下载和手把手图文安装教程

如下图所示为MODIS Reprojection Tool(MRT)的软界面,看似简单,却是Modis遥感影像必不可少的处理工具,如投影变换等。本文以图文并茂的形式,详细讲解MRT软件在Windows10平台上的安装过程,并附MRT软件百度网盘下载地址。 Modis Tool主界面: 一、安装过程 1、安装Java运行环境 双击Java.exe,安装运行环境。默认的安装路径为C:\Program Files (x86)\Java\jre6\bin,后面需要用到这个路径。 等待...

智慧空间实验室 2623

【算法——Python实现】滑动窗口解决数组问题

滑动窗口思路: 解决部分数组问题时,设置两个索引下标i,j,i为左边界,j为右边界,逐渐遍历整个数组,i和j组成的子数组形成长度变化的滑动窗口,直至i遍历完整个数组。应用一: Leetcode 209:Minimum Size Subarray Sum 给定一个整型数组和一个数字s,找到数组中最短的一个连续子数组,使得连续子数组的数字和sum>=s,返回这个最短的连续子数组的长度值class

Fire_KAKA的博客 1万+

C++ Qt6 qml CMakeLists.txt如何添加qrc文件

本文介绍了在Qt6项目中如何通过CMake管理QML图片资源。相比Qt5的qmake,CMake需要手动创建qrc文件并配置CMakeLists.txt。关键步骤包括:1)创建resources.qrc文件并添加图片资源;2)在CMakeLists.txt中设置CMAKE_AUTORCC为ON开启自动资源处理;3)使用qt_add_resources将qrc文件绑定到项目。配置完成后,可通过"qrc:alias"方式引用资源图片,解决了相对路径管理复杂的问题。

琅嬛福地 1453

基于JeecgBoot 3.9.0 开源项目的企业管理平台

基于JeecgBoot 3.9.0 开源项目的企业管理平台

宁波阿成的博客 374

leetcode209 长度最小的子数组(C++)

同样使用两个指针,初始化两个指针nums[i], nums[j]均指向数组的首元素。继续判断sum是否满足条件,不断右移i,减掉nums[i]的值,直到sum=target时,记录元素个数result,此时的result一定为以。

DoQi_ng的博客 1645

CVPR 2026 即插即用 | 注意力篇 | MSEF:超轻注意力,空间-通道双分支并行融合,既增强特征又抑制噪声!

Multinex提出了一种超轻量级微光图像增强框架,其核心创新是MSEF模块。MSEF采用双分支并行架构,结合空间局部特征(深度可分离卷积)和全局通道注意力(改进SE),通过Tanh激活实现特征增强与抑制。相比传统注意力模块,MSEF在几乎不增加计算量的情况下显著提升性能,特别适合轻量级网络和边缘设备部署。实验表明,该模块能有效提升PSNR约3dB,同时保持极低的参数量(0.7K-45K)。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 604

LeetCode 209 题:长度最小的子数组

LeetCode 第209题要求给定一个正整数数组nums和一个正整数target,找出具有最小长度的连续子数组,使得子数组的和大于或等于target。如果不存在这样的子数组,返回0。

weixin_48941116的博客 1235

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

力扣第209题“长度最小的子数组”

本文详细解读了力扣第209题“长度最小的子数组”,通过使用滑动窗口的方法高效地解决了这一问题,并提供了详细的解释和模拟面试问答。希望读者通过本文的学习,能够在力扣刷题的过程中更加得心应手。

10年数据\经营分析经验,现任大厂数据分析负责人 739

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Leetcode——209 长度最小的子数组

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

V_Akoasm的博客 1882

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

力扣(LeetCode)209. 长度最小的子数组(C语言)

一题双解。

墨染 502

力扣209:长度最小的子数组

本文介绍了力扣209题"长度最小的子数组"的解法。题目要求找出数组中总和大于等于给定目标值的最短连续子数组长度。采用滑动窗口算法,通过维护一个可变窗口(start和end指针),当窗口内元素和≥target时记录长度并收缩左边界,否则扩展右边界。该算法时间复杂度O(n),空间复杂度O(1),能高效解决问题。核心思路是动态调整窗口大小,在满足条件时不断优化最小长度。代码实现简洁,先处理特殊情况,再用双指针遍历数组,最后返回最小长度或0(无解时)。

weixin_74285822的博客 4453

【力扣】 209. 长度最小的子数组

【力扣】 209. 长度最小的子数组

Danger的博客 648

LeetCode 209.长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

2301_80211119的博客 426

LeetCode 209长度最小的子数组

LeetCode 209长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。 输入:s = 7, nums = [2, 3, 1, 2, 4, 3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的连续子数组。 暴力法(时间复杂度:O(n2) ) 遍历每一个数字,依次将每个数字为起始点下标开始添加数字,记录当总和大于等于s时的长度 class Sol

XBlog 295

【LeetCode面试150】——209长度最小的子数组

【LeetCode面试150】——209长度最小的子数组题目讲解和代码实现

Junmo12345的博客 1576

209.长度最小的子数组(力扣LeetCode)

numsr-1, numsr] ,并返回其长度。如果你已经实现 O(n) 时间复杂度的解法, 请尝试设计一个 O(n log(n)) 时间复杂度的解法。输入:target = 15, nums = [5,1,3,5,10,7,4,9,2,8]输入:target = 11, nums = [1,1,1,1,1,1,1,1]输入:target = 7, nums = [2,3,1,2,4,3]输入:target = 4, nums = [1,4,4]解释:子数组 [4,3] 是该条件下的长度最小的子数组。

m0_73841621的博客 763

LeetCode第209题长度最小的子数组

209. 长度最小的子数组 题目: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的子数组。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum 著作权归领扣网络

qq_41967623的博客 363

LeetCode第209题_长度最小的子数组

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

qq_40263592的博客 1476

Leetcode209. 长度最小的子数组

Leetcode209. 长度最小的子数组

ProgramNovice的博客 749
上一篇: LeetCode167:两数之和II(数组)
下一篇: LeetCode3:无重复字符的最长子串(数组)
空城不空99
博客等级 码龄8年 667粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值