在走神的芹菜很胖墩墩 level
获赞
0
粉丝
0
关注
3
看过 TA
0
南昌航空大学
2014
Python
IP属地:四川
暂未填写个人简介
私信
关注
2024-07-23 00:02
南昌航空大学 Python
题目: 警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 “HH:MM” 表示的时刻。根据警察和线人的约定,为了隐蔽,该时间是修改过的,解密规则为:利用当前出现过的数字,构造下一个距离当前时间最近的时刻,则该时间为可能的犯罪时间。每个出现数字都可以被无限次使用。" 输入描述:形如HH:SS的字符串,表示原始输入 输出:形如HH:SS的字符串,表示推理出来的犯罪时间 输入18:52输出18:55说明利用数字1, 8, 5, 2构造出来的最近时刻是18:55,是3分钟之后。结果不是18:51因为这个时刻是18小时52分钟之后。 示例2 输入 23:59 输出 22:22 说明 利用数字2, 3, 5, 9构造出来的最近时刻是22:22。 答案一定是第二天的某一时刻,所以选择可构造的最小时刻为犯罪时间。from itertools import productdef valid_combinations(input_str):digits, original_number, valid_numbers, index = [int(item) for item in input_str if item != ':'], input_str.replace(":", ""), '', 0digits.sort()for perm in product(digits, repeat=4):num_str = ''.join(map(str, perm))if int(num_str[:2]) <= 23 and int(num_str[-2:]) <= 59:if index == 0 or int(num_str) > int(original_number):valid_numbers = num_strif index != 0:breakindex += 1return valid_numbersif __name__ == '__main__':res = valid_combinations("20:12")data = res[0:2] + ":" + res[2:4]print(data)
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务