【从0到1冲刺蓝桥杯国赛】每日一题——买卖股票的最佳时机
买卖股票的最佳时机https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/
题目描述:
思路分析:
这道题其实非常简单,尽管它是股票买卖第一题的变形(专栏里的前一题),其实想要获得最大价值,只要在局部最低点购入,在离它最近的顶峰期卖出,再在下降处购买,再在上升期卖出,所以就知道了,其实我们只需要计算上升期的起始点和终止位置的差就行,累加起来就是最大利益。有一个小知识点,不是所有的最低点都要购买,还要看它在之后能否上升,所以要计算的是上升期的差值。
c++实现:
class Solution {public: int maxProfit(vector& prices) { int profit = 0; for(int i = 0; i prices[i]){ profit+=prices[i + 1] - prices[i]; } } return profit; }};