剑指 Offer 63. 股票的最大利润

思路:(这也是动态规划的思想)

  在最低价买入,最高价卖出。

  使用 min 保存最低买入价格,res 保存最大利润,遍历数组找到结果。

代码:

时间复杂度O(n),空间复杂度O(1)

class Solution {
    public int maxProfit(int[] prices) {
        if (prices.length == 0)
            return 0;
        int res = 0, min = prices[0];
        for (int i = 1; i < prices.length; i++){
            min = Math.min(min, prices[i-1]);
            res = Math.max(res, prices[i]-min);
        }
        return res;
    }
}
posted @ 2021-02-25 14:22  zjcfrancis  阅读(34)  评论(0编辑  收藏  举报