指针同向"/>
剑指 Offer 63. 股票的最大利润:双指针同向
救命,仔细一想,双指针同向还是太暴力了
class Solution {public int maxProfit(int[] prices) { int first=0;for(int i=0;i<prices.length-1;i++){ int j=i+1; while(j<prices.length){if(prices[i]<prices[j]){ int u=prices[j]-prices[i];first=first<=u?u:first;j++;}else{j++;}}}return first;}
}
官方解:
- 先找出历史最低点
- 只要求最低点之后的最大利润
public class Solution {public 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;}
}
更多推荐
剑指 Offer 63. 股票的最大利润:双指针同向
发布评论