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

数组之长度最小的子数组

时间:2023-03-14 14:48:02浏览次数:31  
标签:target int sum 最小 数组 ans 长度

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

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

用 j 一直往后遍历,当满足一定条件时再用 i循环来找到要求的最小长度。

class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int i=0,j=0,len=nums.size(),sum=0,ans=0x3f3f3f3f;
        for(j=0;j<len;j++){
            sum+=nums[j];
            while(sum>=target){
                ans=min(ans,j-i+1);
                sum-=nums[i];
                i++;
            }
        }
        if(ans==0x3f3f3f3f){
            return 0;
        }        
        return ans;
    }

};

 

2、

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/minimum-size-subarray-sum

标签:target,int,sum,最小,数组,ans,长度
From: https://www.cnblogs.com/bhd123/p/17214841.html

相关文章

  • 树状数组入门
    前言树状数组作为维护序列区间修改与查询的利器是每一个 “OIer” 都应该要掌握的知识点今天,我们来详细的整理一下树状数组的知识脉络目录一.树状数组简介二.树状......
  • 32位汇编语言实现求数组的最大值
    INCLUDEIrvine32.inc.dataarrdd99,2,3,1,22,188,7,77,54,10;定义数组 lendd($-arr)/4;用当前地址减去数组首元素地址除以4得到数组的长度.codemainPROC......
  • 差分数组
    题目难度要点拼车●不需要构造原始数组,直接判断即可航班预定统计●构造原始数组区间加法●构造原始数组拼车classSolution{publicboo......
  • 【LeetCode回溯算法#11】解数独,这次是真的用回溯法处理二维数组
    解数独力扣题目链接(opensnewwindow)编写一个程序,通过填充空格来解决数独问题。一个数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。数字1-9在每一列只......
  • 剑指 Offer 11.旋转数组的最小数字
    题目描述   解法二分查找思路:设i为左界,j为右界,中点为mid;将number[mid]与number[j]进行比较,会出现一下情况:number[mid]<number[j]时,说明number[mid]是最......
  • Java数组
    Java数组1.数组概述数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元......
  • java基础-一维数组
    1、什么是数组:数组是一个变量,存储是相同数据类型的一组数据,声明数组,就是在内存中划分一串连续的空间注意:数组一经定义,大小就确定了,不可以在此基础上再增加......
  • java基础-排序算法&&二维数组
    1、冒泡排序--升序原理:每次比较相邻两数小的交换到前面每轮结束后最大的数交换到最后口诀:冒泡排序速记口诀(升序)n个数字来排队......
  • 前端学习案例5-数组面试题1
    //返回每一项得最大值......
  • 前端学习案例7-数组面试题3
     ......