本文主要是介绍LeetCode - 122. Best Time to Buy and Sell Stock II - 思路详解 - C++,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
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).
翻译
假设你有一个数组,第i个元素表示第i天的股票价格
设计一个算法,计算出可以获得的最大收益。你可以进行尽可能多次的交易。但是,你不可以在同一时间进行多次交易。及必须在卖之前先买入。
思路
该题目是一道贪心的题目;
即将所有上升阶段的收益累计即可。
代码
class Solution {
public:int maxProfit(vector<int>& prices) {int res = 0;for(int i = 1; i < prices.size(); i++){res += max(prices[i] - prices[i-1], 0);}return res;}
};
这篇关于LeetCode - 122. Best Time to Buy and Sell Stock II - 思路详解 - C++的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!