AlgoMooc
← 返回题库

K0045. 魔法骑士停留试炼

中等通过率 35% · 提交 329 · 通过 115
哈希表排序模拟字符串

在「灵码之城」中,小慕负责维护一套飞行摩托的智能停车系统。每个季度,系统会记录下所有摩托的停放日志,用于分析每位用户的停车行为与活跃程度。城市管理方为了评选“最佳停放之星”,发起了一场针对特定月份内停放记录的评选挑战。 每条停车记录由以下三部分组成: - 车牌号(由系统分配的唯一标识,例如 YB0001) - 停车日期(格式为 `yyyy-mm-dd`) - 停留时间(单位为分钟) 管理方希望你统计指定月份内,哪位用户在智能停车塔中停留时间最长。若存在多位用户的总停留时间相同,则比较他们的停放次数,次数多者为先;若仍相同,则按车牌升序排序。

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

输入描述

第一行包含一个整数 `n`(1 ``` - `车牌号` 为仅包含大写字母与数字的字符串,长度不超过 10。 - `日期` 为 `yyyy-mm-dd` 格式的合法日期。 - `停留时间` 为正整数,不超过 10^4。 最后一行输入一个整数 `m`(1 <= m <= 12),表示需要统计的魔法月份。

输出描述

输出一个字符串,表示在指定月份内停留时间最长的骑士的车牌号。 如果没有任何记录属于该月份,则输出`NULL`。

示例

示例 1

输入

5
YB0001 2019-01-03 50
YB0002 2019-01-05 200
YB0001 2019-01-04 100
YB0001 2019-02-04 100
AB0001 2019-02-05 300
1

输出

YB0002

说明:YB0001 停留时间50+100,停留2次 YB0002 停留时间200,停留1次 输出YB0002

示例 2

输入

7
YB0002 2019-01-03 100
YB0001 2019-01-05 50
YB0001 2019-01-05 50
YB0001 2019-01-05 50
YB0002 2019-01-04 100
AB0002 2019-01-04 50
AB0002 2019-01-05 150
1

输出

AB0002

说明:在指定的 1 月份中: - AB0002 停留总时间 200,次数 2 - YB0002 停留总时间 200,次数 2 - YB0001 停留总时间 150,次数 3 由于 AB0002 与 YB0002 停留时间相同,次数也相同,但 AB0002 的车牌字典序靠前,因此被选为“停留之星”。

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

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。