0. 题目
1. 动态规划
buy1:第一次买时,总净花费 最小
sell1:第一次卖出的利润 最大
buy2:第二次买时,总净花费=第二次购买的花费-第一次卖出的利润 最小
sell2:第二次卖时,总利润=第二次卖出的钱-第二次买时的净花费 最大
对于边界条件,只交易一次,也可以看成是交易了两次,最后一次买了再卖,不影响结果。
class Solution(object):
# 动态规划 o(n) o(1);不能用单调递增栈,因为有4种状态。
# buy2之前 sell1必须已完成。
def maxProfit(self, prices):
#