这道题是一道动态规划题
基本可以变形为找每个当前元素之前出现的最小值,然后最小值与当前值做差从而求出最佳时间
我的代码如下
<span style="font-size:24px;">public class Solution {
public int maxProfit(int[] prices) {
if(prices.length == 0)
return 0;
int[] minA = new int[prices.length];
minA[0] = prices[0];
int i = 1,max = 0,temp = 0;
while(i<minA.length){
if(prices[i]<minA[i-1])
minA[i] = prices[i];
else
minA[i] = minA[i-1];
temp = prices[i] - minA[i];
if(temp > max)
max = temp;
i++;
}
return max;
}
}</span>
看了网上高票版本与我的一样
2016/8/30