leetcode-121. 买卖股票的最佳时机

2022-06-17 11:09:25 浏览数 (1)

JAVA解法

代码语言:javascript复制
class Solution {
    public int maxProfit(int[] prices) {
        // 令价格最小值为 Integer.MAX_VALUE
        int minprice = Integer.MAX_VALUE;
        // 令最大收益为 0
        int maxprofit = 0;
        // 循环找出最小的价格并求最大收益
        for (int i = 0; i < prices.length; i  ) {
            if (prices[i] < minprice) {
                minprice = prices[i];
            } else if (prices[i] - minprice > maxprofit) {
                maxprofit = prices[i] - minprice;
            }
        }
        return maxprofit;
    }
}

leetcode原题: 121. 买卖股票的最佳时机

解法分析

首先设置最小价格为 Integer.MAX_VALUE,这样才能无论如何数组的第一个值都小于最小价格,才能完成下一步的赋值。同时初始化最大收益为 0.

循环找出最小的价格过程中也计算着最大收益,最后返回最大收益。

0 人点赞