题目描述:给定一个数组,求和为k的最大子数组的长度,子数组是指连续的一段数组。
比如[1,-1,5,-2,-3],k=3,那么输出为4,因为1+-1+5+-2=3。
@H_502_4@def solution(a,k): #用于记录当前最大值 tmp = 0 步长i从1到len(a)+1 for i in range(1,len(a)+1): j:表示窗口左端 for j in range(len(a)-i+1):
print(a[j:j+i]) 如果当前窗口的和为k,则当前最大值就是tmp和步长得最大值 if sum(a[j:j+i]) == k: tmp = max(tmp,i)
print(tmp) return tmp