LeetCode题库1736求解隐藏最晚时间
Posted KookNut39
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode题库1736求解隐藏最晚时间相关的知识,希望对你有一定的参考价值。
题目:给你一个字符串 time ,格式为 hh:mm(小时:分钟),其中某几位数字被隐藏(用 ? 表示)。
有效的时间为 00:00 到 23:59 之间的所有时间,包括 00:00 和 23:59 。
替换 time 中隐藏的数字,返回你可以得到的最晚有效时间。
这个题我做的效率感觉不是很高,因为有for循环,感觉有点拉了,看别人其他人的解答,是直接就用if语句就解决了,那个效率就非常的可观了,这道题就是在此做个记录
class Solution {
public:
string maximumTime(string time)
{
//第0个字符取值范围0-2
//第1个字符取值范围0-9 并且当第一个字符是2时,取值变为0-3
//第3个字符取值范围0-5
//第4个字符取值范围0-9
for(int i = 0;i<5;i++)
{
switch(time[i])
{
case '?':
if(i == 0 && (time[i+1] == '?' || time[i+1] < '4'))
{
time[i] = '2';
break;
}
else if(i == 0)
{
time[i] = '1';
break;
}
else if(i == 1 && time[i-1] != '2')
{
time[i] = '9';
break;
}
else if(i == 1 && time[i-1] == '2')
{
time[i] = '3';
break;
}
else if(i == 3)
{
time[i] = '5';
break;
}
else if(i == 4)
{
time[i] = '9';
break;
}
default:
break;
}
}
return time;
}
};
以上是关于LeetCode题库1736求解隐藏最晚时间的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode] 1736. 替换隐藏数字得到的最晚时间
LeetCode 1736 替换隐藏数字得到的最晚时间[判断] HERODING的LeetCode之路
LeetCode1736. 替换隐藏数字得到的最晚时间/1743. 从相邻元素对还原数组/671. 二叉树中第二小的节点