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

209. 长度最小的子数组C

时间:2024-02-27 15:13:14浏览次数:22  
标签:numsSize head minn 209 int tail tag 数组 长度

滑动窗口的妙用!!

int minSubArrayLen(int target, int* nums, int numsSize) {
    int sum=nums[0];//区间head到tail的和
    int head=0,tail=0;
    int minn=numsSize;
    int tag=0;
    if(numsSize==0) return -1;
    while(head<=tail && tail<numsSize){
        if(sum<target ){
            tail++;
            if(tail==numsSize) break;
            sum+=nums[tail];
        }else if(sum>=target ){
            tag=1;
            if(minn>(tail-head+1)) minn=tail-head+1;
            sum-=nums[head++];
        }
    }
    if(tag==0){
        return 0;
    }
    return minn;
}

结果:

标签:numsSize,head,minn,209,int,tail,tag,数组,长度
From: https://www.cnblogs.com/llllmz/p/18036910

相关文章

  • 977. 有序数组的平方
    学习了下用qsort解决。/***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/intcmp(constvoid*a,constvoid*b){return*(int*)a-*(int*)b;}int*sortedSquares(int*nums,intnumsSize,int*returnSize){*returnSize=num......
  • unipp实现map地图轨迹,轨迹长度,标点,连线功能
    效果图 一、pages.json文件中加入{"path":"pages/map/mapd","style":{"navigationBarTitleText":"地图","app-plus":{......
  • linux 中 printf函数常用选项设置占位长度、左对齐、输出百分号
     001、设置占位长度[root@pc1test1]#printf"%s\n""abc"##一般输出abc[root@pc1test1]#printf"%20s\n""abc"##设置占位长度20,默认情况下是右对齐abc[root@pc1test1]#printf"%-2......
  • Leetcode 53. 最大子数组和
    题目给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。输入输出样例输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。输入:nums=[1]输出:1输入:nums......
  • 【14.0】JavaScript之数组
    【一】什么是数组数组是一组有序的数据集合,数组内部可以存放多个数据,不限制数据类型,数组的长度可以动态调整数组类似于Python当中的列表【二】创建数组创建数据的最简单方式是通过字面量vararr=[]也可以通过数组对象去创建vararr=newArray()存放多个......
  • JavaScript 实现JSON 对象数组以某个属性进行分组处理
    JavaScript实现JSON对象数组以某个属性进行分组处理要在JavaScript中对JSON对象数组的某个属性进行分组处理,你可以使用一个对象来存储分组后的结果。下面是一个简单的示例,演示了如何对JSON对象数组中的某个属性进行分组处理:假设我们有一个JSON对象数组,每个对象都有ca......
  • day42 动态规划part4 代码随想录算法训练营 46. 携带研究材料- 一维数组写法
    题目:46.携带研究材料我的感悟:一维是二维的压缩理解难点:倒序遍历j因为每轮的数字是由左上决定的。遍历的时候,从右侧遍历,是不会影响左侧的。听课笔记:代码示例:defbag_problem(weight,value,bagWeight):#初始化dp=[0]*(bagWeight+1)fori......
  • 34. 在排序数组中查找元素的第一个和最后一个位置C
    /***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/int*searchRange(int*nums,intnumsSize,inttarget,int*returnSize){*returnSize=2;int*a=(int*)malloc(sizeof(int)*2);a[0]=-1;a[1]=-1;inthead=0,......
  • 前端get请求传递数组型参数时的处理方式
    场景后端get接口设计接受数组型查询参数时,只接受重复的query格式,如arr=[1,2,3],那么在query里的参数格式需要是a=1&a=2&a=3前端get请求直接传数组会默认处理为a[]=1&a[]=2&a[]=3,后端无法识别(恼),传json字符串和join拼接后端都不同意如果直接在url中做参数拼接,实在是又蠢又费力......
  • ES6技巧(快速解构赋值、数组去重、数组转对象)
    1.如何将a,b的值快速互换leta=1;letb=2;[a,b]=[b,a]解析:首先,我们有变量 a 被赋值为 1,变量 b 被赋值为 2。然后,[a,b]=[b,a] 这行代码实际上是将数组 [b,a] 解构赋值给了数组 [a,b]。在解构赋值过程中,右侧的数组 [b,a] 中的值会被依次赋给左侧......