这道题虽然有很多种解法,但我一直尝试着用动态规划解,刚入门,用起来很不顺手,其中出现了很多错误,很多的意想不到,希望通过这道题,对动态规划能够更进一步的了解。
这道题是典型的也是动态规划中最简单的一道题,求最大子串和的问题。
第一步:分解出子问题。
本题的子问题是:dp[i] 代表前i个数中最大子串的和 ;
第二步:通过递归或递推求出子问题的最优解。
本题中的状态转移方程为:if ( dp[i-1] < 0 ) dp[i] = a[i] ;
else dp[i] = dp[i-1] + a[i] ;
#include<iostr