leetcode 122 Best Time to Buy and Sell Stock II

python:

class Solution:
    def maxProfit(self, prices):
        """
        :type prices: List[int]
        :rtype: int
        """
        if prices == []:
            return 0
        ans = 0
        mmin = prices[0]
        for i in range(len(prices)):
            if i < len(prices)-1:
                mmin = min(mmin,prices[i])
                if prices[i+1] < prices[i]:
                    ans += prices[i] - mmin
                    mmin = prices[i+1]
            if i == len(prices) - 1:
                ans += prices[i] - mmin if prices[i]>mmin else 0
        return ans

c++:

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


猜你喜欢

转载自blog.csdn.net/mrxjh/article/details/80524186