思路:
股票可以多次買賣藤韵,求最大利潤。
我們先設(shè)買入價為buy熊经,利潤為ret泽艘。
那么如果想求最大利潤,我們可以考慮賴皮一些镐依,允許反悔匹涮,即如果買入價買高了,允許我們反悔槐壳,如果股票漲了然低,允許我們賣出后依然可以持倉,這樣就可以保證我們得到最大利潤(相當(dāng)于股票跌了务唐,我們可以反悔雳攘,假裝之前沒有買,而是在當(dāng)前最低點(diǎn)買入枫笛,如果股票漲了吨灭,我們可以把股票賣出,但如果股票仍然再漲刑巧,我們依然可以反悔沃于,假裝之前沒有賣,而是在當(dāng)前最高點(diǎn)買入海诲。簡單些說繁莹,就是股票跌了,我們不賠特幔,股票漲了咨演,就算我們賺的)
代碼:
class Solution {
public:
int maxProfit(vector<int> &prices) {
int n=prices.size();
if(n<2)
return 0;
int buy=prices[0];
int ret=0;
for(int i=1;i<n;++i){
if(prices[i]<buy)
buy=prices[i];
else{
ret+=prices[i]-buy;
buy=prices[i];
}
}
return ret;
}
};