- 买卖股票的最佳时机 iv
给定一个整数数组prices,其中prices[i]是给定股票第i天的价格,以及一个整数k。
找到你能获得的最大利润。您最多可以完成k次交易:即您最多可以买入k次,最多可以卖出k次。
注意:您不能同时进行多项交易(即您必须先卖出股票才能再次购买)。
示例1:
输入:k = 2,价格 = [2,4,1]
输出:2
说明:第 1 天买入(价格 = 2),第 2 天卖出(价格 = 4),利润 = 4-2 = 2。
示例2:
输入:k = 2,价格 = [3,2,6,5,0,3]
输出:7
解释:第 2 天买入(价格 = 2)并在第 3 天卖出(价格 = 6),利润 = 6-2 = 4。然后在第 5 天买入(价格 = 0)并在第 6 天卖出(价格 = 3) ,利润=3-0=3.
限制:
1
1
0
原始页面
public int maxprofit(int k, int[] prices) {
/**[0][0] do nothing in day 0
[0][1] own the stock for 1st time in day 0
[0][2] not own the stock for 1st time in day 0
[0][3] own the stock for 2nd time in day 0
[0][4] not own the stock for 2nd time in day 0
....
[0][k*2-1] own the stock for kth time in day 0
[0][k*2] not own the stock for kth time in day 0
[1][1] = max([0][1],[0][0]-prices[1])
[1][2] = max([0][2],[0][1]+prices[1])
[1][3] = max([0][3],[0][2]-prices[1])
[i][j] if j is odd means we need to pay for the stock or keep the own status
if j is even means we can sell the stock or keep the non-stock status
*/
int[][] dp = new int[prices.length+1][k*2+1];
for(int i=1; i
309. 买卖股票的最佳时机(有冷却时间)
给你一个数组价格,其中prices[i]是给定股票在第i天的价格。
找到你能获得的最大利润。您可以根据需要完成任意多次交易(即多次买入一股股票并卖出一股股票),但有以下限制:
卖出股票后,第二天(即冷却一天)将无法再购买股票。
注意:您不能同时进行多项交易(即您必须先卖出股票才能再次购买)。
示例1:
输入:价格 = [1,2,3,0,2]
输出:3
说明:交易 = [买入、卖出、冷却、买入、卖出]
示例2:
输入:价格 = [1]
输出:0
限制:
1 0
public int maxprofit(int[] prices) {
/**
[0] own the stock
[1] colldown
[2] not own the stock
*/
int[][] dp = new int[prices.length][3];
dp[0][0] = -prices[0];
for(int i=1; i请注意,当冷却期时,我们无法购买新股票。
在此回归关系中,它显示 dp[2] 是我们更新的最后一个,以便我们可以继续覆盖冷却条件。
714. 买卖股票并收取交易费的最佳时机
给你一个价格数组,其中prices[i]是给定股票第i天的价格,以及代表交易费用的整数费用。
找到你能获得的最大利润。您可以完成任意数量的交易,但您需要为每笔交易支付交易费用。
注意:
您不得同时进行多项交易(即,您必须先卖出股票才能再次购买)。
每次买卖股票只收取一次交易费。
示例1:
输入:价格 = [1,3,2,8,4,9],费用 = 2
输出:8
说明:最大利润可以通过以下方式实现:
- 以价格[0] = 1 购买
- 以价格[3] = 8 出售
- 以价格[4] = 4 购买
- 以价格[5] = 9 出售
总利润为 ((8 - 1) - 2) + ((9 - 4) - 2) = 8。
示例2:
输入:价格 = [1,3,7,5,10,3],费用 = 3
输出:6
限制:
1
1
0
原始页面
我们唯一应该考虑的就是增加交易费,但是费用并不会改变我们之前的逻辑
public int maxProfit(int[] prices, int fee) {
int[] dp = new int[2];
int temp = 0;
dp[0] = -prices[0];
for(int i=1; i 登录后复制以上就是LeetCode Day 动态规划第 9 部分的详细内容,更多请关注php中文网其它相关文章! 

BrianSab9 天前
发表在:南通速强批量添加水印专家 v1.83Эта статья для ознак...
Ronaldgag11 天前
发表在:11日17日,星期一,在这里每天60秒读懂世界!Free PHP Blockchain ...
NelsonBOT12 天前
发表在:11日16日,星期日,在这里每天60秒读懂世界!Free non-criminal in...
Darrenjhjhjhcunny14 天前
发表在:11日14日,星期五,在这里每天60秒读懂世界!Атака черной материи...
parifoot-rdc-7925 天前
发表在:laravel 找不到页面Votre guide <a href=...
Anya142Sa1 个月前
发表在:ASUS华硕A8N-SLI Deluxe主板BIOS 10110Hello friends! I c...
91资源网站长-冰晨1 个月前
发表在:广告合作123
FrankFAT1 个月前
发表在:10日14日,星期二,在这里每天60秒读懂世界!Big cocks of blacks ...
RichardGlymn1 个月前
发表在:Java webservice多个参数怎么调用https://t.me/win_1_c...
Thomasstolo1 个月前
发表在:Java webservice多个参数怎么调用https://t.me/s/Casin...