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

[TOC]

思路

开始想用暴力,过不去;
解法是使用一次遍历
每次使用mi记录最小的节点,并不断去更新这个最小的值;
每次使用Mx记录在目前最小的值下的可获得的最大利润,并不断更新;

Code

[]
1
2
3
4
5
6
7
8
9
10
11
12

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