题目

给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

示例

输入:target = 7, nums = [2,3,1,2,4,3]

输出:2

解释:子数组 [4,3] 是该条件下的长度最小的子数组。

解题思路

  • 题目中所要求得的是连续子数组
  • 滑动窗口的方法:用一个for循环,循环变量是终止位置,先从数据元素0开始,一个个累加,找到满足条件的子数组;当找到满足条件的子数组时记录子数组长度,并且要将起始序列往前进1;再次执行for循环操作,直至终止位置到达最后一个数组元素
  • 程序中要设定一个结果值,用来储存每次找到的符合条件的子数组的最短长度

代码实现

 //滑动窗口的办法   题目中是寻找一个  连续子数组
int result = INT32_MAX; //将结果赋值为整数型最大值
int sum = 0;
int i = 0;
int len = 0; //定义找到的数组长度
for(int j = 0; j < nums.size(); j++){
sum += nums[j]; //不满足大于等于target时就一直往后加
while(sum >= target){ //当满足大于等于target时要开始移动开始位置的i
len = (j - i + 1);
result = result < len ? result : len; //记录此时找到的符合要求的数组长度,如果小于result就记录下来,直到找到符合条件的最小的数组长度
sum -= nums[i++]; //sum -= num[i]; & i++;
}
}
return result == INT32_MAX ? 0 : result;

lc.209 长度最小的子数组的更多相关文章

  1. 领扣-209 长度最小的子数组 Minimum Size Subarray Sum MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. 【LeetCode】209. 长度最小的子数组

    209. 长度最小的子数组 知识点:数组:前缀和:二分法:双指针:滑动窗口 题目描述 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小 ...

  3. Java实现 LeetCode 209 长度最小的子数组

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

  4. Leetcode 209.长度最小的子数组 By Python

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

  5. LeetCode 209. 长度最小的子数组(Minimum Size Subarray Sum)

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

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

    2022/09/22 第二天 第一题 这题我就直接平方后排序了,很无脑但很快乐啊(官方题解是双指针 第二题 滑动窗口的问题,本来我也是直接暴力求解发现在leetCode上超时,看了官方题解,也是第一次 ...

  7. LeetCode:长度最小的子数组【209】

    LeetCode:长度最小的子数组[209] 题目描述 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组.如果不存在符合条件的连续子数组,返回 ...

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

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

  9. LeetCode 长度最小的子数组

    题目: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的连续子数组,返回 0. 思路: 非常明显用滑动窗口处 ...

  10. leetcode209. 长度最小的子数组

    双指针滑动窗口解法,时间复杂度O(N). 滑动窗口,想象一下,在一个坐标上存在两个指针begin 和i ,begin 代表滑窗的左边框,i代表滑窗的右边框.两者通过分别向右滑动,前者能使窗口之间的和减 ...

随机推荐

  1. Git中常见的一些问题总结

    Git中常见的一些问题总结 目录 Git中常见的一些问题总结 1.git添加到暂存区的修改,如果不想要了,怎么撤销 2.git添加到本地仓库,如果不想要了,怎么撤销 3.提交代码时发现别人已经提交了( ...

  2. plsql和instantclient版本都对,依然不能初始化oci.dll解决办法

    这里写到 "初始化错误,不能初始化 oci.dll, 请确认你安装的是64位的Oracle客户端 " ,这个描述还是非常的到位啊,我一检查,果然下载的客户端是32位的,在确保自己的 ...

  3. 在Ubuntu19.04系统中安装Emacs遇到的问题

    安装显示部分依赖软件包现在无法安装 发现emacs26无法安装 后来查阅资料,发现在Ubuntu18版本及以上就不需要更新了 即不需要以下操作: sudo apt update 同时安装也需要将ema ...

  4. python如何实现对word内段落文本及表格的读取

    在以下方法中用到的三方库是:python-docx from docx import Document 获取指定段落的文本 def get_paragraph_text(path, n): " ...

  5. web server 接口调用

    1. 生成客户端代码 2.调用接口 import javax.xml.ws.Service;public static NotificationServiceDevImplPortType mokaA ...

  6. 064_Js常用的五大事件 onclick nochanger onload onsubmit onblur

    事件是电脑输入设备与页面交互的响应. onload加载完成事件:onload事件 是在页面被浏览器加载完成之后.自动触发的响应 onclick单击事件 onblur失去焦点事件 onchange内容发 ...

  7. Linux 服务器安全扫描

    工具一:Nmap 1. 探测网络中活跃的主机 nmap -sP 10.0.105.1/24 :探测10.0.105网段中的全部主机 2. 探测主机系统版本 nmap -O IP :探测指定IP的相关数 ...

  8. nacos之服务注册、发现及维持心跳

    注册服务(增加健康检查)  服务发现(默认15s没有心跳请求,则自动注销服务)  心跳(维持服务运行状态) 参数说明 serviceName:服务名称 beat:服务的详细信息 ip 端口等,json ...

  9. Ajax 后台传值接收方法

    $.ajax({ method: 'post', //数据类型 url: 'service.ashx?method=PostFile', //传输页面和页面方法 dataType: "jso ...

  10. ESXI不重启增加硬盘空间更新

    ESXI虚拟机Linux添加新磁盘后,可以通过重新扫描SCSI总线,在不重启虚拟机的情况下添加SCSI设备在线扩容磁盘(不停机)后,添加磁盘无法识别的问题,尝试了多种办法,最终通过重新扫描SCSI设备 ...