1. 程式人生 >實用技巧 >其它 >【LeetCode122】-買賣股票的最佳時機 II

【LeetCode122】-買賣股票的最佳時機 II


技術標籤:LeetCode刷題leetcode貪心演算法

方法一

這題是在 【LeetCode121】買賣股票的時機基礎上的一道題目

實現思路

實現思路只要兩天股票差值大於0即可買入和賣出得到利潤,所以將所有兩天利潤大於0的值累加即可得到最大利潤

實現程式碼

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int n=prices.size();
        vector<int> sub;
        int max=0;
        for(int i=1;i<n;i++){
            sub.push_back(prices[i]-prices[i-1]);
        }
        for(int i=0;i<sub.size();i++){
            if(sub[i]>0)
                max+=sub[i];
        }
        return max;
    }
};

提交結果及分析

【LeetCode122】-買賣股票的最佳時機 II


空間複雜度O(n)
時間複雜度O(n)