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,然后取最大值

猜你喜欢

转载自blog.csdn.net/qq_38702697/article/details/82956895