地址
思路
- 后面的值大于前面的值
- 遍历一遍,得到一个最大值,和一个最小值,求差
引申到求一个数组里的最大值和最小值,时间复杂度O(n)
解法及测试用例
public class BestTimeToBuyAndSellStock {
public static void main(String[] args) {
int[] arr = new int[]{7,1,5,3,6,4};
System.out.println(maxProfit(arr));
}
public static int maxProfit(int prices[]) {
int minprice = Integer.MAX_VALUE;
int maxprofit = 0;
for (int i = 0; i < prices.length; i++) {
if (prices[i] < minprice)
minprice = prices[i];
else if (prices[i] - minprice > maxprofit)
maxprofit = prices[i] - minprice;
}
return maxprofit;
}
}
总结
待写思路