【数据结构】前缀和

求累计和数组sums。

前缀和(preSum)算法

举例:

a = [1, 2, 3, 4, 5]

sums[0] = 1
sums[1] = 3
sums[2] = 6
sums[3] = 10
sums[4] = 15

# 求idx=1-3的前缀和
sums[3]-sums[0] = 10-1 = 9

# 求idx=0-2的前缀和
sums[2]-sums[-1] = 6-0 = 0
默认sums[-1] = 0 # index=-1的前缀和为0


# so
hash[0] = 1
# 前缀和为0的个数有1个

关于遍历,下面两种的效果一样。放狗屁!

for (i=0, i<n, i++)
	for (j=0, j<i, j++)
	
	
for (i=0, i<n, i++)
	for (j=i, j<n, j++)
n = 3
for i in range(0, n):
    for j in range(0, i):
        print(i, j)
# 1 0
# 2 0
# 2 1
print('*'*10)

for i in range(0, n):
    for j in range(i, n):
        print(i, j)
# 0 0
# 0 1
# 0 2
# 1 1
# 1 2
# 2 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值