知识点
贪心算法
解题思路
定义一个变量 maxProfit 来表示当前的最大利润,初始值为0。然后,我们遍历 prices 列表,从第二天开始,将每天的价格与前一天的价格进行比较:
- 如果当前价格大于前一天的价格,说明牛群的价格上涨,我们可以将这头牛出售,获得利润为当前价格减去前一天的价格,然后将利润累加到 maxProfit 上。
- 如果当前价格等于或小于前一天的价格,说明牛群的价格下跌或者持平,我们不进行交易。
最后返回maxProfit就是最终利润。
Java题解
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; } }