最大连续子序列之和问题
2012-04-04 15:01
176 查看
(源自算法分析课件)
长度为n的数组有n2个子序列,长度为n的序列求和时间复杂度为O(n),这样穷举求解的方法是与本题无关的,呵呵。
长度为n的数组有n2个子序列,长度为n的序列求和时间复杂度为O(n),这样穷举求解的方法是与本题无关的,呵呵。
int maxSubSequenceSum( int a[ ], int n ) { maxSum = 0; subSum = 0; for ( j = 0; j<n; j++ ) // i 是subSum的起始位置,j 是subSum的结束位置 { subSum += a[ j ]; /* subSum是从始至终一直在累加的,当为负时归0。 而maxSum就是整个过程中subSum最大的值。 算法的思想是:subSum是从前往后递进的子序列和, 只要subSum为正,它对后面的子序列的和都是起积极作用的, 为负时起消极作用,所以subSum归0 。*/ if ( subSum > maxSum ) //刷新最大值 maxSum = subSum; else if ( subSum < 0 ) //过滤累加负值部分 subSum = 0; } return maxSum; }
相关文章推荐
- 连续子序列最大和问题
- 最大连续子序列问题
- 一个简单的问题- 最大连续子序列和
- UVA 507 Jill Rides Again (连续子序列最大和问题)
- 最大连续子序列和问题O(n)解法
- HDU 1231 最大连续子序列 &&HDU 1003Max Sum (区间dp问题)
- 1003---求最大连续子序列和的动态规划问题
- 最大连续子序列问题的研究
- 最大连续子序列之和练习最大m子段和问题
- java 之连续子序列最大和问题的四个解法
- 最大连续子序列之和问题
- 连续子序列最大和问题的分析
- 连续子序列最大和问题的四种经典解答
- 最大连续子序列和,乘积,最长递增子串,最长公共子串,子序列等问题(动态规划等)
- 六种姿势拿下连续子序列最大和问题
- 关于最大连续子序列问题
- 最大连续子序列和问题O(N)复杂度
- 最大连续子序列和 问题
- 连续子序列最大和问题的分析
- 连续子序列和最大问题