关注
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;
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
04-21 16:12
中国科学技术大学 嵌入式软件开发 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
21770次浏览 397人参与
# 在国企工作的人,躺平了吗? #
332985次浏览 3861人参与
# 实习吐槽大会 #
24035次浏览 115人参与
# 商战,最累的是我们 #
12557次浏览 49人参与
# 晒一晒你的工位 #
83388次浏览 297人参与
# 我的租房踩坑经历 #
16854次浏览 213人参与
# 穿越回高考你还会选现在的专业吗 #
16184次浏览 216人参与
# 小厂实习有必要去吗 #
46299次浏览 267人参与
# 毕业旅行去哪玩儿 #
907次浏览 25人参与
# 夸夸我的求职搭子 #
190695次浏览 1890人参与
# 你小时候最想从事什么职业 #
95426次浏览 1719人参与
# 携程求职进展汇总 #
528961次浏览 3936人参与
# 打工人锐评公司红黑榜 #
145133次浏览 903人参与
# 产运销实习日记 #
51838次浏览 548人参与
# 高学历就一定能找到好工作吗? #
47506次浏览 589人参与
# 摸鱼打卡站 #
39206次浏览 686人参与
# 读研or工作,哪个性价比更高? #
61408次浏览 717人参与
# 牛友打假中心 #
89581次浏览 2649人参与
# 实习中的菜狗时刻 #
366721次浏览 3299人参与
# 今年形式下双非本找得到工作吗 #
140881次浏览 1067人参与