首先思考一个问题,假如让我们手动进行操作会怎么操作?
比如[1, 4, 2, 1, 8, 7, 9, 2],直观的感受是遇到递增序列即执行买入卖出,如:
1, 4递增,1买4卖1, 8递增,1买8卖7,9递增,7买9卖
代码如下:
//
// Created by jt on 2020/9/24.
//
#include <vector>
using namespace std;
class Solution {
public:
/**
*
* @param prices int整型vector
* @return int整型
*/
int maxProfit(vector<int>& prices) {
// write code here
if (prices.size() < 1) return 0;
int res = 0;
for (int i = 1; i < prices.size(); ++i) {
if (prices[i] > prices[i-1]) res += prices[i] - prices[i-1];
}
return res;
}
};
京公网安备 11010502036488号