一、题目描述
考勤记录是分析和考核职工工作时间利用情况的原始依据,也是计算职工工资的原始依据。
为了正确地计算职工工资和监督工资基金使用情况,公司决定对员工的收集打卡记录进行异常排查。
如果出现以下两种情况,则认为打卡异常:
- 实际设备号与注册设备号不一样;
- 同一个员工的两个打卡记录的时间小于60分钟并且打卡距离超过5km。
给定打卡记录的字符串数组clockRecord(每个打卡记录组成为:工号,时间(分钟),打卡距离(km),实际设备号,注册设备号),返回其中异常的打卡记录(按输入顺序输出)。
二、输入描述
第一行输入为N,表示打卡记录数;
之后的N行为打卡记录,每一行为一条打卡记录。
三、输出描述
按顺序输出异常的打卡记录,分号隔开。
四、解题思路
- 读取输入的打卡记录数num;
- 创建一个空的异常打卡记录列表errorList用于存储异常打卡记录;
- 创建一个映射表map,key为工号,value为该工号的打卡记录集合;
- 循环num次,读取每一条打卡记录:
- 解析打卡记录的工号、打卡时间、打卡距离、实际设备号和注册设备号;
- 如果实际设备号与注册设备号不一样,将该记录视为异常打卡,将其添加到异常打卡记录列表errorList中;