0
点赞
收藏
分享

微信扫一扫

209.长度最小的子数组

松鼠树屋 2022-02-09 阅读 50

文章目录

题目

'''
Description: 209.长度最小的子数组
Autor: 365JHWZGo
Date: 2022-02-09 17:35:19
LastEditors: 365JHWZGo
LastEditTime: 2022-02-09 20:10:18
'''

难度

medium

思路

当没有超过target时,r+=1
当超过或等于target时,l+=1

代码

class Solution(object):
    def minSubArrayLen(self, target, nums):
        """
        :type target: int
        :type nums: List[int]
        :rtype: int
        """
        minNum = len(nums)
        if sum(nums) < target:
            return 0
        if sum(nums) == target:
            return minNum
        l, r = 0, 0
        total = 0
        while r < len(nums):
            total += nums[r]
            while total>=target:
                minNum = min(r-l+1,minNum)
                total -= nums[l]
                l += 1
            r += 1
        return minNum

在这里插入图片描述

举报

相关推荐

0 条评论