下面附上我自己的奇怪办法(我只能说bug很多):
class Solution {
public:
int maxProfit(vector<int>& prices) {
int n=prices.size();
int money;
int all_money=0;
int left=0;
if(n==1)
{
all_money=0;
}
else if (n==2)
{
if(prices[1]>prices[0]) all_money=prices[1]-prices[0];
else all_money=0;
}
else
{
while(left<n)
{
int right=left;
while(prices[right+1]>prices[right]&&right<n)
{
right=right+1;
}
money=prices[right]-prices[left];
all_money=all_money+money;
left=right+1;
}
}
return all_money;
}
};
看了力扣官方题解...直接给我震惊住了,真简洁啊SAD
class Solution {
public:
int maxProfit(vector<int>& prices) {
int ans = 0;
int n = prices.size();
for (int i = 1; i < n; ++i) {
ans += max(0, prices[i] - prices[i - 1]);
}
return ans;
}
};