文章目录

  • 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--长度最小的子数组相关推荐

  1. 代码随想录训练营第二天|LeetCode977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

    day2 | LeetCode977.有序数组的平方.209.长度最小的子数组.59.螺旋矩阵II 创建时间: October 13, 2022 3:29 PM 一.今日任务 977.有序数组的平方 ...

  2. 1、leetcode209 长度最小的子数组

    leetcode209 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+ ...

  3. 209. Minimum Size Subarray Sum 长度最小的子数组

    Title 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的连续子数组,返回 0. **示例: ** 输入: ...

  4. 数组|leetcode209.长度最小的子数组

    给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, -, numsr-1, numsr] ...

  5. 【Leetcode数组--子数组--滑动窗口】209. 长度最小的子数组 904. 水果成篮 1004. 最大连续1的个数 III 76. 最小覆盖子串(有数组操作中重要的方法:滑动窗口!!!!)

    文章目录 Leetcode209 1.问题描述 2.解决方案 解法一:两个错误思路的算法 解法二:暴力 解法三:滑动窗口法(O(n)) Leetcode904 1.问题描述 2.解决方案 Leetco ...

  6. 代码随想录Day02 | LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II

    977.有序数组的平方 力扣题目链接(opens new window) 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: ...

  7. Leonard代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。

    第一章数组 (今日任务) 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 建议大家先独立做题,然后看视频讲解,然后看文章讲解,然后在重新做一遍题,把题目AC,最后整理 ...

  8. 代码随想录第二天 |LeetCode977.有序数组的平方,LeetCode209.长度最小的子数组,LeetCode59.螺旋矩阵II

    LeetCode977.有序数组的平方 977. 有序数组的平方 - 力扣(LeetCode) 暴力解法: 一开始不习惯用双指针解法,习惯性先平方再用双指针,发现做不出了HH.于是愉快的用传统暴力解法 ...

  9. 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。

    代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II. 977.有序数组的平方 209. 长度最小的子数组 59. 螺旋矩阵 II 977.有序数组的 ...

  10. 代码随想录算法训练营第二天|leetcode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

    leetcode 977.有序数组的平方 想到昨天写的双指针,十分刻意用了一下,感觉还是比较生疏,还得加强练习和思考,然后发现还需要排序,想到了vector的排序sort(),但是觉得直接用不好,也忘 ...

最新文章

  1. jQuery调用其他JS文件中的方法
  2. CentOS+postfix+ExtMail+amavisd-new+Spam_Locker+DSpam配置指南:五、配置maildrop
  3. 10周拿下数据分析师认证
  4. 启继承父位在什么时候_为什么少儿口才现在越来越受到家长们的重视
  5. php 子类重新定义父类的变量_PHP设计模式 ——(抽象工厂模式)
  6. python时间转绝对秒数_python时间时分秒与秒数的互相转换
  7. C#代码生成目录树(转)
  8. 推荐21个顶级的Vue UI库!
  9. .net 中使用rabbitmq
  10. ipython notebook使用教程
  11. api wke_给Webkit内核的浏览器控件增加互交功能
  12. 深圳大学C C++ 数据结构题目答案清单完整题库(含期中模拟 期末模拟 期末真题 考前练习)
  13. 计算机用户帐号 MAC地址怎么查,笔记本mac地址查询方法_笔记本电脑的mac地址怎么查-win7之家...
  14. 内置函数总结(待更新)C++
  15. 今天去西安易朴通讯有限公司实习
  16. dreamweaver快捷键大全
  17. 枚举型、注释(待补充)
  18. android 关闭jack_Android7.0编译 jack常见错误类型及解决办法
  19. apache+php配置网站访问后,不能跳转网站首页,只显示网站目录下的文件
  20. 大学物理一些公式汇总

热门文章

  1. 光盘刻录制作Ubuntu等操作系统的启动盘
  2. C++ using的三种使用策略以及具体的用法
  3. C语言指针和数组概述
  4. FreeBSD 10 将使用 Clang 编译器替换 GCC
  5. YUV / RGB 格式及快速转换
  6. Guava ImmutableCollection简介
  7. Choose unique values for the 'webAppRootKey' context-param in your web.xml files! 错误的解决
  8. python ==》 元组
  9. hadoop fs 运维常用的几个命令
  10. 如何在VS和CB中配置MySQL环境