股票买卖最佳时机leetcode
订单簿
#设计中使用的结构
在此设计中,订单簿由两个数组表示,一个用于卖单,另一个用于买单。
两者分开存放,方便取用和搭配。
数组的每个位置都存储一个与特定价格点的订单对应的结构。
该结构体是具有相同价格点的未完成订单的所有此类结构体的链表的头部。
这些价格点总是在数组中排序,在第零个位置具有最佳报价或最佳报价。
该结构体存储价格、数量、该订单的唯一
ID
以及指向链表中下一个结构体的指针。
我们维护
4
个全局变量,'ArraySellNo'
和
'ArrayBuyNo'
表示当前数组中的卖出/买入订单数量,以及
'SellId'
和
'BuyId'
表示所下的总卖出/买入订单。
这用于为每个新订单分配唯一
ID。
还定义了两个映射,“Buy”和“Sell”。
他们将所有
ID
号与其各自订单的状态相匹配。
状态可以是“待定”、“已执行”、“已转换”或“已取消”。
维护这些地图,以便我们记录所有写入订单簿的订单,包括已转换、已执行和已取消的订单。
#解决查询
每当输入新的限价卖单时,其限价将与未完成买单数组的第一个位置进行比较。
如果卖单的价格高于该
2022-08-09 20:38:36
6KB
系统开源
1