Description
炒股,每天股票有不同价格
Constraints
要求时间复杂度不超过
Solution
我不想说得太失礼,但这道题只看样例都知道答案了啊
但是重点还是学会证明
这道题等于算若干不重叠区间的两端差值,设第
这里每个区间
而不同区间获利
其实只要每个分拆的小区间贡献大于0,那就是有利可图
而因为这里并没有限制获取的区间个数
Code
class Solution {
public:
int maxProfit(vector<int>& prices) {
int ans = 0;
for(size_t i = 1; i < prices.size(); ++i) {
ans += max(0, prices[i] - prices[i-1]);
}
return ans;
}
};