Leetcode 121. 买卖股票的最佳时机

Posted randyniu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 121. 买卖股票的最佳时机相关的知识,希望对你有一定的参考价值。

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if(prices.size()==0)
            return 0;
        int maxProfit = 0x80000000;
        vector<int> stack;
        stack.push_back(prices[0]);
        for(int i=1;i<prices.size(); ++i)
        {
            if(stack.back() < prices[i])
            {
                stack.push_back(prices[i]);
            }
            else
            {
                maxProfit = max(maxProfit, stack.back()-stack.front());
                stack.pop_back();
                while(stack.size()>0)
                {
                    auto tmp = stack.back();
                    if(tmp >= prices[i])
                    {
                        stack.pop_back();
                    }
                    else
                    {
                        break;
                    }
                }
                stack.push_back(prices[i]);
            }
        }
        if(stack.size() == 1)
        {
            maxProfit = max(maxProfit, 0);
        }
        else
        {
            maxProfit = max(maxProfit, stack.back()-stack.front());
        }
        return maxProfit;
    }
};

 

以上是关于Leetcode 121. 买卖股票的最佳时机的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode第121题—买卖股票的最佳时机—Python实现

Leetcode——121. 买卖股票的最佳时机

LeetCode 121. 买卖股票的最佳时机

LeetCode 121. 买卖股票的最佳时机

[JavaScript 刷题] DP - 买卖股票的最佳时机,leetcode 121

leetcode121 买卖股票的最佳时机(Easy)