华为机试JAVA 免单统计
免单统计
题目描述
某商城举办了一个促销活动,如果某顾客是某一秒内早时刻下单的顾客(可能是多个人),则可以 获取免单。请你编程计算有多少顾客可以获取免单。
解答要求 时间限制:3000ms, 内存限制:64MB 输入 输入为n行数据,每一行表示一位顾客的下单时 间。 以(年-月-日 时-分-秒.毫秒)yyyy-MM-dd HH:mm:ss.fff形式给出。
0<n<50000 2000<yyyy<2020 0<MM<=12 0<dd<=28 0<=HH<=23 0<=mm<=59 0<=ss<=59 0<=fff<=999 所有输 入保证合法。
输出 输出一个整数,表示有多少顾客可以获取免单。
样例:
输入样例1
2019-01-01 00:00:00.001
2019-01-01 00:00:00.002
2019-01-01 00:00:00.003
输出样例1
1
输入样例2
2019-01-01 08:59:00.123
2019-01-01 08:59:00.123
2018-12-28 10:08:00.999
输出样例2
3
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;/*** 输入格式:yyyy-MM-dd HH:mm:ss.fff* 2019-01-01 08:59:00.123* 2019-01-01 08:59:00.123* 2018-12-28 10:08:00.999** 输出:3** 输入格式:yyyy-MM-dd HH:mm:ss.fff* 2019-01-01 08:59:00.123* 2019-01-01 08:59:00.123** 输出:2*/
public class MainClass {private static Integer n = 50000;public static void main(String[] args) {Scanner in = new Scanner(System.in);List<String> topDates = new ArrayList<>();int i = 0;while (in.hasNextLine()){String orderDate = in.nextLine();if(validateDate(orderDate)){topDates.add(orderDate);}i++;if(i>=n)break;}Integer topUserNum = doGetTopUserNum(topDates);System.out.println(topUserNum);in.close();}public static Integer doGetTopUserNum(List<String> topDates){Integer topUser = 0;Map<String,String> map = new HashMap<>();if(topDates !=null &&topDates.size()!=0){for (String topDate:topDates) {String[] dateAndSec = topDate.split("\\.");String pre = dateAndSec[0];String suf = dateAndSec[1];putMinValueToMap(pre,suf,map);}for (Map.Entry<String,String> entry:map.entrySet()){StringBuffer stringBuffer = new StringBuffer();stringBuffer.append(entry.getKey()).append(".").append(entry.getValue());for (int i = 0; i < topDates.size(); i++) {if(stringBuffer.toString().equals(topDates.get(i))){topUser++;}}}}return topUser;}public static boolean validateDate(String date){Boolean validate = true ;SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");try {simpleDateFormat.parse(date);} catch (ParseException e) {validate = false;}return validate;}/*** 用map放取最小数据* @param datePreFix* @param datesufFix* @param map*/public static void putMinValueToMap(String datePreFix,String datesufFix,Map<String,String> map){Integer value = map.get(datePreFix)==null?null:Integer.valueOf(map.get(datePreFix));if(value==null){map.put(datePreFix,datesufFix);}else if(value.intValue() > Integer.valueOf(datesufFix).intValue()){map.put(datePreFix,datesufFix);}}
}
华为机试JAVA 免单统计相关推荐
- 【华为OD机试 】 免单统计(C++ Java JavaScript Python)
华为od机试共有3道题,分值为100+100+200,总分为400分.考试时间 2.5h..每道题目都需要通过测试用例来得分,全通过则为满分.华为od机试是在牛客网上进行的,采用ACM模式.华为od机 ...
- od机考题目-免单统计-第10讲:高频真题解析 III(上)
while 1:try:size = int(input())order_time = [input() for _
- 【华为机试真题 JAVA】免单统计-100
[编程题目 |100分]免单统计 时间限制:C/C++ 1秒,其他语言 2秒 空间限制:C/C++262144K,其他语言524288K 64bit IO Format:%lld 本题可使用本地IDE ...
- 华为机试(JAVA)真题Od【A卷+B卷】
各语言题库: [Python+JS+Java合集][超值优惠]:Py/JS/Java合集 [Python]:Python真题题库 [JavaScript]:JavaScript真题题库 [Java]: ...
- Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题
接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题 HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...
- 牛客网--华为机试在线训练10:字符个数统计
牛客网–华为机试在线训练10:字符个数统计 题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在A ...
- 【华为机试真题Java】从入门到入职-真题列表导读
写在前面 本专栏有100+道题(持续更新中),都是往期的HW机试真题,根据过往同学的经验基本都会考到原题.大家有什么不懂的都可以留言. 华为机试有三道题目,第一道和第二道属于简单或中等题,分值为100 ...
- 《华为机试》刷题之HJ84 统计大写字母个数
<华为机试>刷题之统计大写字母个数 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 找出给定字符串中大写字符(即'A'-' ...
- 【华为机试真题 Python实现】热点网站统计【2022 Q1 Q2 | 100分】
文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...
最新文章
- Jmeter连接Oracle数据库
- 088_html5表单属性
- 初步接触Oracle 11g(1)
- mysql 存储过程写入文件
- mysql 或hive left join不加关联条件
- redis设计与实现读书笔记(一)
- linux安装java步骤
- c语言实验报告1答案,郑州大学C语言实验报告答案
- 风控模型——评分卡模型
- 服务器后台运行程序(nohup/screen/tmux)
- 银行账户管理体系总结
- 数学系列 (二)自然数、分数、小数、算数、代数
- ios CAF音频转换为MP3
- linux常用指令词典
- 不同操作系统中的换行符,回车符 \r , \n
- 大裁员下,程序员如何做“副业”?
- 护眼灯真能保护眼睛吗?2022双十二买什么样的护眼灯对眼睛好
- 适配手机VR眼镜的VR视频播放器种类大全
- Java枚举类与注解——一篇文章读懂枚举类与注解
- 如何压缩视频文件大小?
热门文章
- 微信小程序 | 12.生命周期、globalData全局数据
- 伪代码模拟TranslateMessage内部实现
- 训练时正常,在验证时会爆显存的解决办法——with torch.no_grad():
- 图解Java中18把锁
- DWORD *类型的实参与SIZE_T *类型的形参不兼容,求指教
- linux 获取文件列数并转置行列
- iOS:沙盒之 Documents、Library、tmp、SystemData
- 手机通过USB3.0扩展坞也能连接到显示器、电视呢
- android二维码实现原理
- 《算法图解》学习笔记(四):分而治之和快速排序(附代码)