/**
* Say you have an array for which the ith element is the price of a given stock on day i.
* Design an algorithm to find the maximum profit.
* You may complete as many transactions as you like *(ie, buy one and sell one share of the stock multiple times).
* However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
*
*/
#include <iostream>
#include <vector>
using namespace std;
class Solution{
public:
int maxProfit(vector<int>& prices){
if(prices.size()==0)
return 0;
int ans=0;
for(auto i=prices.begin()+1;i!=prices.end();++i){
if(*i>*(i-1)) //遍历价格数组低买高卖
ans+=*(i)-*(i-1);
}
return ans;
}
};
int main()
{
vector<int> prices = {4, 3, 4, 5, 7, 8, 9, 10, 4, 6, 3};
Solution s;
cout << s.maxProfit(prices) << endl;
}