开发者社区> 游客q7aiz7vku45zk> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

数据处理 —— 前缀和

简介: 前缀和及其应用
+关注继续查看

前缀和


设 Si = A1 + A2 + ··· + Ai,其中 Si 就是叫做位置 i 的前缀和。


int[] a = new int[n];
int[] x = new int[n];

for (int i = 0; i < n; ++i) {
    a[i] = nextInt();
    x[i] = i>0?x[i-1] + a[i]:a[i];// 前缀和的计算
}


image


前缀和应用


Ai + Ai+1 + ··· + Aj = Sj - Si-1,其直观含义是连续子序列之和等于两个前缀和之差。我们可以利用这个性质优化某些循环,例如最大子段和


image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据处理|学习笔记
快速学习数据处理
15 0
数据处理|学习笔记
快速学习数据处理
22 0
数据预处理——标准化
数据预处理——标准化
42 0
数据处理|学习笔记
快速学习数据处理
33 0
日志数据预处理与投递
在我们做数据投递的时候,可能需要先对数据做一定的加工处理,像数据字段的保留、删除、改名,打包等操作,加工完成之后然后我们再投递到相应的服务中。
132 0
数据归一化处理
为什么要对数据进行归一化?     归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度。下面我简单扩展解释下这两点。 1 归一化为什么能提高梯度下降法求解最优解的速度?       斯坦福机器学习视频做了很好的解释:https://class.coursera.org/ml-003/lecture/21       如下图所示,蓝色的圈圈图代表的是两个特征的等高线。
1280 0
多数据库事务处理
看见园子里面一位高人写了一篇多数据库事务处理的东西,觉得很有意思,把它重写了一下。 在一个数据库中实现事务是没什么问题,当时项目中常常会遇到多个数据库交叉事务的情况,这个方法使用两个SqlTransaction 来处理这两个数据库中的事务,当一个更新不成功两个都要回滚。
712 0
108
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载