题目
截图自官方
代码
class Solution {
// 普通解法
// public int maxProfit(int[] prices) {
// int max=0;
// for(int i=0;i<prices.length;i++){
// for(int j=i+1;j<prices.length;j++){
// if(prices[j]>prices[i]&&prices[j]-prices[i]>max){
// max=prices[j]-prices[i];
// }
// }
// }
// return max;
// }
// 一次遍历法,官方
public int maxProfit(int[] prices) {
if(prices.length==0){
return 0;
}
int minprice=prices[0];
int maxprofit=0;
for(int i=1;i<prices.length;i++){
if(prices[i]<minprice){
minprice=prices[i];
}else if(prices[i]-minprice>maxprofit){
maxprofit=prices[i]-minprice;
}
}
return maxprofit;
}
}