解法都在代码里,不懂就留言或者私信
class Solution {
/**股票系列最简单的题,这个题的思路是既然只能卖一次,那我们比较每一天卖出的时候最大利润的最大值就行
最大值怎么求,你之前最便宜的时候买入就可以了 */
public int maxProfit(int[] prices) {
/**有效交易日期两天以下没有利润 */
if(prices == null || prices.length <= 1) {
return 0;
}
int maxProfit = 0;
/**第一天不能卖出,所以我们遍历从下标1开始,最小值设置为0位置的值 */
int minPrice = prices[0];
for(int i = 1; i < prices.length; i++) {
maxProfit = Math.max(maxProfit, prices[i] - minPrice);
minPrice = Math.min(minPrice, prices[i]);
}
return maxProfit;
}
}
办公室,运行结果先不贴了,回头补