121.买卖股票的最佳时机
题目描述
题解
这道题目使用暴力法的话就会超时。
所以要想用其他的方法。
这个让我们得到的是最大利润。
那么买的那一天的时间一定比卖出去的那一天时间要晚。
而且买是最小值,卖是最大值,那么就能够得到最大利润。
暴力法:
class Solution {
public int maxProfit(int[] prices) {
int maxprofit = 0;
for (int i = 0; i < prices.length - 1; i++) {
for (int j = i + 1; j < prices.length; j++) {
int profit = prices[j] - prices[i];
if (profit > maxprofit) {
maxprofit = profit;
}
}
}
return maxprofit;
}
}
其他方法:
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;
}
}