题目:
警方收到举报犯罪人的犯罪时间,如18:53,但是这个时间不是正确的,需要对其进行解码,解码规则是:将1、8、5、3重新组合时间,数字可以无限重复,使距离当前时间(18:53)的下一刻时间最短,18:53的下一刻最短时间为:18:55,为3分钟,不是18:51,为23小时58分钟
例如:
输入:
18:53
输出:
18:55
代码如下:
def decrypt_crime_time(s):
nums_list = [int(i) for i in s if i != ":"]
H, M = [int(i) for i in s.split(":")]
nums_list = list({i * 10 + j for i in nums_list for j in nums_list if i <= 5})
nums_list.sort()
if H in nums_list and H != 23:
for i in nums_list:
if i <= M:
continue
return ":".join([str(H), str(i)])
else:
return ":".join([str(nums_list[0]), str(nums_list[0])])