经典利润问题,计算每一步的盈亏情况。如果亏钱了就归零。如果赚钱了就比较并且记录下来最大的利润。
class Solution {
public int maxProfit(int[] prices) {
if(prices==null || prices.length==0){
return 0;
}
//股票最大利润问题
//首先计算每一步的盈亏状况
int[] arr = new int[prices.length-1];
for(int i=0;i<arr.length;i++){
arr[i]=prices[i+1]-prices[i];
}
int max=0;
int sum=0;
for(int i:arr){
if(max+i<0){
max=0;
}else{
max+=i;
if(max>sum){
sum=max;
}
}
}
return sum;
}
}