zoukankan      html  css  js  c++  java
  • 1519. 时间魔法

    1519. 时间魔法

    中文English

    在霍格沃茨魔法学校里面,有一个简单的时间魔法,可以将当前的时间转换到最大的时间,但是只能修改几个固定的位置。最长时间是23:59,最短时间是00:00,表示时间的格式为hh:mm
    例如:现在是"2?:2?",那么可以转换的最大时间为"23:29"

    样例

    样例 1:

    输入: "?4:5?"
    输出: "14:59"
    样例解释: 返回最大的时间。
    

    样例 2:

    输入: "0?:??"
    输出: "09:59"
    样例解释: 返回最大的时间。
    输入测试数据 (每行一个参数)如何理解测试数据?
    class Solution:
        """
        @param newTime: new time
        @return: maximum time
        """
        '''
        大致思路:
        1.时具有特殊性
        如果首位是?的话,则进行看第二位是什么值,如果第二位是?,则返回23.如果第二位是大于3的话,则首位只能是为1.如果是小于3的话,首位为2
        如果第二位是?的话,则需要看首位是什么值,如果首位小于2,则返回9。如果首位为2,则返回3
        后面的分,直接返回:59即可
        '''
        def timeMagic(self,newTime):
            h,m = '',''
            if newTime[0] == '?':
                if newTime[1] == '?':
                    h = '23'
                elif newTime[1] > '3':
                    h = '1'+ newTime[1]
                elif  newTime[1] <= '3':
                    h = '2' + newTime[1]
            
            if newTime[1] == '?':
                if newTime[0] < '2':
                    h = newTime[0] + '9'
                elif newTime[0] == '2':
                    h = '23'
            if newTime[3] == '?':
                if newTime[4] == '?':
                    m = '59'
                else:
                    m = '5' + newTime[4]
    
            if newTime[4] == '?':
                if newTime[3] == '?':
                    m = '59'
                else:
                    m = newTime[3] + '9'
            if m == '':
                m = newTime[3:5]
            
            return newTime[:2] + ':' + m if h == '' else h + ':' + m
                    
  • 相关阅读:
    SQL字段排序
    delphi MessageBox 用法
    delphi获取当前计算机所有盘符
    PHP限制IP
    delphi 显示数据
    GUI模块分解与开发征集
    delphi 用户登录 代码
    Hello China GUI模块鼠标指针的实现
    DELPHI 托盘 实例
    delphi 内存流 操作
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12735513.html
Copyright © 2011-2022 走看看