1736. 替换隐藏数字得到的最晚时间
思路
根据不同的位的特点判断:
- 第一位:如果下一位是 0-3 或者是 ?,那么最大值为 2,否则为 1
- 第二位:如果前一位是 2,那么最大值为 3,否则为 9
- 第三位:直接替换
- 第四位:直接换
代码
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] == '1' || time[0] == '0') {
time[1] = '9';
} else time[1] = '3';
}
if (time[3] == '?') {
time[3] = '5';
}
if (time[4] == '?') {
time[4] = '9';
}
return time;
}
};