AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

K0017. 魔法商城的免单争夺战

简单通过率 65% · 提交 150 · 通过 98
哈希表字符串模拟排序

小慕负责维护一个限时抢购系统,每天会在固定时刻开启活动。每当活动开始时,系统会记录下所有提交订单的精确时间(),其中提交时间最早的订单可以获得免单资格。 现在,小慕需要根据当天的订单时间记录,统计出有多少个订单能够成功获得免单资格。

提示:带虚线的词点一下有通俗解释。

输入描述

1. **第一行**:一个整数 `size`,代表魔法订单的数量(1 ≤ size < 50000)。 2. **接下来的 `size` 行**:每行是一个订单的下单时间,格式如下: ``` YYYY-MM-DD hh:mm:ss.fff ``` - `YYYY-MM-DD` 是下单的日期。 - `hh:mm:ss` 是下单的具体时刻(小时、分钟、秒)。 - `fff` 是下单时间的毫秒值。

输出描述

一个整数,表示可以抢到免单的订单数量。

示例

示例 1

输入

3
2019-01-01 00:00:00.001
2019-01-01 00:00:00.002
2019-01-01 00:00:00.003

输出

1

说明:在这个场景中,魔法商城同一秒内有三个订单,最早的订单(毫秒值为 001)能够抢到免单,其余订单无缘免单。

示例 2

输入

6
2019-01-01 00:00:00.001
2019-01-01 00:00:00.002
2019-01-01 00:00:00.003
2019-01-01 08:59:00.123
2019-01-01 08:59:00.123
2018-12-28 13:08:00.999

输出

4

示例 3

输入

5
2019-01-01 00:00:00.004
2019-01-01 00:00:00.004
2019-01-01 00:00:01.006
2019-01-01 00:00:01.006
2019-01-01 00:00:01.005

输出

3

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
免单争夺战:同一秒内最早毫秒的订单获胜 秒: 00 秒: 01 秒: 02 毫秒: 000 毫秒: 500 毫秒: 000 毫秒: 500 毫秒: 000 001 002 003 005 006 006 ★免单 ★免单 ★免单 ★免单 每个秒内,毫秒值最小的订单(可能有多个)获得免单 示例中秒00:最小毫秒001(1个免单);秒01:最小毫秒005(3个免单) 总免单数 = 1 + 3 = 4
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「魔法商城的免单争夺战」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。