private static int maxProfit(int []prices){
int maxMoney=0;
for(int i=0;i<prices.length;i++){
int []left=Arrays.copyOfRange(prices, 0, i);
int leftMaxMoney=maxProfit2(left);
int []right=Arrays.copyOfRange(prices, i, prices.length);
int rightMaxMoney=maxProfit2(right);
maxMoney=maxMoney>leftMaxMoney+rightMaxMoney?maxMoney:leftMaxMoney+rightMaxMoney;
}
return maxMoney;
}
//交易一次的利润
private static int maxProfit2(int []prices){
int maxMoney=0;
if(prices.length==0){
return maxMoney;
}
int cur=prices[0];
for(int i=1;i<prices.length;i++){
if(prices[i]>cur){
maxMoney=maxMoney>prices[i]-cur?maxMoney:prices[i]-cur;
}else{
cur=prices[i];
}
}
return maxMoney;
}