天天看点

LeetCode-1736. 替换隐藏数字得到的最晚时间

给你一个字符串 time ,格式为 hh:mm(小时:分钟),其中某几位数字被隐藏(用 ? 表示)。

有效的时间为 00:00 到 23:59 之间的所有时间,包括 00:00 和 23:59 。

替换 time 中隐藏的数字,返回你可以得到的最晚有效时间。

tips:考虑所有情况就好了

class Solution:
    def maximumTime(self, time: str) -> str:
        time = list(time)
        if time[0] == '?' and time[1] != '?':
            if int(time[1]) <= 3:
                time[0] = '2'
            else:
                time[0] = '1'
        elif time[0] == '?' and time[1] == '?':
            time[0] = '2'
            time[1] = '3'
        if time[1] == '?' and time[0] == '0':
            time[1] = '9'
        elif time[1] == '?' and time[0] == '1':
            time[1] = '9'
        elif time[1] == '?' and time[0] == '2':
            time[1] = '3'
        if time[3] == '?':
            time[3] = '5'
        if time[4] == '?':
            time[4] = '9'
        return ''.join(time)