当前位置: 首页 > news >正文

蓝桥杯-考勤刷卡

蓝桥杯-考勤刷卡

    • 1、问题描述
    • 2、解题思路
    • 3、代码实现

1、问题描述

  小蓝负责一个公司的考勤系统, 他每天都需要根据员工刷卡的情况来确定 每个员工是否到岗。

  当员工刷卡时, 会在后台留下一条记录, 包括刷卡的时间和员工编号, 只 要在一天中员工刷过一次卡, 就认为他到岗了。

  现在小蓝导出了一天中所有员工的刷卡记录, 请将所有到岗员工的员工编 号列出。

输入格式

  输入的第一行包含一个正整数 n, 表示一天中所有员工的刷卡记录的条数。 接下来 n 行, 每行包含一条刷卡记录, 每条刷卡记录的格式为:

HH:MM:SS ID

  其中 HH:MM: SS 表示刷卡时间, HH 为一个 0 到 23 之间的两位十进制整数 (可能含前导 0 ) 表示时, MM 为一个 0 到 59 之间的两位十进制整数 (可能含前 导 0) 表示分, SS 为一个 0 到 59 之间的两位十进制整数 (可能含前导 0 ) 表 示秒, ID 为一个不含前导 0 的整数表示员工的编号。

  所有记录按照刷卡时间升序排列, 可能同一时刻有多人刷卡。

输出格式

  输出若干行, 每行包含一个整数, 按照从小到大的顺序输出, 表示到岗员 工的编号。

样例输入

413:05:42 10314:07:12 456715:03:00 10317:00:21 1

样例输出

11034567

评测用例规模与约定

  对于 50% 的评测用例,1≤n≤100。

  对于所有评测用例,1≤n≤10000,员工编号为不超过10910^9109的正整数

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

2、解题思路

  按照这个题意,似乎和打卡时间没什么关系啊,只是让咱把打卡数据按照员工编号的大小输出而已(只输出员工编号),但是一个用工可能同时打了多次卡,所以有个去重问题。

  关于去重问题,简单粗暴直接用HashSet,我们将所有的员工编号存入HashSet中,最后按照员工编号大小排序输出即可。

  关于排序问题,这里为了代码简便直接使用Stream流的sorted中间操作(这个方法默认是按照自然顺序排序,也可以提供一个比较器),最后使用forEach终止操作输出就行。

3、代码实现

import java.util.HashSet;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();HashSet<Integer> set = new HashSet<>();for (int i = 0; i < n; i++) {String next = scan.next();int number = scan.nextInt();set.add(number);}set.stream().sorted().forEach(System.out::println);scan.close();}
}

  运行结果如下:

image-20230226232700188

  这道题比较简单,就是个去重和排序。

http://www.lryc.cn/news/27864.html

相关文章:

  • 如何利用站内推广和站外推广提高转化率?
  • Java多线程(三)——线程池及定时器
  • Linux命令行安装Oracle19c教程和踩坑经验
  • Linux常用命令等
  • CEC2014:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2014(提供MATLAB代码
  • MyBatis底层原理【源码运行时序图】
  • k8s 系列之 CoreDNS 解读
  • 从测试鸡蛋硬度到跳表的设计
  • 3D立体视觉成像原理介绍【一 】
  • CEC2021:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2021(提供MATLAB代码
  • 0301_对应的南京比特物联网
  • 钡铼技术BL302 ARM工控机QT图形化界面开发的实践
  • Python try except异常处理详解(入门必读)
  • 信息系统基本知识(三)软件工程
  • Linux下软件部署安装管理----rpmbuild打包rpm包部署安装
  • ThreadLocal学会了这些,你也能和面试官扯皮了!
  • 【存储】存储特性
  • Qt使用OpenGL进行多线程离屏渲染
  • Vue基础入门讲义(三)-指令
  • pod资源限制,探针(健康检查)
  • Python | 蓝桥杯进阶第一卷——字符串
  • 2023-03-03 mysql列存储-cpu占用100%-追踪思路
  • JVM—类加载子系统
  • 在codeIgniter3中session.php中的数组追加值
  • Windows环境下Gpu版本的Pytorch安装
  • 项目实战典型案例13——学情页面逻辑问题
  • 工作日志day02
  • C++Primer16.1.6节练习
  • 初尝并行编程
  • keepalived学习记录:对其vip漂移过程采用gdb跟踪