联机算法——最大子数组问题
2017-07-13 00:04
239 查看
代码
public class Max { private static int max ( int [] a ) { int sum = 0, thisSum = 0; for ( int i = 0; i < a.length-1; i++ ) { thisSum += a[i]; if ( thisSum > sum ) sum = thisSum; else if ( thisSum < 0 ) thisSum = 0; } return sum; } //测试 public static void main( String [] args) { int [] a = { 4, -3, 5, -2, -1, 2, 6, -2}; System.out.println( max(a) ); } }
输出
11
简要分析
联机算法正确性不易看出,也难开发。但仅需常量空间并以线性时间运算。
相关文章推荐
- 读书笔记:数组最大子序列问题 及 联机算法
- 怪异问题 调试到位置(test dword ptr [eax],eax ; probe page.)局部数组变量定义所分配的最大空间为1M
- 最大子序问题的联机算法
- 编程之美2.14扩展问题1 求子数组和的最大值(首尾可以相连)
- 数组问题之一维最大字段和问题<Java实现>
- 求子数组的最大和问题--一道浙江大学考研压轴题(被Google拿来做面试题)
- 经典的求数组中最大值及其位置的问题.
- 算法导论_最大子数组问题(分治策略)
- 数组分段和最大值最小问题
- 算法学习笔记----最大子数组问题
- 微软面试题---求子数组最大乘积问题
- HDU 1024 Max Sum Plus Plus(动态规划,给定一个数组,求其分成m个不相交子段和最大值的问题)
- 关于子数组最大的问题
- 数组最大子序列和问题
- 连续子数组最大和问题(能够处理全是负数,返回子数组的起止索引的O(N)算法)
- 【开放 5月18日 发布】:子数组的最大乘积问题_____问题简单,请思考如何逐步降低时间复杂度,跟帖回复,群内讨论.
- 求数组连续最大和问题
- 求数组子数组之和最大值问题-犯了一个很2B的错误,函数参数啊函数参数
- 子数组的最大乘积问题
- 子数组最大和问题