长度最小的子数组代码详解
程序开发
2023-09-07 17:49:29
209. 长度最小的子数组
题目:
给定一个含有 n
个正整数的数组和一个正整数 target
。
找出该数组中满足其和 ≥ target
的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr]
,并返回其长度**。**如果不存在符合条件的子数组,返回 0
。
解题思路:滑动窗口的思想
就是不断调节窗口的起始位置和结束位置:
class Solution:def minSubArrayLen(self, s: int, nums: List[int]) -> int:res = float("inf") # 定义一个无限大的数Sum = 0 # 滑动窗口数值之和i = 0 # 滑动窗口起始位置for j in range(len(nums)):Sum += nums[j]while Sum >= s:res = min(res, j-i+1)Sum -= nums[i]i += 1return 0 if res == float("inf") else res
标签:
上一篇:
angular中ng-options第一个为空白的问题
下一篇:
相关文章
-
无相关信息