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

LeetCode209——长度最小的子数组 我的LeetCode代码仓:https://github.com/617076674/LeetCode 原题链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum/description/ 题目描述: 知识点:滑动窗口法 思路一:从左到右遍历数组寻找最小长度 时间复杂度是O(n ^ 2),其中n为nums数组的长度。... 阅读详情

一、长度最小的子数组

在这里插入图片描述

二、解题思路

采用滑动窗口的思路,详细见代码。

三、代码

class Solution {
    public int minSubArrayLen(int target, int[] nums) {
        int n = nums.length, left = 0, right = 0, sum = 0;
        int ans = n + 1; 
        for (right = 0; right < n; right ++) { //right 遍历数组
            sum += nums[right];
            while (sum - nums[left] >= target) { // 当子数组的和大于等于 target 时,开始从左收缩数组
                sum -= nums[left];
                left++;
            }
            if (sum >= target) { // 当 ringht 处于数组前边部分时,可能子数组和还没有达到 target值,达到后再更新ans
                ans = Math.min(ans, right - left + 1);
            }
        }
        return ans <= n ? ans : 0;
    }
}

更加简洁的一种写法

class Solution {
    public int minSubArrayLen(int target, int[] nums) {
        int n = nums.length;
        int sum = 0, ans = n + 1;
        for (int l = 0, r = 0; r < n; r++) {
            sum += nums[r];
            while (l <= r && sum >= target) {
                ans = Math.min(ans, r - l + 1);
                sum -= nums[l++];
            }
        }
        return ans > n ? 0 : ans;
    }
}
C++ bitset总结 数据结构bitset 术语:某1位置位是置1,某一位复位是某一位清零。 文章目录数据结构bitset一、3种初始化方式二、位访问三、位操作四、 位集操作总结实战练习 一、3种初始化方式 bitset<32> tmp; //默认构造函数,默认全0。 bitset<32> tmp(-1); //从整形数构造 bitset<32> tmp("101"); //从包含1和0的字符串构造 二、位访问 bitset<32> tmp(256) 阅读详情

相关推荐

STM32F103+W5500网络通信

STM32F103+W5500网络通信一、W5500模块(一)W5500以太网模块介绍(二)模块排针功能表二、 modbus协议(一)modbus协议原理(二)Modbus 通讯方式1.Modbus三种通讯方式2.在Modbus网络上传输3.以太网(modbus tcp/ip)三、参考资料 一、W5500模块 (一)W5500以太网模块介绍 D-W5500 EVB以太网模块是一款基于WIZnet W5500芯片的以太网模块,且性价比高的以太网模块。W5500是一款全硬件TCP/IP嵌入式以太网控制器,为

”一只特立独行的猪“的博客 1万+

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

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

DoQi_ng的博客 1644

Vue3 与 Bpmn-js:打造现代化 BPMN 流程设计器

随着业务流程的复杂化,流程设计器成为企业级应用中不可或缺的一部分。BPMN(Business Process Model and Notation)是一种标准的业务流程建模语言,广泛应用于业务流程管理。本文将介绍如何使用 Vue3 和 Bpmn-js 打造一个现代化的 BPMN 流程设计器。

九天的专栏 2114

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

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

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

UE5.3.2 + VS2022社区版在Win11上的C++编译环境配置全解

Unreal Engine 5的C++开发依赖严格的工具链协同,其核心在于Visual Studio编译器版本、Windows SDK与引擎构建系统(UBT)的精准匹配。UE5.3.2强制要求MSVC v143.4(即VS2022 17.4+)及Windows 11 SDK 10.0.22621.0,任何偏差都会引发LNK2019链接失败、C1083头文件缺失或MSB8066构建中断等典型错误。该配置不仅关乎安装顺序,更涉及注册表清理、PATH环境变量、SDK路径注入与运行时DLL加载等底层机制。适用于Wi

weixin_33978722的博客 367

HttpClient跳过HTTPS证书验证的3种实战方法(含完整代码示例)

本文详细介绍了HttpClient跳过HTTPS证书验证的3种实战方法,包括自定义TrustManager、SSLContext配置和HttpClientBuilder高级定制,并提供完整代码示例。这些方法适用于开发和测试环境,帮助开发者快速解决自签名证书或未认证证书导致的HTTPS请求失败问题,但需注意生产环境的安全风险。

weixin_29213655的博客 529

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

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

weixin_48941116的博客 1235

Python爬虫经典案例第67篇:社交媒体平台爬取:Twitter数据采集实战

Twitter(现更名为X)是全球最具影响力的社交媒体平台之一,拥有超过3.3亿月度活跃用户。作为一个实时信息传播平台,Twitter上的数据涵盖了新闻、政治、娱乐、科技等各个领域,具有极高的研究价值:本文将深入探讨Twitter数据采集的技术方案,包括官方API调用、网页爬取和浏览器自动化三种方式。Twitter采用现代化的微服务架构,主要特点包括:Twitter作为全球最大的社交媒体平台,拥有完善的反爬机制:在开始爬取前,需要明确合法的数据采集方式:重要提示:未经授权爬取Twitter数据可能违反服务条

2201_76125261的博客 658

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

一题双解。

墨染 502

【Burp入门第三十三篇】BurpSuite+Proxifier安装配置,实现微信小程序抓包

本文介绍Burp+Proxifier安装配置,实现微信小程序抓包

等风来 5873

OpenAI Function Calling 实战:让 Agent 自动调用外部 API 接口

在 2023 年 6 月之前,大语言模型(LLM)的能力边界是清晰的:它能说会道,能写诗作赋,也能帮你润色文案。但如果你问它"北京现在天气怎么样",它要么答不上来,要么基于过时的训练数据给你一个错误答案。原因很简单——LLM 的训练数据是有截止日期的,它活在"过去"。2023 年 6 月,OpenAI 在 GPT-4 的更新中引入了 Function Calling 功能,彻底改变了这一局面。Function Calling(也叫 Tool Use 或工具调用)是一种让 LLM 与外部系统交互的机制。

2201_76125393的博客 86

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

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

V_Akoasm的博客 1882

解密Whisper模型与Speaker Diarization的结合

本文介绍了如何将Whisper语音识别模型与Speaker Diarization(说话人分割)技术相结合,实现多人对话场景下的语音转录和说话人识别。文章详细讲解了技术背景、环境配置和代码实现方法,通过Pyannote进行说话人分割,结合Whisper进行语音转文本,最终输出包含说话人信息的完整转录结果。该解决方案适用于会议记录、访谈分析等场景,显著提升了语音处理的应用价值。

2501_90323865的博客 152

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

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

Danger的博客 648

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

weixin_74285822的博客 4453

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

LeetCode 209.长度最小的子数组

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

2301_80211119的博客 426

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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力扣209.长度最小的子数组

对此我的理解是,当窗口变为1,2,1,4时就可以知道2 2,1肯定不满足条件了,毕竟这个窗口挪到1,2,1,4了才刚刚满足条件,那单独的2和2,1肯定更不满足了,所以我们可以直接跳过。滑动窗口根据上一步的结果聪明地直接pass掉了更不满足条件的情况,提高了效率,这就是滑动窗口有效的原因。然后保持尾部不动,从左往右逐个元素地收缩头部,每个被抛弃的元素都要从刚刚收集的sum中减去,并更新最小窗口长度(最小毛毛虫的长度),直到不满足while循环的条件。数组:1,2,1,4,3。需要的Target=7。

alili_alili的博客 234

Leetcode209. 长度最小的子数组

Leetcode209. 长度最小的子数组

ProgramNovice的博客 749

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面试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

【力扣】<2>LeetCode 209 长度最小的子数组

考察算法:【双指针】【前缀和 + 二分查找】

Hou_lang_LJ的博客 290

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

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

qq_40263592的博客 1476

【算法笔记】 LeetCode_209 长度最小的子数组

使用滑动窗口法,双指针slow和fast分别指示窗口的左右边界,首先快指针开始右移,慢指针不动,同时求和sum开始累加,直到碰到sum>=target,开始考虑。,并返回其长度**。**如果不存在符合条件的子数组,返回。子序列的问题,慢指针尝试右移以缩小窗口大小。是该条件下的长度最小的子数组。找出该数组中满足其总和大于等于。

weixin_45568812的博客 502

leetcode-209 | 长度最小的子数组

title: leetcode-209 | 长度最小的子数组 date: 2019-4-24 16:37:05 comments: true categories: “leetcode” tags: - leetcode 中等难度 - 滑动窗口 209. 长度最小的子数组(Minimum Size Subarray Sum) 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和...

梦否 380
上一篇: 力扣 92.反转链表Ⅱ
下一篇: 力扣 24.两两交换链表中的节点
JZihui
博客等级 码龄6年 170粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值