关注
import java.util.*;
public class Solution {
public double get_max_profit (double M, int n, double[] historyPrices, int k) {
double[][][] dp=new double[n+1][k+1][2]; //dp[i][j][0]--> 不持股,当前资金 dp[i][j][1]-->持股,股票数
for(int i=0;i<=k;i++)
dp[0][i][0]=M;
/*
dp[i][j][hold]-> 第i天交易了j次的持股数/资金数
hold=0 资金数。今天不持股,可能一直不持股或者卖了股票 dp[i][j][0]=Math.max(dp[i-1][j][0],dp[i-1][j+1][1]*historyPrices[i-1])
hold=1 股票数。今天持股,可能一直持股或者买了股票 dp[i][j][1]=Math.max(dp[i-1][j][1],dp[i-1][j][0]/historyPrices[i-1])
*/
for(int i=1;i<=n;i++){
for(int j=0;j<=k;j++){
if(j<k)
dp[i][j][0]=Math.max(dp[i-1][j+1][1]*historyPrices[i-1],dp[i-1][j][0]);
else
dp[i][j][0]=dp[i-1][j][0];
dp[i][j][1]=Math.max(dp[i-1][j][0]/historyPrices[i-1],dp[i-1][j][1]);
}
}
return dp[n][0][0]-M;
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
24857次浏览 431人参与
# 在国企工作的人,躺平了吗? #
333231次浏览 3862人参与
# 实习吐槽大会 #
26506次浏览 129人参与
# 商战,最累的是我们 #
12736次浏览 50人参与
# 晒一晒你的工位 #
84262次浏览 299人参与
# 我的租房踩坑经历 #
20553次浏览 237人参与
# 穿越回高考你还会选现在的专业吗 #
18289次浏览 235人参与
# 毕业旅行去哪玩儿 #
1002次浏览 29人参与
# 小厂实习有必要去吗 #
46383次浏览 267人参与
# 求职你最看重什么? #
69546次浏览 393人参与
# 牛友们,签完三方你在忙什么? #
94896次浏览 837人参与
# 夸夸我的求职搭子 #
190780次浏览 1890人参与
# 摸鱼打卡站 #
39305次浏览 687人参与
# 携程求职进展汇总 #
530202次浏览 3949人参与
# 产运销实习日记 #
51960次浏览 551人参与
# 打工人锐评公司红黑榜 #
145355次浏览 908人参与
# 网易求职进展汇总 #
101828次浏览 982人参与
# 你小时候最想从事什么职业 #
95476次浏览 1719人参与
# 作业帮求职进展汇总 #
52424次浏览 354人参与
# 高学历就一定能找到好工作吗? #
47545次浏览 589人参与