剑指 Offer 63. 股票的最大利润
1.状态定义
dp[i]表示前i日的最大利润
2.状态转移方程
前i日最大利润=max(前(i−1)日最大利润,第i日价格−前i日最低价格)
dp[i]=max(dp[i−1],prices[i]−min(prices[0:i]))
剑指 Offer 63. 股票的最大利润
class Solution { public int maxProfit(int[] prices) { if(prices.length==0) return 0; int n = prices.length; int min = prices[0]; int[] dp = new int[n]; for(int i = 1; i < n; i++){ min = Math.min(prices[i], min); dp[i] = Math.max(dp[i - 1], prices[i] - min); } return dp[n - 1]; } }