题解 | #牛群买卖策略优化# java
牛群买卖策略优化
https://www.nowcoder.com/practice/c8514318443a48218efde630ae11b4c3
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
,即为牧人经过一系列交易后能够获得的最大利润。
算法的核心思想是贪心策略,通过在每次价格上升时进行买入和卖出,从而获取最大的利润。这种策略可以保证我们在价格上升时卖出,从而获取最大的收益。