题目分析:
- 用一个数组表示股票每天的价格,数组中第i个数表示股票在第i天的价格。允许顾客进行无数次交易,但一次只能交易一支股票,求顾客的最大收益
解题思路:
贪心法求解
由于此题,交易次数不限,故主要采用贪心的思想。其具体为:一遍遍历数组,只要当天的价格高于前一天的价格,就进行交易。
实现程序
class Solution { public: int maxProfit(vector<int> &prices) { // 记录最大收益 int profit = 0; for (int i = 1; i < prices.size(); i++) { // 计算收益 int diff = prices[i] - prices[i - 1]; // 如果收益大于0,则进行交易 if (diff > 0) profit += diff; } // 返回最大收益 return profit; } };

本文介绍了一种通过贪心算法解决无限次股票买卖问题的方法,给出了一段C++代码实现,该算法能有效地计算出给定价格序列下所能获得的最大利润。
2万+

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



