你也可以先购买,然后在 同一天 出售
这句有什么意义?逻辑上说跟不买没区别,但是可能跟算法实现有关系感觉
很明显是动态规划,二维的吗?
单笔交易我们是这么做的:
维护一个最低购入价格,并计算每天最大获利=当前价格-最低购入
最后如果最大获利>0就直接返回,否则返回0
这个数组的最大值位置是不确定的,至少还需要一个变量保存最大利润
dp数组也是不必要的,两个变量就够了
没什么思路,然后评论提醒
你也可以先购买,然后在 同一天 出售
这个意思其实是你也可以先出售,然后在同一天购买
所以最终就变成了,只要昨天价格比今天便宜那就卖,反正如果明天更贵今天还能买回来
想到评论区开玩笑说就按这个买股票,但是很明显——你不会知道每天股票的价格
但是参考意义也有,你只要在足够低的时候买入,任何时候卖多少度都赚(好像是废话)
int maxProfit(vector<int>& prices) {
int max = 0;
for (int i = 1; i < prices.size(); i++)
if (prices[i] > prices[i - 1])
max += prices[i] - prices[i - 1];
return max;
}
绝对想不到可以写得这么简单
标签:同一天,int,max,力扣,122,最佳时机,prices From: https://www.cnblogs.com/yaocy/p/16879640.html