From a918d6fa07f4c5d0b3247b242ef30a3aacdff5fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E6=9E=97=E7=A8=8B=E5=BA=8F=E5=91=98?= Date: Sat, 8 Oct 2022 11:45:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dpython=E5=9C=A8md=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E8=AF=AD=E6=B3=95=E9=AB=98=E4=BA=AE&=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0209.长度最小的子数组.md | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/problems/0209.长度最小的子数组.md b/problems/0209.长度最小的子数组.md index 2a018736..0bcd31e5 100644 --- a/problems/0209.长度最小的子数组.md +++ b/problems/0209.长度最小的子数组.md @@ -181,23 +181,23 @@ class Solution: index += 1 return 0 if res==float("inf") else res ``` -```python3 -#滑动窗口 +```python +# 滑动窗口 class Solution: def minSubArrayLen(self, target: int, nums: List[int]) -> int: - if nums is None or len(nums)==0: + if nums is None or len(nums) == 0: return 0 - lenf=len(nums)+1 - total=0 - i=j=0 - while (j=target): - lenf=min(lenf,j-i) - total=total-nums[i] - i+=1 - if lenf==len(nums)+1: + lenf = len(nums) + 1 + total = 0 + i = j = 0 + while (j < len(nums)): + total = total + nums[j] + j += 1 + while (total >= target): + lenf = min(lenf, j - i) + total = total - nums[i] + i += 1 + if lenf == len(nums) + 1: return 0 else: return lenf