class Solution {
public int maxProfit(int[] prices) {
if(prices.length==0){
return 0;
}
if(prices.length==1){
return 0;
}
int nowmoney = prices[0];
int maxcount =0;
for(int i=1;i<prices.length;i+=1){
int money = prices[i];
if(money<nowmoney){
nowmoney = money;
continue;
}
maxcount=Math.max(money-nowmoney,maxcount);
}
return maxcount;
}
}
这道题我没有使用动态规划,而是使用滑动窗口的思想来做。
保存两个值,nowmoney,和maxcount
遇到更小值就进行nowmoney,然后每一次遍历更新maxcount。