利用列表的形式计算累加和,然后判断是否等于k值,等于的话范围子数组的长度
#
class Solution:
def maxlenEqualK(self , arr , k ):
# write code here
l = len(arr)
se = [0] *(l+1)
for i in range(l):
se[i+1] = se[i] + arr[i]
while l >= 1:
for i in range(l,len(arr)+1):///###这里len(arr)不能换成l,是因为重新遍历??
if se[i] - se[i-l] == k:
return l
l -=1
return 0

京公网安备 11010502036488号