leetcode209 长度最小的子数组

给定一个含有 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

文章目录

  • leetcode209 长度最小的子数组
  • 一、滑动窗口
  • 二、滑动窗口模板

一、滑动窗口

class Solution {public int minSubArrayLen(int target, int[] nums) {int left=0; //左边界int right=0;//右边界int sum=0;int res=nums.length+1;//初始化是为了防止结果不存在while(right<nums.length){sum+=nums[right++];//让右边界进行移动while(sum>=target){res=Math.min(res,right-left);//求长度最小的子数组sum-=nums[left++];//左边界进行移动}   }return res==nums.length+1?0:res;}
}

二、滑动窗口模板

分享一个滑动窗口模板,是在leetcode上看到别人写的,他是写的python版,改成了Java版本,感觉挺好的,有利于理解滑动窗口思想。可以利用这个思想来尝试一下leetcode1001 最大连续1的个数

public int findSubArray(int[] nums,int target){//数组/字符串长度int len=nums.length;//双指针,表示当前遍历的区间[left, right],闭区间int left=0, right = 0; //用于统计子数组/子区间是否有效,根据题目可能会改成求和/计数int sum = 0;//保存最大的满足题目要求的 子数组/子串 长度int res = 0;//当右边的指针没有搜索到数组/字符串的结尾while (right<len){//增加当前右边指针的数字/字符的求和/计数sum += nums[right] //此时需要一直移动左指针,直至找到一个符合题意的区间while 区间[left, right]不符合题意{//移动左指针前需要从counter中减少left位置字符的求和/计数sum -= nums[left];//真正的移动左指针,注意不能跟上面一行代码写反left++;}//到while 结束时,我们找到了一个符合题意要求的子数组/子串res = Math.max(res, right - left + 1) //需要更新结果right ++; //移动右指针,去探索新的区间}return res
}

1、leetcode209 长度最小的子数组相关推荐

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

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

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

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

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

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

  4. 代码随想录算法训练营第二天|LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II。

    LeetCode977.有序数组的平方 题目链接:LeetCode977.有序数组的平方 暴力解法: class Solution { public:vector<int> sortedS ...

  5. Leetcode--209. 长度最小的子数组

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

  6. 代码随想录算法训练营第二天|LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵Ⅱ

    算法训练营打卡第二天,今天的前两道题目重点练习了双指针的用法,最后一道题目将边界条件的限定作为关键点,额外锻炼了逻辑能力. LeetCode977.有序数组的平方 题目链接 https://leetc ...

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

    代码随想录算法训练营第二天 | LeetCode977.有序数组的平方 ,209.长度最小的子数组,59.螺旋矩阵II 一. LeetCode977.有序数组的平方 1. 题目链接[LeetCode9 ...

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

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

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

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

最新文章

  1. python-----利用filecmp删除重复文件
  2. 置换 ---- 两个置换最少swap次数 E. Permutation Shift
  3. 不就是发个短信吗?这你都会?
  4. Python 中的Pandas库
  5. Android笔记 - 如何避免ActivityNotFound异常,查看Activity堆栈信息,获取进程名
  6. Python--上下文管理器学习(11.3)
  7. 用户空间和内核空间通讯之【Netlink 中】
  8. 常用SQL语句优化技巧
  9. Selenium WebDriver 与 iOS 自动化测试 (做了一些初步的工具对比)
  10. 拓端tecdat|HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
  11. 【阿里云总监课】存储系统设计——NVMe SSD性能影响因素一探究竟
  12. java tapestry_Java Web开发的轻便架构Tapestry5---简介
  13. php商品浏览页面,jquery仿京东商品放大浏览页面_实例分享
  14. Python黑客系列之——控制自己的手机摄像头拍照,并自动发送到邮箱。
  15. 地理科学国内外核心期刊汇总
  16. python蒙特卡洛算法模拟赌博模型
  17. 也许有一天,你发觉日子特别的艰难,那可能是这次的收获将特别的巨大
  18. 给大家推荐几个不错的网站
  19. 英语字母c的语言教案,幼儿园小班英语单词教案五篇
  20. 玩转Java8Stream之函数式接口

热门文章

  1. 计算机视觉和图像分类,图像分类 - 计算机视觉 - Azure Cognitive Services | Microsoft Docs...
  2. php和python的选择排序算法,图文讲解选择排序算法的原理及在Python中的实现
  3. java解非线性方程组_Scipy - 非线性方程组的所有解
  4. 解决windows找不到D:launcher\launcher.exe的方法
  5. Python中字典get方法的使用
  6. Python高阶函数用法
  7. c++ 人脸识别_应用层下的人脸识别(四):人脸研判
  8. 为什么ubuntu64位下C语言for循环不能超过2147483647次?(size_t )
  9. C语言visual studio警告:取消对NULL指针“p”的引用
  10. Jupyter notebook的内核是什么?Ipython