经典动态规划问题
- 定义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 MaxMultipyResult {
public static void main(String[] args){
int[] origin =