题解 | #未排序数组中累加和为给定值的最长子数组长度#
未排序数组中累加和为给定值的最长子数组长度
http://www.nowcoder.com/practice/36fb0fd3c656480c92b569258a1223d5
n, k = map(int, input().split())
l = list(map(int, input().split()))
tree = {0: -1}
su = 0
res = 0
for i in range(len(l)):
su += l[i]
if su in tree:
tree[su] = min(tree[su], i)
else:
tree[su] = i
if su - k in tree:
res = max(i - tree[su - k], res)
print(res)
查看12道真题和解析