(LeetCode 面试经典 150 题 )121. 买卖股票的最佳时机 (遍历)

题目:121. 买卖股票的最佳时机

(LeetCode 面试经典 150 题 )121. 买卖股票的最佳时机 (遍历)_第1张图片

思路:遍历,维护已遍历过的元素中的最小值,时间复杂度0(n)。

C++版本:

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

JAVA版本:

class Solution {
    public int maxProfit(int[] prices) {
        int mn=prices[0];
        int mx=0;
        for(int i=1;i<prices.length;i++){
            mx=Math.max(mx,prices[i]-mn);
            mn=Math.min(mn,prices[i]);
        }
        return mx;
    }
    
}

Go版本:

func maxProfit(prices []int) int {
    mn:=prices[0]
    mx:=0
    for i:=1;i<len(prices);i++ {
        mx=max(mx,prices[i]-mn)
        mn=min(mn,prices[i])
    }
    return mx
}

你可能感兴趣的:(C++,JAVA,Go版本,LeetCode,LeetCode,面试经典,150,题,leetcode,面试,算法,java,c++,go)