题解 | #牛群售价预测# 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
,即为牧人能够获取的最大利润。