题目描述:
给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。
返回你能获得的最大利润 。
例:

思路:
采用动态规划的思想,如果当天股价比前一天高,则受益为当天的股价与前一天股价的差值。
代码:
public int maxProfit(int[] prices) {
int max = 0;//初始化收益
int min = Integer.MAX_VALUE;//初始化最小值
for(int i = 0;i<prices.length;i++){
if(prices[i]>min){
max += prices[i]-min;
}
min = prices[i];
}
return max;
}
结果:

该博客探讨了一个使用动态规划算法来解决寻找股票交易中最大利润的问题。代码示例展示了一个Java方法,通过比较每天的股票价格,确定何时买入和卖出以获取最大收益。动态规划在这里用于避免重复计算,提高效率。
473

被折叠的 条评论
为什么被折叠?



