Skip to main content

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;
}
};