描述
给一个24小时制的时间(00:00-23:59),其中有一个或多个数字是问号。问号处可以用任何一个数字代替,问可以表示的最大时间是多少。
在线评测地址:领扣题库官网
样例1
输入:
time = "2?:00"
输出:
"23:00"
样例2
输入:
time = "??:??"
输出:
"23:59"
解题思路
直接对于问号处的数字变成最大,要判断是否满足时间的标准。
复杂度分析
时间复杂度:O(1)
空间复杂度:O(1)
源代码
public class Solution {
/**
* @param time: a string of Time
* @return: The MaximumMoment
*/
public String MaximumMoment(String time) {
char[] timeChars = time.toCharArray();
if (timeChars[0] == '?') {
if (timeChars[1] <= '9' && timeChars[1] >= '4')
timeChars[0] = '1';
else
timeChars[0]='2';
}
if (timeChars[1] == '?') {
if (timeChars[0] != '2')
timeChars[1] = '9';
else
timeChars[1] = '3';
}
if (timeChars[3] == '?')
timeChars[3] = '5';
if (timeChars[4] == '?')
timeChars[4] = '9';
return String.valueOf(timeChars);
}
}
更多题解参考:九章官网solution