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

209. 长度最小的子数组

时间:2024-09-10 22:54:26浏览次数:1  
标签:right nums 209 minLength sum int 数组 长度 left

滑动窗口!!

 

class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int left = 0, right = 0, sum = nums[0];
        int minLength = INT_MAX;
        while(left <= right && right < nums.size()){
            if(sum >= target){
                if(minLength > right - left + 1) minLength = right - left + 1;
                sum -= nums[left++];
            }else{
                if(right == nums.size() - 1) break;
                sum += nums[++right];
            }
        }
        if(minLength == INT_MAX) minLength = 0;
        return minLength;
    }
};

 

标签:right,nums,209,minLength,sum,int,数组,长度,left
From: https://www.cnblogs.com/llllmz/p/18407398

相关文章

  • 1146. 快照数组
    题目链接1146.快照数组思路哈希+二分法题解链接记录修改历史:哈希表+二分查找(Python/Java/C++/Go/JS/Rust)关键点理解题意:查询时要找到<=snap_id的最后一次修改记录时间复杂度\(O(\logn)\)空间复杂度\(O(n)\)代码实现:classSnapshotArray:de......
  • 树状数组求区间最大小值
    constintN=5e5+5;constintINF=0x3f3f3f3f;intn,q;inta[N],trmx[N],trmn[N];//将原来的累加改为求最值voidadd(intx,intk){while(x<=n){trmx[x]=max(trmx[x],k);trmn[x]=min(trmn[x],k);x+=lowbit(x);}}//区间查询最大/小值......
  • 基于数组的循环队列
    基于数组的循环队列关键点在于:当元素总数超过队列长度后,出队、入队等行为如何避免数组越界问题。环绕数组的逻辑结构确实可以类比时钟,当指针走到最后一个刻度(比如12小时制的12点),再往前走时,指针会回到最开始的刻度(即1点),而不是继续前进到一个不存在的位置。 以12小时制时钟为......
  • 力扣热题100 - 二叉树:将有序数组转换为二叉搜索树
    题目描述:题号:108给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。解题思路:思路一:中序构建二叉树选择根节点:首先,选择数组的中间元素作为根节点。这样做可以确保生成的二叉搜索树尽可能平衡。递归构建子树:将数组分......
  • LeetCode之数组/字符串
    88.合并两个有序数组classSolution{publicvoidmerge(int[]nums1,intm,int[]nums2,intn){//这个循环将nums2中的元素逐个复制到nums1中从索引m开始的位置for(inti=0;i<n;i++){nums1[i+m]=nums2[i];......
  • [Python手撕]螺旋数组
    classSolution:defspiralOrder(self,matrix:List[List[int]])->List[int]:res=[]left=0right=len(matrix[0])-1down=len(matrix)-1up=0whileleft<=rightandup<=down:......
  • 【useTranslation】兼容数组解构和对象解构的三种实现方式
    useTranslation使用:数组解构:const[t,i18n]=useTranslation();对象解构:const{t,i18n}=useTranslation();useTranslation兼容数组解构和对象解构的三种实现方式:1.返回带属性的数组在这种实现方式中,返回一个数组,并为该数组添加对象属性。这样可以同时使用数组......
  • js对象转数组对象
    1.创建一个baseFun.jsexportfunctionobjectFun(obj){constresult=[]//处理所有可能的JSON字符串字段,递归处理所有嵌套JSON字符串functionprocessJsonFields(obj){for(constkeyinobj){if(obj.hasOwnProperty(key)){......
  • array数组对象以及常用方法
    数组(Array)是一种数据结构,用于存储具有相同类型的数据元素的有序集合。1.定义数组//通过字面量方式定义数组:let 数组名=[值,值,值];letnumbers=[1,2,3,4,5];//通过构造函数定义数组:let数组名=newArray(值,值,值);(newArray()是固定写法)letfr......
  • C语言程序设计——数组(二)
    一、字符数组1.1字符数组的定义定义方法与数组(一)介绍的类似。用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。1.2字符数组的初始化对字符数组初始化,最容易理解的方式是逐个字符赋给数组中各元素。注:①如果在定义字符数组时不进行初始化,则数组中各......