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

62 阅读1分钟

题目描述

在这里插入图片描述

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

// 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

// 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设
// 计一个算法来计算你所能获取的最大利润。

// 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

题解

// 贪心算法
// 本题与【剑指offer】63. 股票的最大利润 一模一样
// 执行用时:3 ms, 在所有 Java 提交中击败了57.87%的用户
// 内存消耗:51.4 MB, 在所有 Java 提交中击败了57.14%的用户
class Solution {
    public int maxProfit(int[] prices) {
        int max = 0;
        int low = Integer.MAX_VALUE;
        for (int p : prices) {
            low = Math.min(p, low);
            max = Math.max(max, p - low);
        }
        return max;
    }
}