leetcode:1736. 替换隐藏数字得到的最晚时间(python3解法)

难度:简单

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

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

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

示例 1:

输入:time = "2?:?0"
输出:"23:50"
解释:以数字 '2' 开头的最晚一小时是 23 ,以 '0' 结尾的最晚一分钟是 50 。

示例 2:

输入:time = "0?:3?"
输出:"09:39"

示例 3:

输入:time = "1?:22"
输出:"19:22"

提示:

  • time 的格式为 hh:mm
  • 题目数据保证你可以由输入的字符串生成有效的时间

题解:(枚举所有可能出现的情况)

class Solution(object):
    def maximumTime(self, time):
        hour_res = self.maximumhour(time)
        minute_res = self.maximumminute(time)
        final_res = "".join(hour_res) + ":" +  "".join(minute_res)
        return final_res
    
    def maximumhour(self,time): ## 处理小时
        hour = time.split(':')[0]
        list_hour = list(hour)
        hour_res = []
        if list_hour[0] == '?' and list_hour[1] != '?' and list_hour[1] >= '4':
            hour_res.append('1')
            hour_res.append(list_hour[1])
        elif list_hour[0] == '?' and list_hour[1] != '?' and list_hour[1] < '4':
            hour_res.append('2')
            hour_res.append(list_hour[1])
        elif list_hour[1] == '?' and list_hour[0] == '1':
            hour_res.append(list_hour[0])
            hour_res.append('9')
        elif list_hour[1] == '?' and list_hour[0] == '0':
            hour_res.append(list_hour[0])
            hour_res.append('9')
        elif list_hour[1] == '?' and list_hour[0] == '2':
            hour_res.append('2') 
            hour_res.append('3')
        elif list_hour[1] == '?' and list_hour[0] == '?':
            hour_res.append('2')
            hour_res.append('3')
        elif list_hour[1] != '?' and list_hour[0] != '?':
            hour_res.append(list_hour[0])
            hour_res.append(list_hour[1])
        return hour_res

    def maximumminute(self, time):  ## 处理分钟
        minute = time.split(':')[1]
        list_minute = list(minute)
        minute_res = []
        if list_minute[0] == '?' and list_minute[1] != '?':
            minute_res.append('5')
            minute_res.append(list_minute[1])
        elif list_minute[1] == '?' and list_minute[0] != '?':
            minute_res.append(list_minute[0])
            minute_res.append('9')
        elif list_minute[1] == '?' and list_minute[0] == '?':
            minute_res.append('5')
            minute_res.append('9')
        elif list_minute[1] != '?' and list_minute[0] != '?':
            minute_res.append(list_minute[0])
            minute_res.append(list_minute[1])
        return minute_res


        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/334074.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA的一些基本操作

修改类名&#xff1a; 新建文件&#xff1a; 删除文件&#xff1a; 新建模块&#xff1a;

Vue 3 hooks的基本使用及疑问

前言 vue3也用过一段时间了&#xff0c;hooks听说过&#xff0c;但是一直没有用过。公司的前端项目里也没有相应的应用&#xff0c;因此打算系统的学习一下。 hooks与普通函数的区别 以实现一个加法功能为例。 普通函数未抽离 <template><div class"box&quo…

RIP基础实验配置

要使用RIP完成以上命令需求 1&#xff0c;首先划分ip地址 有图可见有四个网段需要划分 192.168.1.0/26 192.168.3.0/26 192.168.7.0/26 192.168.5.0/26 给两个骨干网段&#xff0c;给两个环回接口&#xff0c;由下图所示&#xff1a; 其次&#xff0c;规划好ip后在各个接口…

【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation

Relation-Aware Graph Transformer for SQL-to-Text Generation Abstract SQL2Text 是一项将 SQL 查询映射到相应的自然语言问题的任务。之前的工作将 SQL 表示为稀疏图&#xff0c;并利用 graph-to-sequence 模型来生成问题&#xff0c;其中每个节点只能与 k 跳节点通信。由…

YOLOv8-TensorRT C++ ubuntu部署

YOLOv8-TensorRT C ubuntu20.04部署 先要安装好显卡驱动、CUDA、CUDNN 以ubuntu20.04、显卡1650安装470版本的显卡驱动、11.3版本的CUDA及8.2版本的CUDNN为例 下载TensorRT 进入网站&#xff1a; https://developer.nvidia.com/nvidia-tensorrt-8x-download 进行勾选下载…

Java 全栈知识点问题汇总(上)

Java 全栈知识点问题汇总&#xff08;上&#xff09; 1 Java 基础 1.1 语法基础 面向对象特性&#xff1f;a a b 与 a b 的区别3*0.1 0.3 将会返回什么? true 还是 false?能在 Switch 中使用 String 吗?对equals()和hashCode()的理解?final、finalize 和 finally 的不同…

CSS常见元素类型 盒子模型

文章目录 常见元素类型块元素内联元素空元素修改元素类型测试元素类型 盒子模型标准文本流:外边距和内边距测试盒子模型 常见元素类型 块元素 常见块元素: div p h1~h6 ul li img 这些元素结束之后自带换行&#xff0c;一行只能存在一个元素&#xff0c;无法横向排列&#xf…

SpringBoot 项目中后端实现跨域的5种方式!!!

文章目录 SpringBoot 项目中后端实现跨域的5种方式&#xff01;&#xff01;&#xff01;一、为什么会出现跨域问题二、什么是跨域三、非同源限制四、Java后端 实现 CORS 跨域请求的方式1、返回新的 CorsFilter(全局跨域)2、重写 WebMvcConfigurer(全局跨域)3、使用注解 (局部跨…

智慧灌区解决方案:针对典型灌区水利管理需求

​随着国家对农业水利的重视,各地积极推进智慧灌区建设,以实现对水资源的精准调度和科学化管理。下面我们针对典型灌区水利管理需求,推荐智慧灌区解决方案。 一、方案构成智慧水利解决方案- 智慧水利信息化系统-智慧水利平台-智慧水利公司 - 星创智慧水利 一、方案构成 (一)水…

当MySql有字段为null,索引是否会失效

sql执行过程中,使用is null 或者is not null 理论上都会走索引,由于优化器的原因导致索引失效变成全表扫描,或者说是否使用索引和NULL值本身没有直接关系,和执行成本有关系。 数据行记录如何存储NULL值的&#xff1f; InnoDB 提供了 4 种行格式 Redundant:非紧凑格式,5.0 版…

openGauss:准备知识1【IP地址/SSH协议/PuTTY安装和使用】

最近研究在openEuler 22.03 LTS上使用openGauss数据库。如果想要远端访问服务器&#xff0c;那么就先要了解IP地址、SSH协议等内容。 IP代表“Internet Protocol”&#xff0c;是一种网络协议&#xff0c;它定义了计算机在网络上的地址和数据传输方式。简言之&#xff0c;可以…

机器人持续学习基准LIBERO系列6——获取并显示实际深度图

0.前置 机器人持续学习基准LIBERO系列1——基本介绍与安装测试机器人持续学习基准LIBERO系列2——路径与基准基本信息机器人持续学习基准LIBERO系列3——相机画面可视化及单步移动更新机器人持续学习基准LIBERO系列4——robosuite最基本demo机器人持续学习基准LIBERO系列5——…

git 删除 submodule 子模块的步骤

实验有效&#xff0c;这里删除了两个 submodule。 1, 执行删除 submodule mkdir tmp1 && cd tmp1 && git clone --recursive ssh://gitaaa.bbb.ccc.git \ && cd ccc/ && git checkout -b abranch_01 \ && git submodule deinit -f…

内存泄漏检测组件的实现

内存泄漏是在没有自动GC的编程语言里面&#xff0c;经常发生的一些问题。要实现一个内存泄露的检测组件&#xff0c;有两个需求&#xff1a; 能够检测出来内存泄漏能够判断出来哪一个地方的申请没有释放&#xff08;哪一行引起的泄漏&#xff09; 方案1&#xff1a;借助mtrac…

【GitHub项目推荐--名校课程资源】【转载】

先引用一段话&#xff0c;今天推荐的所有 GitHub 项目创立动机几乎都是这个。本文会盘点清华、北大、斯坦福、中国科学技术大学、上海交大等学校的课程资源。 01. 浙江大学课程共享计划 上图截屏中的话就是出自该项目&#xff0c;浙江大学搞了一个课程共享计划&#xff0c;其…

龙芯+RT-Thread+LVGL实战笔记(30)——电子琴演奏

【写在前面】正值期末,笔者工作繁忙,因此本系列教程的更新频率有所放缓,还望订阅本专栏的朋友理解,请勿催更。笔者在此也简要声明几点: 有些硬件模块笔者并没有,如LED点阵、压力传感模块、RFID模块等,因此这些模块的相关任务暂时无法给出经过验证的代码。其实,教程进行…

Mysql中的日志系统

文章目录 1. 慢查询日志&#xff08;Slow Query Log&#xff09;1.1 是否开启慢查询日志1.2 开启慢查询日志&#xff0c;设置时间阈值1.2.1 修改文件my.ini1.2.2 重启mysql后配置生效 1.3 查看慢查询日志1.3.1 直接用文本编辑器打开1.3.2 使用mysqldumpslow进行分析 2. InnoDB …

IaC基础设施即代码:Terraform 使用 dynamic动态内联块 创建docker资源

目录 一、实验 1.环境 2.Terraform查看版本 3.Linux主机安装Docker 4.Terraform使用本地编译&#xff08;In-house&#xff09;的Providers 5.Docker-CE 开启远程API 6. Linux主机拉取镜像 7.Terraform 使用 dynamic动态内联块 创建资源 二、问题 1.Terraform 计划资源…

Python数据分析案例32——财经新闻爬虫和可视化分析

案例背景 很多同学的课程作业都是需要自己爬虫数据然后进行分析&#xff0c;这里提供一个财经新闻的爬虫案例供学习。本案例的全部数据和代码获取可以参考&#xff1a;财经新闻数据 数据来源 新浪财经的新闻网&#xff0c;说实话&#xff0c;他这个网站做成这样就是用来爬虫的…

64.Spring事件监听的核心机制是什么?

Spring事件监听的核心机制是什么? spring的事件监听有三个部分组成 事件(ApplicationEvent) 负责对应相应监听器 事件源发生某事件是特定事件监听器被触发的原因监听器(ApplicationListener) 对应于观察者模式中的观察者。监听器监听特定事件,并在内部定义了事件发生后的响应…