leetcode系列–第209题.长度最小的子数组

题目描述:
给定一个含有 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
// 滑动窗口
/*** @param {number} target* @param {number[]} nums* @return {number}*/
var minSubArrayLen = function (target, nums) {var length = nums.length;var left = 0; // 左边界箭头var right = 0; // 右边界箭头var sum = nums[0]; // 窗口内的总和var min = length + 1; // 初始化输出结果 让他逻辑内足够大while (right < length) {if (sum >= target) {min = Math.min(min, right - left + 1);if (min === 1) return min // 逻辑内不可能有长度比1更小sum -= nums[left]left ++}    else {right ++sum += nums[right]}}return min === length + 1 ? 0 : min
}

leetcode系列-209.长度最小的子数组相关推荐

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

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

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

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

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

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

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

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

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

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

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

    代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 977.有序数组的平方 题目链接:有序数组的平方 题目描述: 给你一个按 非递减顺序 排序的整 ...

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

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

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

    题目连接:977.有序数组的平方 暴力法:将数组所有元素平方然后再排序(未利用题目条件:原始数组按照非降序排列) 双指针法:数组中各元素符号有三种情况:①所有元素非负(将数组中元素平方即可).②所有元 ...

  9. 977. 有序数组的平方|209. 长度最小的子数组|59. 螺旋矩阵 II

    977. 有序数组的平方 原理 准备:双指针.一个空数组.双指针指向的两个元素作比较,更大的数平方之后,放入空数组的尾部空位. 图解 其实这题的指针有两种方法: 从两边向中间靠拢,得到的是由大到小的值 ...

最新文章

  1. JavsScript中DOM的基本操作
  2. jQuery学习笔记1--表格展开关系
  3. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(八)
  4. TCP: SYN ACK FIN RST PSH URG 详解【转】
  5. php两个编辑框一个提交按钮,一个表单中的两个提交按钮
  6. 万豪联姻蚂蚁金服 结合优势打造共赢
  7. 计算机二级c语言考试题型及分值,全国计算机二级C语言考试题型及考试重点
  8. Java怎么学?分享6个学习窍门
  9. HBuilderX前端html功能应用
  10. Qt 运行时不显示图标
  11. 搜索引擎和网站中的高级搜索技巧
  12. 筷子兄弟--11度青春系列电影之老男孩,相信你会感动!!
  13. Python初学(2)—— 基本数据类型
  14. C++ STL求全排列和组合
  15. Python编曲实践(二):和弦的实现和进行
  16. 牛客网 赛码网 js输入输出
  17. java导出excel合并单元格_Java 导出Excel 合并Excel单元格
  18. 2022淘宝天猫年货节超级红包攻略
  19. 过去分词表完成或者被动完成
  20. Aero开启失败问题解决

热门文章

  1. Transformer课程:理解语言的 Transformer 模型-位置编码及掩码 (Masking)
  2. 一款直播电视接口分析
  3. PICE(5):MongoDBStreaming - gRPC -MGO Service
  4. 2022 清华大学 自动化系 保研推免 面试经验
  5. html5 驾考 答题样式,驾考科目四答题选择诀窍
  6. Android 3 使用 smartTable 表格工具 实现选中一行 并获得行所有信息
  7. kubernetes和docker----2.学习Pod资源
  8. Linux C小项目 —— 实现文件传输
  9. matlab函数内定义常量,matlab 里定义全局变量,常量
  10. Linux C 父子进程 与 有名管道