题目描述
公司对员工的手机打卡记录进行异常排查。如果出现以下两种情况之一,则认为打卡异常
1.实际设备号与注册设备号不一样
2.同一个员工的两个打卡记录的时间小于60分钟并且打卡距离超过5km。
给定打卡记录的字符串数组clockRecords (每个打卡记录组成为: 工号:时间 (分钟);打距离(km);实际设备号;注册设备号),返回其中异常的打卡记录
输入
2
100000,10,1,ABCD,ABCD
100000,50,10,ABCD,ABCD
输出
100000,10,1,ABCD,ABCD;100000,50,10,ABCD,ABCD
解题思路
将打卡记录转换为Record对象,并判断实际设备号与注册设备号是否相同。如果不相同,将记录标记为异常。
比较打卡记录之间的时间和距离:遍历所有打卡记录,如果同一个员工有2条打卡记录,比较它们之间的时间差和距离差。如果时间差小于60分钟,且距离差大于5公里,将这两条记录标记为异常。
参考代码
import java.util
该博客介绍了华为在线测评中的一道算法题,涉及异常打卡记录的识别。当员工的实际设备号与注册设备号不一致,或者两个打卡记录间隔时间少于60分钟且距离超过5km时,记录被标记为异常。博主提供了解题思路,包括将打卡记录转化为对象并比较设备号,以及遍历记录检查时间差和距离差,最后给出了参考代码。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



