买卖股票的最佳时机
题目解答
class Solution {
public:
int maxProfit(vector<int>& prices) {
int maxSum = 0;
int p = 0, c = 0;
for (int i = 0; i < prices.size() - 1; i++) {
if (prices[i + 1] > prices[i]) { // 发现有跌卖出
maxSum += prices[i + 1] - prices[i];
}
}
return maxSum;
}
};
说明
自己想得迷迷糊糊的写出代码,但是一提交发现过了。
于是看了卡哥的题解,看到了这张图一切就明白了。 只收集每天的正利润!
局部最优:收集每天的正利润,全局最优:求得最大利润。