Skip to content

股票问题

买卖一次 k = 1

LeetCode 剑指 Offer 63. 股票的最大利润 中等

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?

LeetCode 121. 买卖股票的最佳时机 简单

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

不限买卖次数 k=infinity

LeetCode 122. 买卖股票的最佳时机 II 简单

给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

买卖两次 k = 2

LeetCode 123. 买卖股票的最佳时机 III 困难

买卖 k 次

LeetCode 188. 买卖股票的最佳时机 IV 困难

不限买卖次数 + 冷冻期

LeetCode 309. 最佳买卖股票时机含冷冻期 中等

给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。

设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):

1、你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

2、卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。

不限买卖次数 + 手续费

LeetCode 714. 买卖股票的最佳时机含手续费 中等

给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。

你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。

返回获得利润的最大值。