public int maxProfit(int k, int[] prices) {
int n = prices.length;
if (n == 1) {
return 0;
}
int[][][] dp = new int[n][k + 1][2];
int ans = 0;
int INF = Integer.MIN_VALUE/2;
for (int i = 0; i < n; i++) {
dp[i][0][0] = INF;
}
for (int i = 1; i <= k; i++) {
dp[0][i][0] = INF;
dp[0][i][1] = INF;
}
dp[0][1][0] = -prices[0];
for (int i = 1; i < n; i++) {
for (int j = 1; j <= k; j++) {
dp[i][j][0] = Math.max(dp[i - 1][j - 1][1] - prices[i], dp[i - 1][j][0]);//买入
dp[i][j][1] = Math.max(dp[i - 1][j][0] + prices[i], dp[i - 1][j][1]);//卖出
ans = Math.max(dp[i][j][0], ans);
ans = Math.max(dp[i][j][1], ans);
}
}
return ans;
}
lc-188
原创wx5be5864e766ab ©著作权
©著作权归作者所有:来自51CTO博客作者wx5be5864e766ab的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
fips188
抛砖引玉,希望有研究Linux下的多级安全操作系统、多级安全网络、等级保护三级以上设计与实现的有志之士共同学习、共同进步.
信息安全 休闲 selinux 等级保护 多级安全 -
uva 188(哈希)
题意:题解:
uva i++ #include 赋值 -
uva-188-枚举
题意:直接模拟 注意,w[i]不能是0
#include i++ #ifndef ios #endif -
LC198--- 打家劫舍----LC213--- 打家劫舍II
198. 打家劫舍优秀的题解package com.nie.o2;/* * *@auth wenzhao *@da
leetcode 动态规划 java 贪心算法 算法