点击打开链接
class Solution {
public:
int maxProfit(vector<int>& prices) {
if(prices.size()==0) return 0;
int len = prices.size();
vector<int> buy(len+1, 0), sell(len+1, 0);
buy[1] = -prices[0];
for(int i=2;i<=len;i++){
buy[i] = max(buy[i-1], sell[i-2]-prices[i-1]);
sell[i] = max(sell[i-1], buy[i-1]+prices[i-1]);
}
return sell[len];
}
};