这两个分治结果对得上吗
运行下面这段程序:
def dsum(a):
if len(a) == 0:
return 0
if len(a) == 1:
return a[0]
m = len(a) // 2
return dsum(a[:m]) + dsum(a[m:])
def dmax(a):
if len(a) == 1:
return a[0]
m = len(a) // 2
left = dmax(a[:m])
right = dmax(a[m:])
return left if left > right else right
A = [17, 24, 15, 13, 23]
print(dsum(A) == sum(A) and dmax(A) == max(A))
全部评论