描述5661中,如何通过替换隐藏数字确定最迟完成时间?
- 内容介绍
- 文章标签
- 相关推荐
本文共计503个文字,预计阅读时间需要3分钟。
C++描述:5661. 替换隐藏数字得到的最晚时间 - 大家常好,我叫程序员(qí+guān+jié)。给你一个字符串+time,格式为+hh:mm(小时:分钟),其中某些几位数字被隐藏。请输出隐藏数字后的最晚可能时间。
C++描述 5661. 替换隐藏数字得到的最晚时间
大家好,我叫亓官劼(qí guān jié )
给你一个字符串 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
- 题目数据保证你可以由输入的字符串生成有效的时间
解题思路
贪心算法,固定的时间格式,共5位,分别判断,如果是?则取当前情况可以取得的最大值即可。
算法实现
class Solution {public:
string maximumTime(string time) {
if(time[0] == '?'){
if((time[1] >= '0' && time[1] <= '3') || time[1] == '?')
time[0] = '2';
else
time[0] = '1';
}
if(time[1] == '?'){
if(time[0] == '0' || time[0] == '1')
time[1] = '9';
else
time[1] = '3';
}
if(time[3] == '?')
time[3] = '5';
if(time[4] == '?')
time[4] = '9';
return time;
}
};
本文共计503个文字,预计阅读时间需要3分钟。
C++描述:5661. 替换隐藏数字得到的最晚时间 - 大家常好,我叫程序员(qí+guān+jié)。给你一个字符串+time,格式为+hh:mm(小时:分钟),其中某些几位数字被隐藏。请输出隐藏数字后的最晚可能时间。
C++描述 5661. 替换隐藏数字得到的最晚时间
大家好,我叫亓官劼(qí guān jié )
给你一个字符串 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
- 题目数据保证你可以由输入的字符串生成有效的时间
解题思路
贪心算法,固定的时间格式,共5位,分别判断,如果是?则取当前情况可以取得的最大值即可。
算法实现
class Solution {public:
string maximumTime(string time) {
if(time[0] == '?'){
if((time[1] >= '0' && time[1] <= '3') || time[1] == '?')
time[0] = '2';
else
time[0] = '1';
}
if(time[1] == '?'){
if(time[0] == '0' || time[0] == '1')
time[1] = '9';
else
time[1] = '3';
}
if(time[3] == '?')
time[3] = '5';
if(time[4] == '?')
time[4] = '9';
return time;
}
};

