思路:一支股票一天内买卖多次且必须先买后卖,那么可以作如下操作:
(1)若第i+1天的股票价格>第i天的股票价格,则以该价格卖出,再以该价格买进,获利=第i+1天的股票价格-第i天的股票价格;
(2)否则,放弃第i天的股票,买进第i+1天的股票,等待升值
因此,遍历数组一遍,相邻元素后者大于前者的差值之和即为最大利润。
public class Solution {
public int maxProfit(int[] prices) {
int nMaxProfit=0;
for(int i=0;i<prices.length-1;i++){
if(prices[i+1]>prices[i])
nMaxProfit+=prices[i+1]-prices[i];
}
return nMaxProfit;
}
}