华为OD机试题

题目一:
运维工程师采集到某产品线网运行一天产生的日志n条,现需根据日志时间先后顺序对日志进行排序,日志时间格式为H:M:S.N。
H表示小时(0~23)
M表示分钟(0~59)
S表示秒(0~59)
N表示毫秒(0~999)
时间可能并没有补全,也就是说,01:01:01.001也可能表示为1:1:1.1。
输入描述:
第一行输入一个整数n表示日志条数,1<=n<=100000,接下来n行输入n个时间。
输出描述:
按时间升序排序之后的时间,如果有两个时间表示的时间相同,则保持输入顺序。
示例:
输入:
2
01:41:8.9
1:1:09.211
输出:
1:1:09.211
01:41:8.9
输入:
3
23:41:08.023
1:1:09.211
08:01:22.0
输出:
1:1:09.211
08:01:22.0
23:41:08.023
输入:
2
22:41:08.023
22:41:08.23
输出:
  • 22:41:08.023

  • 22:41:08.23





#华为OD机考#
全部评论
  private String[] sortDiary(String[] diary) {         Arrays.sort(diary, new Comparator<String>() {             @Override             public int compare(String o1, String o2) {                 o1 = o1.replace(".",":");                 o2 = o2.replace(".",":");                 String[] s1 = o1.split(":");                 String[] s2 = o2.split(":");                 for (int i = 0; i < s1.length; i++) {                     int v1 = Integer.valueOf(s1[i]);                     int v2 = Integer.valueOf(s2[i]);                     if(v1 != v2){                         return v1 - v2;                     }                 }                 return 0;             }         });         return diary;     }
6 回复 分享
发布于 2022-04-17 14:06
这道题是一个100分的题,出现的概率排在TOP5,难度也不高。 由于评论放不了太多代码,我转载一下楼主的帖子哈。 我写了一些代码,放到这里了:https://www.nowcoder.com/discuss/957768
点赞 回复 分享
发布于 2022-05-23 19:53
这是什么难度的题啊
点赞 回复 分享
发布于 2022-04-26 22:42
所以这题咋做呀老铁
点赞 回复 分享
发布于 2022-04-17 13:10
机考有多少道题
点赞 回复 分享
发布于 2022-04-07 09:23

相关推荐

评论
3
31
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务