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

209. 长度最小的子数组

时间:2023-01-15 17:23:08浏览次数:41  
标签:cnt right nums 209 res 数组 长度 ptr left

问题链接

https://leetcode.cn/problems/minimum-size-subarray-sum/description/

解题思路

这是一个长度不定的滑动窗口。

我们需要设置一个left指针和right指针,分别指向滑动窗口的左边界和右边界。

我们判定当前的滑动窗口是否满足题意,如果不满足,则继续移动右指针。

如果满足题意,那开始移动左指针,试图寻找最小的满足条件的范围。

在这个过程中,更新res。

代码

class Solution:
    def minSubArrayLen(self, target: int, nums: List[int]) -> int:
        left_ptr, right_ptr = 0, 0
        res = 0
        cnt = 0
        while right_ptr < len(nums):
            if nums[right_ptr] >= target:
                return 1
            cnt += nums[right_ptr]
            while left_ptr < right_ptr and cnt >= target:
                res = min(res, right_ptr-left_ptr+1) if res != 0 else max(res, right_ptr-left_ptr+1)
                cnt -= nums[left_ptr]
                left_ptr += 1
            right_ptr += 1
        return res

 

标签:cnt,right,nums,209,res,数组,长度,ptr,left
From: https://www.cnblogs.com/bjfu-vth/p/17053782.html

相关文章

  • 判断数组中的某个数是否存在 将结果返回给调用处
    正确答案 有一次则正确flag=true;循环都不相等,在for循环最外面,说明flag=falsepackagecom.fqs.demo;importjava.util.Scanner;publicclassChongZ{//定......
  • CP1242. 将字符数组中第m个字符开始的n个字符逆序存放
    只是打卡:#include<stdio.h>#include<ctype.h>#include<string.h>#include<math.h>inty=0;voidinverse(charstr[1000],charb[1000],intm,intn,intk);int......
  • 遍历数组 [第一个值,第二个值,....最后一个值]的格式显示
    packagecom.fqs.demo;publicclassChongZ{//遍历数组以[第一个值,第二个值,....最后一个值]的格式publicstaticvoidmain(String[]args){int......
  • 58. 最后一个单词的长度
    58.最后一个单词的长度题目描述给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何......
  • 堆栈和数组之间的区别
    以预定义的格式存储和排列数据,以便能够以有效的方式检索和修改数据是您想要完成的众多事情之一,而数据结构是使之成为可能的构建块。数据结构本质上是数据的逻辑表示形式,用于......
  • JavaScript 中搜索数组元素的四种方法
    在实际开发当中,我们经常会遇到类似诸如下面的需求:获取满足特定条件的数组中的所有项目要检查是否满足条件?检查数组中是否有特定值?在数组中找到指定值的索引?在本文中,我们将讨......
  • 20220901|九月的第一场雨
    9月的第一场雨八月份过去了,迎来九月份的第一场雨让前几天闷热的天气有所缓解,今晚凉爽多了。今日也是阿民退役归来之时,阿民今日到广州,说要在广州办理完手续后才回家,等他......
  • 为什么你应该使用NumPy数组而不是嵌套的Python列表?
    在本文中,我们将向您展示为什么使用NumPy数组而不是嵌套的Python列表,以及它们之间的异同。PythonNumPyLibraryNumPy是一个Python库,旨在有效地处理Python中的数组。......
  • C#数组
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacelearn_list2{internalclass......
  • 【数组】前缀和
    前缀和给出一个数列:123456789它的前缀和:136101521283645前缀和即:从第一个元素到该元素之和通常我们会在数组中触及到这类知识。假设给出原数组......