1. 程式人生 > >LeetCode121. 買賣股票的最佳時機

LeetCode121. 買賣股票的最佳時機

給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。

如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。

注意你不能在買入股票前賣出股票。

class Solution {
public:
    // int maxProfit(vector<int>& prices) {
    //     int max1 = 0;
    //     for(int i = 0; i < prices.size(); ++i)
    //     {
    //         for(int j = i; j < prices.size(); ++j)
    //         {
    //             max1 = max(prices[j] - prices[i],max1);
    //         }
    //     }
    //     return max1;
    // }
    
        int maxProfit(vector<int>& prices) {
        int res = 0, buy = INT_MAX;
        for (int price : prices) {
            buy = min(buy, price);
            res = max(res, price - buy);
        }
        return res;
    }
};