经典动态规划问题
- 定义dp[i]的意义:表示以i为下标结束的最大连续累加和
- 定义dp方程:dp[n] = max(dp[n-1] + a[i], a[i]);
- 最大连续累加和就在dp[n]中取得 res = max(dp[n],res);
Java 代码实现
package com.study.dynamic;
import java.util.Objects;
/**
*
* 给定一组数组 求出连续子序列的最大累加值
* 定义dp[n]数组在n位置的最大累加值
* 则dp方程:dp[n] = max(dp[n-1]+a[n], a[n])
* 最大值就在各个dp[n]中取得
*/
public class MaxSumResult {
public static void main(String[] args){
int[] origin =