首页 > 其他分享 >209. 长度最小的子数组

209. 长度最小的子数组

时间:2022-12-07 15:33:15浏览次数:37  
标签:target nums 209 sum int result 数组 长度

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

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

 

思路:原本的思路是将数组排序然后从右向左插入一个新数组,直到sums》=target。但是发现是连续子数组,所以一定要认真审题。

class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int result = INT32_MAX;
        int sum = 0;
        int sublength = 0;
        int i = 0;
        for (int j = 0; j < nums.size(); j++)
        {
            sum += nums[j];
            while (sum >= target)
            {
                sublength = j - i + 1;
                result = result < sublength ? result : sublength;
                sum -= nums[i++];

            }
        }
        return result == INT32_MAX ? 0 : result;
    }
};

 

标签:target,nums,209,sum,int,result,数组,长度
From: https://www.cnblogs.com/lihaoxiang/p/16963206.html

相关文章

  • Java数组和字符串的相互转换
    Java数组和字符串的相互转换字符串转换为数组JavaString类中的toCharArray()方法将字符串转换为字符数组,具体代码如下所示。Stringstr="123abc";char[]arr=......
  • 数组
    数组数组的定义数组是想同类型数据的有序集合数据描述的是相同类型的若干个数据,按照一定的先后次序组合而成其中,每一个数据称作一个数组元素,每个数组元素都可以......
  • 数组
    1、用auto通过数组名字获取到的类型是指针,用decltype通过数组名字获取到的类型是数组类型。2、用部分数组初始化vector,表示范围的数组指针与迭代器类似,第一个指针指向第一......
  • 通过*p解引用打印数组
    #include<stdio.h>#include<string.h>#include<math.h>#include<stddef.h>intmain(){ intarr[10]={1,2,3,4,5,6,7,8,9,10}; inti=0; int*p=arr; for(i=0;i......
  • React组件设计模式-纯组件,函数组件,高阶组件
    一、组件(1)函数组件如果你想写的组件只包含一个render方法,并且不包含state,那么使用函数组件就会更简单。我们不需要定义一个继承于React.Component的类,我们可以定......
  • 通过最少操作次数使数组的和相等
    题目给你两个长度可能不等的整数数组 nums1和 nums2 。两个数组中的所有值都在 1 到 6 之间(包含 1 和 6)。每次操作中,你可以选择任意 数组中的任意一个整数,......
  • js移除数组,删除数组
    一、修改arr的length方法根据修改后的length去除后面的元素。letarr=[1,2,3,4,5,6,7,8,9];arr.length=3;console.log('length',arr.length);//3console.log('a......
  • Java数组转Set的方法
    转:Java数组转Set的方法        ......
  • 数组2
    数组作为函数参数冒泡排序#include<stdio.h>viodbubble_sort(intarr[]){inti=0;intsz=sizeof(arr)/sizeof(arr[0]);for(i=0;i<sz-1;i++){intj=0;for(......
  • 数组:内存分析及三种初始化
    数组(堆和栈的关系)内存分析:通常我们说的分析java内存,指的是分析java的堆内存(heapmemory),稍微扩展点,还可能涉及到持久带内存(jre7以前)或者Metaspace(jre8以后)。.一般的垃圾......