Mini订货系统

本文介绍了一个Mini订货系统的实现,包括订货、发货和查询功能。系统初始化后,支持客户进行商品订购,根据商品种类进行发货,并能查询未发货件数最多的客户ID。样例展示了不同操作下系统的响应情况,涉及多种客户订单和发货场景。
摘要由CSDN通过智能技术生成

题目描述

请实现一个Mini订货系统,提供订货、发货、查询功能:
OrderSystem() — 系统初始化。
order(int customerId, string[] goods) — 表示某客户的一次订货,goods每个元素表示一件商品,值为商品种类:
同一客户可以多次订货;单次订货,可对同一种类的商品订购多件。
deliver(string[] goods) — 表示发货多件商品,goods含义同上:每个元素表示一件商品,值为商品种类
依次将每件商品按照订购的先后顺序发给订购这件商品的客户
注:用例保证发的商品一定被某客户订购过。
query() — 查询并返回系统中未发货件数最大的客户Id;若存在并列,返回客户Id较小的;若所有客户都完成发货,返回 -1 。

解答要求

时间限制:1000ms, 内存限制:256MB

输入

每行表示一个函数调用,初始化函数仅首行调用一次,累计函数调用不超过1000次。
1 <= customerId <= 1000, 1 <= goods.length <= 1000, 1 <= goods[i].length <= 10

输出

按顺序输出每个函数的执行结果。注:无返回结果的函数,框架自动输出字符串“null”。

样例

输入样例 1

OrderSystem()
order(99, ["gd1000"])
order(88, ["gd666", "gd555"])
order(99, ["gd666"])
query()
deliver(["gd666"])
query()

输出样例 1

null
null
null
null
88
null
99

提示样例 1

第一次 query 时,客户99 和 客户88 的未发货件数都是 2,返回客户id较小的 88 。
客户88 先订货商品 gd666,所以 deliver([“gd666”]) 发货给客户88。第二次 query 时,客户88 和 客户99 的未发货件数分别为 1 和 2,因此返回 99 。

输入样例 2

OrderSystem()
order(101, ["food", "clothes", "trans", "clothes"])
order(102, ["house", "entertain"])
deliver(["clothes", "house"])
deliver(["entertain", "trans"])
order(102, ["house"])
query()

输出样例 2

null
null
null
null
null
null
101

提示样例 2

前两个order命令后,客户101订购了种类为 [“food”, “clothes”, “trans”, “clothes”] 的4件商品,客户102订购了[“house”, “enterta

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软软的铲屎官

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值