假设有一个数组,它的第i个元素是一个给定的股票在第i天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。
样例
给出一个数组样例[2,1,2,0,1], 返回 2
#ifndef C150_H
#define C150_H
#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
/**
* @param prices: Given an integer array
* @return: Maximum profit
*/
int maxProfit(vector<int> &prices) {
// write your code here
int len = prices.size();
if (len <= 0)
return 0;
int value = 0;
for (int i = 1; i < len; ++i)
{
value += prices[i] - prices[i - 1]>0 ? prices[i] - prices[i - 1] : 0;
}
return value;
}
};
#endif