122. 买卖股票的最佳时机 II

简介: 笨方法,算出了所有的递增序列,当时没有想到贪心class Solution {public: int maxProfit(vector& prices) { if(prices.

笨方法,算出了所有的递增序列,当时没有想到贪心

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if(prices.size() == 0)
            return 0;
        int money = 0;
        int pos = 0, pre = 0, cur = 1;
        while(cur < prices.size()){
            if(prices[pre] < prices[cur]){
                pre++;
                cur++;
            }else{
                if(pre != pos){
                    money += prices[pre] - prices[pos];
                    pos = cur;
                    pre = cur;
                    cur++;
                }else{
                    pos++;
                    pre++;
                    cur++;
                }

            }
        }
        if(pos != prices.size() - 1){
            money += prices[prices.size() - 1] - prices[pos];
        }
        return money;
    }
};

贪心

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

其实时间差不多,都是一遍for循环

相关文章
|
4月前
|
算法
《LeetCode》—— 买卖股票的最佳时机
《LeetCode》—— 买卖股票的最佳时机
|
4月前
leetcode-714:买卖股票的最佳时机含手续费
leetcode-714:买卖股票的最佳时机含手续费
34 0
|
3月前
|
存储 算法 数据可视化
买卖股票的最佳时机 II(LeetCode 122)
买卖股票的最佳时机 II(LeetCode 122)
|
4月前
|
算法 C++
买卖股票的最佳时机(C++)
买卖股票的最佳时机(C++)
37 0
|
4月前
|
算法
leetcode-123:买卖股票的最佳时机 III
leetcode-123:买卖股票的最佳时机 III
37 0
|
4月前
|
算法
leetcode-121:买卖股票的最佳时机
leetcode-121:买卖股票的最佳时机
36 0
|
算法
买卖股票的最佳时机II
买卖股票的最佳时机II
56 0
|
算法
leetcode 714 买卖股票的最佳时机含手续费
leetcode 714 买卖股票的最佳时机含手续费
84 0
leetcode 714 买卖股票的最佳时机含手续费
leetcode 121 买卖股票的最佳时机
leetcode 121 买卖股票的最佳时机
76 0
leetcode 121 买卖股票的最佳时机