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,即为牧人能够获取的最大利润。

京公网安备 11010502036488号