题解 | #牛群售价预测# 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数组中的每个元素price,表示每天牛群的价格。 - 对于每个价格,如果它小于当前最低买入价格
minPrice,则更新minPrice为当前价格,因为牧人应该尽可能低价买入。 - 否则,如果当前价格减去最低买入价格大于当前最大利润
maxProfit,则更新maxProfit为当前利润。这表示如果在当前价格卖出,可以获得更大的利润。 - 返回
maxProfit,即牧人所能获取的最大利润。

查看1道真题和解析