Problem : https://leetcode.com/problems/minimum-size-subarray-sum/
Sliding-window approach.
Time Complexity = O ( N )
class Solution:
def minSubArrayLen(self, s: int, nums: List[int]) -> int:
MAX_INT = 2 ** 31 - 1
result = MAX_INT
right = 0
sums = 0
for left in range(len(nums)):
while right < len(nums) and sums < s:
sums += nums[right]
right += 1
if sums >= s:
result = min(result, right - left)
sums -= nums[left]
return result if result != MAX_INT else 0
No comments:
Post a Comment