题解 | #牛群售价预测# java

牛群售价预测

https://www.nowcoder.com/practice/bbdb8d6f3a2e434e87f749358d16d653

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param prices int整型一维数组
     * @return int整型
     */
    public int max_profit (int[] prices) {
        // write code here
        int maxProfit = 0; // 最大利润
        int minPrice = Integer.MAX_VALUE; // 最低买入价格

        for (int price : prices) {
            if (price < minPrice) {
                minPrice = price; // 更新最低买入价格
            } else if (price - minPrice > maxProfit) {
                maxProfit = price - minPrice; // 更新最大利润
            }
        }

        return maxProfit;
    }
}

Java 编程语言编写

该题考察的知识点包括:贪心算法:通过维护最低买入价格和最大利润,找出能够获取的最大利润。

代码的文字解释:

使用 maxProfit 变量来记录最大利润,以及 minPrice 变量来记录最低买入价格。

通过遍历 prices 数组,对于每一天的牛群价格,我们首先检查是否需要更新最低买入价格。如果当前价格小于 minPrice,说明这是一个更好的买入时机,我们将 minPrice 更新为当前价格。检查是否有更好的卖出时机。如果当前价格减去最低买入价格大于当前最大利润 maxProfit,说明这是一个更好的卖出时机,我们将 maxProfit 更新为这个差值,即当前利润。

函数返回 maxProfit,即为牧人能够获取的最大利润。

全部评论

相关推荐

下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务