目 录一、题目描述二、题目解答三、总结一、题目描述给定一个数组prices它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票并选择在未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润返回0。二、题目解答整体的思路就是我们要找到在目标值之前的最小值作为我们买入的点然后计算出能获得的最大利润思路1. 设数组第一个元素为最小值设最大利润为 02. 遍历数组若当前值小于最小值就更新若不满足就计算当前利润值并和最大利润值作比较3. 返回最大利润class Solution { public int maxProfit(int[] prices) { int min prices[0]; int profit 0; for(int i 1; i prices.length; i){ if(prices[i] min){ min prices[i]; }else{ profit Math.max(profit,(prices[i] - min)); } } return profit; } }三、总结贪心算法的本质就是将每一步都做当前看来最好的选择并且局部最优最终能推导出全局最优✌️