121. Best Time to Buy and Sell Stock
Input: [7,1,5,3,6,4]
Output: 5
Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5.
Not 7-1 = 6, as selling price needs to be larger than buying price.Input: [7,6,4,3,1]
Output: 0
Explanation: In this case, no transaction is done, i.e. max profit = 0.class Solution {
public int maxProfit(int[] prices) {
if (prices == null || prices.length == 0) return 0;
int len = prices.length;
int[] dp = new int[len + 1];
int min = prices[0];
for (int i = 1; i < len; i++) {
if (prices[i] < min) min = prices[i];
dp[i] = Math.max(dp[i - 1], prices[i] - min);
}
return dp[len];
}
}Last updated