题目:
给你一个整数数组 prices
,其中 prices[i]
表示某支股票第 i
天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。
返回 你能获得的 最大 利润 。
思路:求局部最优,累加每天的正利润,收集正利润的区间就是买卖股票的区间。
如prices=[7,1,5,3,6,4],利润为[-6,4,-2,3,-2],总利润为4+3=7
代码:
public int maxProfit(int[] prices) {
int result=0;//记录总利润
for(int i=1;i<prices.length;i++){
result+=Math.max(prices[i]-prices[i-1],0);
}
return result;
}