题目要求:

最多交易两次,并且只能买卖完之后再买。

总思路:

在数组中找一个适当的点i,使得i左右两边profit之和最大。

思路:

1、从左往右扫描,left[i]记录包括i元素以内的左部的maxprofit,用Best Time to Buy and Sell Stock 1可得到。

2、从右往左扫描,right[i]记录i+1到尾部元素的maxprofit,将上面的low改成big即可

3、返回max(left[i],right[i])

注意:

1、考虑好,包括i与不包括i的情况

2、考虑好头尾,left[0]肯定是0,right[n-1]和right[n-2]也是0

 posted on 2014-08-31 12:17  叱咤小虾米  阅读(126)  评论(0编辑  收藏  举报