题目链接:123 买股票的最佳时机 3
分析
这个相比于前两题就要花点心思了,看题目原话
“你最多可以完成 两笔 交易。
注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)”,这个参考上篇博客里的1, 2, 3这个例子,
执行过程依然是
第一天买入,第二天卖出,收入为1,然后第二天再买入,第三天再卖出,收入为1,累计收入为2,(交易两次)。
等同于第一天买入,第三天卖出(交易一次)。没规定必须交易几次。
但是两笔交易一定有先后。
在[1, 2, ...... n-1, n] 中可把两次交易分为[1, 2, ...... i] 和 [i, ...... n-1, n],这个分解过程是122中的思想,
接着分别计算[1, 2, ...... i] 和 [i, ...... n-1, n] 中的最大利润 f[i] 和 g[i],计算方法在121中得以体现
我们最后就是取出 max(f[i], g[i]) 就可以了。