和53题最大子串和一样的题目,把买入到售出当做一个子序列想就一模一样了。DP方程如下:
f[i]:以a[i]作为抛出日的最大profit (和最大字串和一样,以a[i]结尾的最大profit)
dp[i]:下标0~i过程中最大profit
令x为买入时的价格a
f[i] = max{ a[i]-x a[i]在交易内 在a[i]售出
0 } 此时x<-a[i] a[i]在交易内 在a[i]买入并售出
dp[i] = max{ f[i] a[i]在交易内
dp[i] a[i]不在交易内