题目

代码
这题用的贪心的思想,每遍历到一个数就去找左边的最小值和当前时刻卖出能获得的利润,如果更大就更新最大利润,没有就继续往后找,直到遍历完。
javascript
/**
* @param {number[]} prices
* @return {number}
*/
var maxProfit = function(prices) {
let min = Infinity
let max = 0
for (price of prices) {
min = Math.min(min, price)
max = Math.max(max, price - min)
}
return max
};
贴一个以前写c++的代码
cpp
class Solution {
public:
int maxProfit(vector<int>& prices) {
vector<int>::iterator buy=prices.begin();
vector<int>::iterator sold=prices.begin();
int profit=0;
while(sold!=prices.end()){
int temp=*sold-*buy;
if (temp>=profit){
profit=temp;
}
if (*sold<*buy){
buy=sold;
}
sold++;
}
return profit;
}
};