LeetCode122. 買賣股票的最佳時(shí)機(jī) II

思路:
股票可以多次買賣,求最大利潤。
我們先設(shè)買入價(jià)為buy,利潤為ret。

那么如果想求最大利潤,我們可以考慮賴皮一些,允許反悔,即如果買入價(jià)買高了,允許我們反悔,如果股票漲了,允許我們賣出后依然可以持倉,這樣就可以保證我們得到最大利潤(相當(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;
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容