首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >LeetCode 1736. 替换隐藏数字得到的最晚时间

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

作者头像
Michael阿明
发布2021-02-19 12:51:59
发布2021-02-19 12:51:59
8490
举报

文章目录

1. 题目

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

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

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

代码语言:javascript
复制
示例 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
题目数据保证你可以由输入的字符串生成有效的时间

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/latest-time-by-replacing-hidden-digits 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 分类讨论
代码语言:javascript
复制
class Solution {
public:
    string maximumTime(string time) {
        string ans = time;
        if(time[0] == '?')
        {
            if(time[1]=='?' || time[1] <= '3')
                ans[0] = '2';// ??, ?3
            else
                ans[0] = '1';// ?4, ?5
        }
        if(time[1] == '?')
        {
            if(time[0] == '0' || time[0] == '1')
                ans[1] = '9';// 0?, 1?
            else if(time[0] == '2'|| time[0] == '?')
                ans[1] = '3'; // 2?, ??
        }
        if(time[3] == '?')
            ans[3] = '5';
        if(time[4] == '?')
            ans[4] = '9';
        return ans;
    }
};

4 ms 5.8 MB C++


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 文章目录
  • 1. 题目
  • 2. 解题
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档