classSolution{publicintmaxProfit(int[] prices){//只需统计每天的正利润int res =0;for(int i =1; i < prices.length; i++){
res +=Math.max(prices[i]- prices[i -1],0);}return res;}}//如下是简易写法,容易理解classSolution{publicintmaxProfit(int[] prices){//只需统计每天的正利润int res =0;int sum =0;for(int i =1; i < prices.length; i++){
sum = prices[i]- prices[i -1];if(sum >0){
res += sum;}}return res;}}
思路原题链接其实我们需要收集每天的正利润就可以,收集正利润的区间,就是股票买卖的区间,而我们只需要关注最终利润,不需要记录区间。那么只收集正利润就是贪心所贪的地方!局部最优:收集每天的正利润,全局最优:求得最大利润 class Solution { public int maxProfit(int[] prices) { //只需统计每天的正利润 int res = 0; int sum = 0; for(int i =