相关算法:贪心算法(或等价的两状态 DP)。
核心结论:把所有相邻两天的上涨差值都赚到手即可。对每个 i=1..n-1,若 prices[i] > prices[i-1],就把差值 prices[i]-prices[i-1] 加入答案。将所有正差值求和就是最大收益。
实现要点:
用给定一个正整数及非负整数 prices 的列表,第一个正整数表示 prices 列表中数字的总个数,prices 表示某个股票在每天的价格。
用户初始持有股票为 0 ,现在需要基于 prices 的价格列表计算出如何买入卖出能够得到最大的现金收益。
其中要求每天仅能够持有一份股票,但是每天都可以将股票买入或者卖出,如果无法取得收益,返回的结果应该为 0 。