题目:121. 买卖股票的最佳时机
思路:遍历,维护已遍历过的元素中的最小值,时间复杂度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:=0for i:=1;i<len(prices);i++ {mx=max(mx,prices[i]-mn)mn=min(mn,prices[i])}return mx
}