[算法--前缀和] 一维前缀和

接下来, 我们开启一个新的专题 -> 前缀和, 第一道是模板题, 一维前缀和

1. 前缀和: 是一种对暴力求解的优化.

  前缀和这个算法非常easy, 不过碰到的题easy不easy就不一定了~
  然后这个算法的一个本质就是通过利用前面的计算结果来提高效率, 说白了就是空间换时间的一种典型.

2. 前缀和? 如何利用前面的计算结果提高效率?

看下面图片, 我们如何在O(1)时间复杂度内求得一个子数组的和呢? 可以预处理前缀和数组来解决!
在这里插入图片描述

  我们知道, 访问一个数组元素的时间复杂度是O(1).
  我提前弄出一个前缀和数组来, 该数组的每一个元素代表nums数组[0, i]所有元素的和.
  那么上面问题就可以转换为: sum[left, right] = sum[0, right] - sum[0, left]. 而运算这个表达式, 时间复杂度是O(1).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值