前三个数的和
数组是 17、24、15、13、23。运行下面这段程序:
def lowbit(x):
return x & (-x)
def fen_build(a):
n = len(a)
t = [0] * (n + 1)
for i in range(1, n + 1):
j = i
while j <= n:
t[j] += a[i - 1]
j += lowbit(j)
return t
def fen_prefix(t, i):
s = 0
while i > 0:
s += t[i]
i -= lowbit(i)
return s
A = [17, 24, 15, 13, 23]
t = fen_build(A)
print(fen_prefix(t, 3))
全部评论