小白解题思路:定义一个前向pre,记录升序列表的最小值,如果当前值prices[i]比前一个prices[i-1]小,则用sum直接加上【当前值的前一个值prices[i-1]-升序列表最小值】,如果一直都是升序的,就往后走,到了最后一个的时候需要将最后一个值prices[prices.length-1]的值减去pre。
class Solution {
public int maxProfit(int[] prices) {
if(prices.length==0 || prices.length==1){
return 0;
}
int pre = prices[0];
int sum = 0;
for(int i =1;i<prices.length;i++){
if(prices[i]>prices[i-1]){
if(i==prices.length-1){
sum += prices[i]-pre;
}
continue;
}else{
sum+=prices[i-1]-pre;
pre = prices[i];
}
}
return sum;
}
}