LeetCode-122. 买卖股票的最佳时机 II
我是链接
今天的题目比较简单,当你把图画出来就好了😄😄😄
(这个二维表使用excel画的,感兴趣的可以尝试尝试)
我们要连续的买卖,可以转换成维护一个单调递增的数列,头尾相减就OK
class Solution {
public:
int maxProfit(vector<int>& prices) {
//作图维护一个单调递增数列
int count=0;
int per=prices[0],end=0;
int i=0;
while(i<prices.size()){
if(i<prices.size()-1&&prices[i+1]>prices[i]){
per=prices[i];
while(i<prices.size()-1&&prices[i+1]>prices[i])i++;
count+=(prices[i]-per);
}
else i++;
}
return count;
}
};
但是看了一些大佬的操作就很佩服:
精简到发指,利用max 和 0 比较相邻数列之差是否满足递增。