13--长度最小的子数组
文章目录
- 1.题目要求
- 2.解题代码
1.题目要求
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。
示例:
输入:s = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的连续子数组。
2.解题代码
定义两个指针 start 和 end 分别表示子数组的开始位置和结束位置,维护变量sum 存储子数组中的元素和(即从 nums[start] 到 nums[end] 的元素和)。
初始状态下,start 和 end 都指向下标 0,sum 的值为 0。
每一轮迭代,将nums[end] 加到sum,如果sum≥s,则更新子数组的最小长度(此时子数组的长度是end−start+1),然后将nums[start] 从sum 中减去并将start 右移,直到sum<s,在此过程中同样更新子数组的最小长度。在每一轮迭代的最后,将end 右移。
class Solution:def minSubArrayLen(self, s: int, nums: List[int]) -> int:# 双指针# 如果数组为0,则返回0if not nums:return 0# 初始化参数n = len(nums)ans = n+1start, end = 0, 0total = 0while end < n:total += nums[end]while total >= s:ans = min(ans, end - start + 1)total -= nums[start]start += 1end += 1return 0 if ans == n+1 else ans
13--长度最小的子数组相关推荐
- 代码随想录训练营第二天|LeetCode977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
day2 | LeetCode977.有序数组的平方.209.长度最小的子数组.59.螺旋矩阵II 创建时间: October 13, 2022 3:29 PM 一.今日任务 977.有序数组的平方 ...
- 1、leetcode209 长度最小的子数组
leetcode209 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+ ...
- 209. Minimum Size Subarray Sum 长度最小的子数组
Title 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的连续子数组,返回 0. **示例: ** 输入: ...
- 数组|leetcode209.长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, -, numsr-1, numsr] ...
- 【Leetcode数组--子数组--滑动窗口】209. 长度最小的子数组 904. 水果成篮 1004. 最大连续1的个数 III 76. 最小覆盖子串(有数组操作中重要的方法:滑动窗口!!!!)
文章目录 Leetcode209 1.问题描述 2.解决方案 解法一:两个错误思路的算法 解法二:暴力 解法三:滑动窗口法(O(n)) Leetcode904 1.问题描述 2.解决方案 Leetco ...
- 代码随想录Day02 | LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II
977.有序数组的平方 力扣题目链接(opens new window) 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: ...
- Leonard代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。
第一章数组 (今日任务) 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 建议大家先独立做题,然后看视频讲解,然后看文章讲解,然后在重新做一遍题,把题目AC,最后整理 ...
- 代码随想录第二天 |LeetCode977.有序数组的平方,LeetCode209.长度最小的子数组,LeetCode59.螺旋矩阵II
LeetCode977.有序数组的平方 977. 有序数组的平方 - 力扣(LeetCode) 暴力解法: 一开始不习惯用双指针解法,习惯性先平方再用双指针,发现做不出了HH.于是愉快的用传统暴力解法 ...
- 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。
代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II. 977.有序数组的平方 209. 长度最小的子数组 59. 螺旋矩阵 II 977.有序数组的 ...
- 代码随想录算法训练营第二天|leetcode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
leetcode 977.有序数组的平方 想到昨天写的双指针,十分刻意用了一下,感觉还是比较生疏,还得加强练习和思考,然后发现还需要排序,想到了vector的排序sort(),但是觉得直接用不好,也忘 ...
最新文章
- jQuery调用其他JS文件中的方法
- CentOS+postfix+ExtMail+amavisd-new+Spam_Locker+DSpam配置指南:五、配置maildrop
- 10周拿下数据分析师认证
- 启继承父位在什么时候_为什么少儿口才现在越来越受到家长们的重视
- php 子类重新定义父类的变量_PHP设计模式 ——(抽象工厂模式)
- python时间转绝对秒数_python时间时分秒与秒数的互相转换
- C#代码生成目录树(转)
- 推荐21个顶级的Vue UI库!
- .net 中使用rabbitmq
- ipython notebook使用教程
- api wke_给Webkit内核的浏览器控件增加互交功能
- 深圳大学C C++ 数据结构题目答案清单完整题库(含期中模拟 期末模拟 期末真题 考前练习)
- 计算机用户帐号 MAC地址怎么查,笔记本mac地址查询方法_笔记本电脑的mac地址怎么查-win7之家...
- 内置函数总结(待更新)C++
- 今天去西安易朴通讯有限公司实习
- dreamweaver快捷键大全
- 枚举型、注释(待补充)
- android 关闭jack_Android7.0编译 jack常见错误类型及解决办法
- apache+php配置网站访问后,不能跳转网站首页,只显示网站目录下的文件
- 大学物理一些公式汇总
热门文章
- 光盘刻录制作Ubuntu等操作系统的启动盘
- C++ using的三种使用策略以及具体的用法
- C语言指针和数组概述
- FreeBSD 10 将使用 Clang 编译器替换 GCC
- YUV / RGB 格式及快速转换
- Guava ImmutableCollection简介
- Choose unique values for the 'webAppRootKey' context-param in your web.xml files! 错误的解决
- python ==》 元组
- hadoop fs 运维常用的几个命令
- 如何在VS和CB中配置MySQL环境