import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param prices int整型一维数组
* @return int整型
*/
public int max_profitv2 (int[] prices) {
// write code here
int maxProfit = 0; // 最大利润
for (int i = 1; i < prices.length; i++) {
if (prices[i] > prices[i - 1]) {
maxProfit += prices[i] - prices[i - 1];
}
}
return maxProfit;
}
}
Java 编程语言编写的。
该题考察的知识点包括:
- 数组遍历
- 贪心算法
代码的文字解释:
使用 maxProfit 变量来记录最大利润。
通过遍历 prices 数组,我们从第二天开始(索引为 1),检查当前价格是否高于前一天的价格。如果当前价格大于前一天的价格,说明可以在前一天买入,然后在当前天卖出,获得利润。我们将这个利润累加到 maxProfit 中。
这样的策略可以保证我们在每次价格上升时卖出,从而获取最大的利润。因为每个牧人在同一天可以进行多次交易,所以我们可以充分利用价格上升的机会进行多次交易,从而获取更多的收益。
函数返回 maxProfit,即为牧人经过一系列交易后能够获得的最大利润。
算法的核心思想是贪心策略,通过在每次价格上升时进行买入和卖出,从而获取最大的利润。这种策略可以保证我们在价格上升时卖出,从而获取最大的收益。

京公网安备 11010502036488号