1、给定一个数组,代表每天股票的价格,买卖一次找到最大的收益。
public int maxProfit(int[] prices) {
if(prices==null||prices.length==0)return 0;
int minVal=prices[0];
int maxProfit=0;
for(int i=1;i<prices.length;i++){
if(prices[i]>minVal){
maxProfit=Math.max(maxProfit,prices[i]-minVal);
}else{
minVal=prices[i];
}
}
return maxProfit;
}
2、最多买卖两次获取的最大收益
设初始时钱为0:
holder1:第一次买股票后剩余的钱
release1:第一次卖股票后剩余的钱
holder2:第二次买股票后剩余的钱
release2:第二次卖股票后剩余的钱
public