本文主要是介绍动态规划30(Leetcode123买股票的最佳时机3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1107
代码:
class Solution {public int maxProfit(int[] prices) {int n = prices.length;int[][] dp = new int[n][5];dp[0][0] = 0;dp[0][1] = -prices[0];dp[0][2] = 0;dp[0][3] = -prices[0];dp[0][4] = 0;for(int i=1;i<n;i++){dp[i][0] = dp[i-1][0];dp[i][1] = Math.max(dp[i-1][0]-prices[i],dp[i-1][1]);dp[i][2] = Math.max(dp[i-1][1]+prices[i],dp[i-1][2]);dp[i][3] = Math.max(dp[i-1][2]-prices[i],dp[i-1][3]);dp[i][4] = Math.max(dp[i-1][3]+prices[i],dp[i-1][4]);}return Math.max(0,Math.max(dp[n-1][2],dp[n-1][4]));}
}
这篇关于动态规划30(Leetcode123买股票的最佳时机3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!