原网链接
滑动窗口:就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果
class Solution:
def minSubArrayLen(self, s, nums):
"""
:type s: int
:type nums: List[int]
:rtype: int
"""
i=0#i滑窗起始位置
sum=0
result= float('inf')#result设置为无限大的数
for j in range(len(nums)):#j滑窗终止位置
sum+=nums[j]
while(sum>=s):#当子序列和>=s时,i向后移
length=j-i+1
if length<result:
result=length
sum-=nums[i]
i+=1
if result==float('inf'):#数组中不存在满足条件子序列时结果返回0
return 0
else:
return result
test=Solution()
print(test.minSubArrayLen(7,[2,3,1,2,4,3]))