题目

给你一个字符串 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
题目数据保证你可以由输入的字符串生成有效的时间

解题思路与算法

  • 字符串“00:00” 的4个0分别看做x1,x2,x3,x4
  • 如果x3未知,x3最大为5;如果x4未知,x4最大为9
  • x1,x2有三种情况:
    • x1,x2未知: x1最大为2,x2最大为3
    • x1未知: 如果x2大于3,那x1最大为1。因为没有24,25,,,,这样的小时,最大为23,最大具体时间为23:59;如果x2小于等于3,那么x1最大为2
    • x2未知: 如果x1为2,x2最大只能为3;如果x1小于2,那么x2最大可以为9

代码

class Solution {public String maximumTime(String time) {char[] ch = time.toCharArray();String x1=String.valueOf(ch[0]);String x2=String.valueOf(ch[1]);String x3=String.valueOf(ch[3]);String x4=String.valueOf(ch[4]);if(x1.equals("?") && x2.equals("?") ) {ch[0]='2';ch[1]='3';}else if (x1.equals("?")) {if((int)ch[1]-(int)('0')>3) {ch[0]='1';}else {ch[0]='2';}}else if (x2.equals("?")) {if((int)ch[0]-(int)('0')==2) {ch[1]='3';}else {ch[1]='9';}}if(x3.equals("?")) {ch[3]='5';}if(x4.equals("?")) {ch[4]='9';}return String.valueOf(ch);}}

LeetCode 5661. 替换隐藏数字得到的最晚时间 做题小结相关推荐

  1. LeetCode——1736. 替换隐藏数字得到的最晚时间(Latest Time by Replacing Hidden Digits)——分析及代码(Java)

    LeetCode--1736. 替换隐藏数字得到的最晚时间[Latest Time by Replacing Hidden Digits]--分析及代码[Java] 一.题目 二.分析及代码 1. 逐 ...

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

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 time ,格式为 hh:mm(小时:分钟),其中某几位数字被隐藏(用 ? 表示). 有效的时间为 00:00 到 23:59 之间的所有 ...

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

    给你一个字符串 time ,格式为 hh:mm(小时:分钟),其中某几位数字被隐藏(用 ? 表示). 有效的时间为 00:00 到 23:59 之间的所有时间,包括 00:00 和 23:59 . 替 ...

  4. LeetCode 435. 无重叠区间 做题小结

    题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相 ...

  5. LeetCode 860. 柠檬水找零 做题小结

    题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元.顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯.每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你必须 ...

  6. LeetCode 1049. 最后一块石头的重量 II 做题小结

    题目 有一堆石头,每块石头的重量都是正整数.每一回合,从中选出任意两块石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下:如果 x == y,那 ...

  7. LeetCode 1844. 将所有数字用字符替换

    文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的字符串 s ,它的 偶数 下标处为小写英文字母,奇数 下标处为数字. 定义一个函数 shift(c, x) ,其中 c 是一个字 ...

  8. php隐藏中间四位数字,php怎么实现隐藏数字中间四位

    php实现隐藏数字中间四位的方法:可以利用substr_replace()函数来实现.substr_replace()函数可以把字符串的一部分替换为另一个字符串,并返回被替换的字符串. substr_ ...

  9. leetcode 1567 替换所有问号

    leetcode 1567 替换所有问号 好久没写了 刷题 好久没写了 比较忙 比较懒 好久没上过了 看到有好久之前的提问啥的真是抱歉了. 刷题 最近重新看了下力扣 好不容易写了一个100% 贴出来纪 ...

最新文章

  1. 人工智能 MIT 博士系列讲课
  2. 2020暑期实习后台开发字节跳动笔试
  3. 移植ffmpeg到VC环境心得
  4. Analysis of Web.xml in Hello1 project
  5. HDU-1698 JUST A HOOK 线段树
  6. 详解 TCP 和 UDP
  7. python unpack_ip地址处理每天10行python代码系列
  8. php接收二进制流,php接收二进制流【转】
  9. Spring从菜鸟到高手(一)实现AOP的基本原理
  10. 爬虫抓图2022年全网最新方法,这一次终于是4k高清美图
  11. 实现单个页面,多个百度分享(动态修改百度分享链接)
  12. CSS+HTML实现倾斜导航条
  13. 【黄啊码】解决微信小程序showToast不显示
  14. zk-snark之R1CS-QAP
  15. html攻击代码,利用HTML5标签进行DDoS攻击的新方法揭秘
  16. 求质数个数(求素数个数
  17. 微信小程序开发必备 hellow word
  18. java点到直线的投影点到经纬度_计算点在平面上的投影坐标
  19. 哺乳动物细胞转录调控入门---染色质修饰与重塑
  20. 如何用3天时间快速摸清一个行业

热门文章

  1. 管理体系审核员注册常见问题
  2. python:实现将PDF转换为有声读物(附完整源码)
  3. 【相约2021RDC】赴一场国产嵌入式技术的盛宴
  4. Flink CDC 系列(3)—— Flink CDC MySQL Connector 与 Flink SQL 的结合使用案例Demo
  5. 各种文件下载链接——自用
  6. mac m1安装coquiTTS,文字转语音
  7. 运行 wallhaven-electron 项目显示的是空白界面,浏览器端显示Uncaught TypeError: window.require is not a function
  8. PMSM滑模观测器无感控制
  9. 微软CEO史蒂夫·鲍尔默十大名言:我要活埋谷歌CEO
  10. 跨学科的AI量化其实很简单