前言
最大连续子序列求和是指给定一串数字,算出一段连续的数字能求得的最大和。
实现功能
给定一串数字
3, -4, 2, 5, 9, -3, 7, 9
求连续的子序列的最大和
3, -4, [2, 5, 9, -3, 7, 9]
最大连续子序列的和是29
实现参考
概括
* 拆分序列(直到只剩下一个数的序列) ----> 左序列|右序列
* 求左序列最大值
* 求右序列最大值
* 求跨边界的最大值
* 求以上三个最大值的最大值
* 不断重复
中文版参考
* 给定一个序列,求其中求和所得最大
*
* 假设存在一组序列
* 3 -4 2 5 9 -3 7 9
* 将这组数一分为2,得到
* {2 -4 2 5 9}{-3 7 9}
* 再对左边序列拆分
* {2 -4}{2 5 9}
* 再左拆分
* {2}{-4}
* 再左拆分
* {2} 大于0,因此当前序列最大和为【2】(当前序列是指{2}这个只有一个数字的序列)
* 处理右边
* {-4} 小于0,返回0,可以看作是当前序列的最大和为【0】
* 左右已处理完毕,回到上一层
* 处理跨越边界的情况【跨越边界的详细描述请看下一个副标题】
* {2}和{-4}被拆