/**
* 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;
}
leetcode Best_Time_to Buy and Sell_Stock_II
股票买卖最大利润算法
最新推荐文章于 2019-07-02 14:01:43 发布
本文介绍了一种计算股票交易最大利润的算法。该算法允许进行多次买卖操作,但每次卖出后才能再次购买。通过遍历股价数组,实现低买高卖来计算总利润。
538

被折叠的 条评论
为什么被折叠?



