获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 “HH:MM” 表示的时刻。
根据警察和线人的约定,为了隐蔽,该时间是修改过的,
解密规则为:利用当前出现过的数字,构造下一个距离当前时间最近的时刻,则该时间为可能的犯罪时间。
每个出现数字都可以被无限次使用。
输入描述
形如HH:SS字符串,表示原始输入。
输出描述
形如HH:SS的字符串,表示推理处理的犯罪时间。
备注
1.可以保证现任给定的字符串一定是合法的。
例如,“01:35”和“11:08”是合法的,“1:35”和“11:8”是不合法的。
2.最近的时刻可能在第二天。
题目解析
题目要求从一个给定的形如“HH:MM”的合法时间字符串出发,按照特定的解密规则,找到距离当前时间最近的下一个合法时间。解密规则是利用当前时间字符串中出现过的数字来构造下一个时间。
解密步骤如下:
1.遍历小时和分钟的每一位数字,记录这些数字的出现情况。
2.从小时的最高位(十位数)开始,尝试增加数字(如果已经是9,则重置为0或1,取决于下一位是否为0),直到找到一个合法的时间(即小时在00-23之间,分钟在00-59之间),