华为OD机考-异常的打卡记录-字符串(JAVA 2025B卷)



java 复制代码
public class AbnormalAttendance {

    static class Attendance{
        String id;
        Integer time;
        Integer distance;
        String actualDeviceNumber;
        String registeredDeviceNumber;

        public Attendance(String id, Integer time, Integer distance, String actualDeviceNumber, String registeredDeviceNumber) {
            this.id = id;
            this.time = time;
            this.distance = distance;
            this.actualDeviceNumber = actualDeviceNumber;
            this.registeredDeviceNumber = registeredDeviceNumber;
        }

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public Integer getTime() {
            return time;
        }

        public void setTime(Integer time) {
            this.time = time;
        }

        public Integer getDistance() {
            return distance;
        }

        public void setDistance(Integer distance) {
            this.distance = distance;
        }

        public String getActualDeviceNumber() {
            return actualDeviceNumber;
        }

        public void setActualDeviceNumber(String actualDeviceNumber) {
            this.actualDeviceNumber = actualDeviceNumber;
        }

        public String getRegisteredDeviceNumber() {
            return registeredDeviceNumber;
        }

        public void setRegisteredDeviceNumber(String registeredDeviceNumber) {
            this.registeredDeviceNumber = registeredDeviceNumber;
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int N = sc.nextInt();
            sc.nextLine();
//            2
//            {id},{time},{distance},{actualDeviceNumber},{registeredDeviceNumber}
//            100000,10,1,ABCD,ABCD
//            100000,50,10,ABCD,ABCD
            List<String> list = new ArrayList<>(N);
            for(int i=0;i<N;i++){
                String nextLine = sc.nextLine();
                list.add(nextLine);
            }
            solve(list,N);
        }
    }
    public static void solve(List<String> list,int N){
        List<Attendance> attendanceList = new ArrayList<>(N);
        for(String line:list){
            String[] split = line.split(",");
            Attendance attendance = new Attendance(split[0], Integer.parseInt(split[1]), Integer.parseInt(split[2]), split[3], split[4]);
            attendanceList.add(attendance);
        }
        List<Integer> index = new ArrayList<>(N);
        for(int i=0;i<N;i++){
            Attendance attendance = attendanceList.get(i);
            if(!attendance.getRegisteredDeviceNumber().equals(attendance.getActualDeviceNumber())){
                index.add(i);
            }
            for(int j=i+1;j<N;j++){
                Attendance attendance1 = attendanceList.get(j);
                if(Math.abs(attendance1.getTime()-attendance.getTime())<=60 && Math.abs(attendance1.getDistance()-attendance.getDistance())>5){
                    index.add(i);
                    index.add(j);
                }
            }
        }
        List<Integer> collect = index.stream().distinct().collect(Collectors.toList());
        if(collect.isEmpty()){
            System.out.println("null");
        }else{
            for(int i=0;i<collect.size();i++){
                System.out.print(list.get(collect.get(i)));
                if(i!=collect.size()-1){
                    System.out.print(";");
                }
            }
        }
    }
}
相关推荐
噢,我明白了4 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品4 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘4 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
mabing9935 小时前
Qt 生成条纹图
开发语言·qt
Java内核笔记5 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
蓝悦无人机5 小时前
C++基础 — 函数总结
开发语言·c++
糖果店的幽灵5 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
Fu_Lin_5 小时前
Qt 嵌入式从零基础到精通总纲
开发语言·qt·嵌入式·qt嵌入式
星空露珠6 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
码云数智-大飞6 小时前
PHP 接口开发规范:统一返回格式、异常处理与参数校验
开发语言·php