没有想出来,网上搜的答案。甚至搜到了答案,提交正确了,我都不知道它为什么就对了。
教训:不要把事情复杂化。
#include <iostream>
using namespace std;
class Solution {
public:
int maxProfit(vector<int> &prices) {
int result = 0;
int i = 0;
int len = prices.size();
if(len<2)
return 0;
for(i=1;i<len;++i)
{
if(prices[i]>prices[i-1])
{
result += prices[i]-prices[i-1];
}
}
return result;
}
};
int main(void)
{
return 0;
}
有点贪心的意思,可以用证明贪心的办法证明它正确。