本题用贪心算法求解即可。因为只要第二天的股价高于今天,卖出就能获得利润,用贪心算法可以得出局部最优解,而在本题条件中,贪心算法得出的局部最优解就是全局最优解。
class Solution {
public:
int maxProfit(vector<int>& prices) {
int profit = 0;
int cur = 0;
for (int next = 1; next < prices.size(); next++)
{
if (prices[next] - prices[cur] > 0)
{
profit += (prices[next] - prices[cur]);
}
cur++;
}
return profit;
}
};