华为OD机试真题 Java 实现【异常的打卡记录】【2023Q1 100分】

一、题目描述

考勤记录是分析和考核职工工作时间利用情况的原始依据,也是计算职工工资的原始依据。

为了正确地计算职工工资和监督工资基金使用情况,公司决定对员工的收集打卡记录进行异常排查。

如果出现以下两种情况,则认为打卡异常:

  1. 实际设备号与注册设备号不一样;
  2. 同一个员工的两个打卡记录的时间小于60分钟并且打卡距离超过5km。

给定打卡记录的字符串数组clockRecord(每个打卡记录组成为:工号,时间(分钟),打卡距离(km),实际设备号,注册设备号),返回其中异常的打卡记录(按输入顺序输出)。

二、输入描述

第一行输入为N,表示打卡记录数;

之后的N行为打卡记录,每一行为一条打卡记录。

三、输出描述

按顺序输出异常的打卡记录,分号隔开。

四、解题思路

  1. 读取输入的打卡记录数num;
  2. 创建一个空的异常打卡记录列表errorList用于存储异常打卡记录;
  3. 创建一个映射表map,key为工号,value为该工号的打卡记录集合;
  4. 循环num次,读取每一条打卡记录:
    • 解析打卡记录的工号、打卡时间、打卡距离、实际设备号和注册设备号;
    • 如果实际设备号与注册设备号不一样,将该记录视为异常打卡,将其添加到异常打卡记录列表errorList中;

你可能感兴趣的:(java,华为,开发语言,算法,面试)