题解 | #未排序数组中累加和为给定值的最长子数组长度#
未排序数组中累加和为给定值的最长子数组长度
http://www.nowcoder.com/practice/704c8388a82e42e58b7f5751ec943a11
利用列表的形式计算累加和,然后判断是否等于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
查看4道真题和解析
