【发布时间】:2016-10-12 06:06:20
【问题描述】:
我正在寻找Python解决方案
例如,对于 A=[2, -3, 5, 4, 3, -1, 7]。对于 k = 3,有一个子数组,例如 {-3, 5, 4}。因为,k=5 有子数组 {-3, 5, 4, 3, -1, 7} 等。
【问题讨论】:
我正在寻找Python解决方案
例如,对于 A=[2, -3, 5, 4, 3, -1, 7]。对于 k = 3,有一个子数组,例如 {-3, 5, 4}。因为,k=5 有子数组 {-3, 5, 4, 3, -1, 7} 等。
【问题讨论】:
这就是解决方案。你可以试着自己弄清楚。
def solve(a, k):
tbl = {0 : -1}
sum = 0
n = len(a)
for i in xrange(n):
sum = (sum + a[i]) % k
if sum in tbl:
key = tbl[sum]
result = a[key+1: i+1]
return result
tbl[sum] = i
return []
【讨论】: