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

Lintcode 149. 買賣股票的最佳時機

假設有一個數組,它的第i個元素是一支給定的股票在第i天的價格。如果你最多隻允許完成一次交易(例如,一次買賣股票),設計一個演算法來找出最大利潤。

public int maxProfit(int[] prices) {
    // write your code here
    if (prices.length == 0)
        return 0;

    int minP = Integer.MAX_VALUE;
    int profit = 0;
    for (int i = 0; i < prices.length; i++) {
        minP = Integer.min(minP, prices[i]);
        profit = Integer.max(profit, prices[i] - minP);
    }

    return profit;
}

和之前的股票題一樣,min記錄最小的,然後計算每一步得到的profit,然後取最大值