题解 | #牛群售价预测#
牛群售价预测
https://www.nowcoder.com/practice/bbdb8d6f3a2e434e87f749358d16d653
知识点
贪心
解题思路
定义两个变量:minPrice表示前i天中的最低价格,maxProfit表示前i天中的最大利润。
我们可以从前往后遍历价格数组prices。对于第i天,如果prices[i]比minPrice更低,我们可以更新minPrice的值。如果prices[i]比minPrice更高,我们可以计算当前利润,即prices[i] - minPrice,并更新maxProfit的值。
Java题解
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param prices int整型一维数组 * @return int整型 */ public int max_profit (int[] prices) { // write code here int minPrice = Integer.MAX_VALUE; int maxProfit = 0; for (int i = 0; i < prices.length; i++) { if (prices[i] < minPrice) { minPrice = prices[i]; } else if (prices[i] - minPrice > maxProfit) { maxProfit = prices[i] - minPrice; } } return maxProfit; } }