思路: 前天做了买股票1(第121题),对于这题有很大的帮助,所以我一下就想到了最简单的方法。其实还是把整张图分割成多个片段来看。怎么分割呢?每个持续上升的为一个片段:例如:2,3,1,4,6,5。那么分成的片段就是2,3一段;1,4,6一段。然后分别把每个片段的差(profit)求出来,加一起就是答案。下面展示代码:
class Solution {
public int maxProfit(int[] prices) {
int profit = 0;
for(int i = 0; i < prices.length - 1; i++){
if(prices[i + 1] > prices[i]) profit += prices[i + 1] - prices[i];
}
return profit;
}
}
总结: 无