这道题的思路是这样的,使用贪心算法求最优解
简单来说就是,如果,今天买了股票价格较低,第二天高,那么就可以赚到钱,也就是我今天就可以买,然后明天就卖。如果第二天价格低,那么我们今天就不买它了,这样第二天也不卖(这样不会亏本呀)。如此下去,等到了最后,每次买卖,都是赚的,蚊子再小也是肉,就成为最优解啦。贪心算法思想就是求最优解的最佳思路。
虽然会出现那种,我后天可能卖的价更高,但是但是,全局最优解几乎是,嗯,不能算出来的,我们只能保证到局部最优解,即为最后的解。
class Solution {
public:
int maxProfit(vector<int>& prices) {
int maxPro = 0 ,tmp = 0;
for(int i = 1 ; i < prices.size(); ++i)
{
tmp = prices[i] - prices[i - 1];
if(tmp > 0)
maxPro += tmp;
}
return maxPro;
}
};

本文介绍了一种使用贪心算法解决股票买卖问题的方法,通过每天比较股票价格,如果买入后第二天能卖出盈利,则立即交易,确保每笔交易都赚钱,累积小额利润达到最优解。
309

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



