思路一:贪心(长期的过程转化为每一步)
实现细节:
(1) 连续上升时:
nums[j]-nums[i]=(nums[i+1]-nums[i])+(nums[i+2]-nums[i+1])+…+(nums[j]-nums[j-1]) 将连续的上升过程转化为小段的上升过程,即如果nums[i]>nums[i-1]即在nums[i]进行买卖
class Solution {
public:
int maxProfit(vector<int>& prices) {
int n = prices.size(), ans = 0;
for (int i = 1; i < n; ++i) {
if (prices[i] > prices[i - 1]) ans += prices[i] - prices[i - 1];
}
return ans;
}
};