개발/Leetcode

Leetcode 209. Minimum Size Subarray Sum

지산동고라니 2023. 7. 6. 11:42

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

 

Minimum Size Subarray Sum - LeetCode

Can you solve this real interview question? Minimum Size Subarray Sum - Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarr

leetcode.com

문제

양수로 이루어진 nums배열과 함께 양수 target이 주어진다. 이때 target의 이상이 되는 부분배열의 길이가 가장 작은 값을 반환하라. 만약 만족하는 부분배열이 없는 경우 0을 반환하면 된다.

 

코드

class Solution:
    def minSubArrayLen(self, target: int, nums: list[int]) -> int:

        if sum(nums) < target:
            return 0

        s, l, answer = 0, 0, len(nums)

        for r, val in enumerate(nums):
            s += val
            while s >= target:
                s -= nums[l]
                answer = min(answer, r - l + 1)
                l += 1

        return answer