一 題目:
二 思路:
在谷底買入,峰值出售,如果是一段一直下降的曲線就不要買
對于連續上漲交易日: 設此上漲交易日股票價格分別為 p 1 ,p 2 ,...,p n ,則第一天買最后一天賣收益最大,即 p n ?p 1 ;等價于每天都買賣,即 p n ?p 1 =(p 2 ?p 1 )+(p 3 ?p 2 )+...+(p n ?p n?1 )。
遍歷整個股票交易日價格列表 price,并執行貪心策略:所有上漲交易日都買賣(賺到所有利潤),所有下降交易日都不買賣(永不虧錢)。
三 代碼:
public int maxProfit(int[] prices) {
int prePrice=prices[0];
int money=0;
for (int i = 1; i < prices.length; i++) {
//只要對比前一天我們是賺的就賣
if (prices[i]>prePrice){
money+=prices[i]-prePrice;
}
prePrice=prices[i];
}
return money;
}