数组最大连续和 max sum
来源:互联网 发布:深圳水务集团网络投诉 编辑:程序博客网 时间:2024/06/16 22:33
看了一下最大连续和的几个问题。
现在记下O(n)的算法
要保证数组的一段连续数字的和是最大,首先要保证当前的和不是负数。
O(n)的算法就是基于此。
设一个数组a[n] = { -1, -2 , 6 , -7, 9, 4};
标示下标两个,head和tail。
一个全局变量max,用于缓存当前最大的数和,初始化为0。
那么首先-1 -2会被pass掉。head指向6,max也就是现在的6,所以tail也指向当前的6
接下来加上-7,这个一定会加上,因为6是非负数。这个时候和是-1,比max小,所以不用缓存。
接下来遇到9,刚刚已经是负数,所以要重新开始,可以使用一个headTmp来纪录目前的下标。然后max需要更新为9,就把head改为headTmp,tail改为指向当前的9
接下来就十分的简单了。
阅读全文
0 0
- 数组最大连续和 max sum
- hdu 1003 Max Sum【一维数组最大连续和】
- HDU1003--Max Sum--最大连续和
- Max Sum 最大连续子序列和
- 暑假集训第四周阶段二E - Max Sum最大连续子数组和
- hdoj Max Sum Plus Plus 1024 (DP) m个连续数组最大和
- hdoj1003-Max Sum(数组的最大和)
- HDU 1003 Max Sum(最大连续子序列和)
- hdu 1003 Max Sum 最大连续子串和
- HDU-1003 Max Sum(最大连续子段和)
- Max Sum(hdu1003最大连续子串和+分治法)
- hdu 1003 Max Sum(连续最大和)
- HDU 1003 Max Sum 求最大连续和
- hdu1003——max sum;(最大连续字串和)
- hdu 1003 MAX SUM(最大连续子序列和)
- HDU 1003 Max Sum 最大连续上升和
- HDU - 1003 Max Sum (最大连续和)
- HDU 1003 Max Sum 最大连续子序列的和
- Android7 imx6 Selinux
- 关于const的使用
- 使用nginx+tomcat实现集群
- Effective Java
- JZOJ5439. 【NOIP2017提高A组集训10.31】Calculate 乱搞
- 数组最大连续和 max sum
- hdu1518 Square
- Robberies HDU
- Servlet学习之旅
- datagridview1表一列作为別一个datagridview2表查询条件,单击datagridview1单元格显示datagridview2表数据
- 数据结构-线性表
- APUE-umask&chmod
- linux上java的配置
- BZOJ 2125 最短路 (拆环重建图 lca spfa)