解题思路
最开始自己的方法是暴利穷举的思路,但是超出了时间限制,看了看给的数据,是非超大规模的测试数据了,所以这题就卡住了,然后看了眼优秀的解题方法,发现其实是一个循环就能搞定的问题,不断地获取最小值并用最大值减最小值,过程简单粗暴,但是需要细细品味,明天借助这个思路解决一下最小子序列问题。
代码
class Solution {
public int maxProfit(int[] prices) {
// int max=0;
// for(int i=0;i<prices.length-1;i++){
// for(int j=i+1;j<prices.length;j++){
// if(prices[j]-prices[i]>max){
// max=prices[j]-prices[i];
// }
// }
// }
// return max;
int min=prices[0];
int max=0;
for(int i=0;i<prices.length;i++){
min =Math.min(min,prices[i]);
max =Math.max(max,prices[i]-min);
}
return max;
}
}