算法92---字符串转最大时间

一、题目:

'''
题目描述:给定一个数组,里面有6个整数,求这个数组能够表示的最大24进制的时间是多少,输出这个时间,无法表示输出invalid
输入描述:输入为一个整数数组,数组内有6个整数
输入整数数组长度为6,不需要考虑其它长度,元素值为0或者正整数,6个数字每个数字只能使用一次。
输出描述:输出为一个24进账格式的时间,或者字符串“invalid”

输入:[0,2,3,0,5,6]
输出:23:56:00
'''

代码:

import itertools
def maxTime(A):
    res = [""]
    for a in itertools.permutations(A):
        # if a == (2,4,0,0,0,0):
        #     res.append('%d%d:%d%d:%d%d' % a)
        if a[:2] > (2, 3) or a[2:4] > (5, 9) or a[4:] > (5,9):
            continue
        res.append('%d%d:%d%d:%d%d' % a)
    return max(res) if res != [""] else 'invalid'
# arr = eval(input())
arr = [0,2,4,0,0,0]
print(maxTime(arr))




原文地址:https://www.cnblogs.com/Lee-yl/p/10726429.html