通过替换Python中的隐藏数字来查找最新有效时间的程序
假设我们有一个字符串s以hh:mm的形式表示时间。s中的一些数字是隐藏的(用?表示)。考虑到24小时制,有效时间在00:00到23:59之间。我们必须通过替换隐藏数字来找到我们可以从时间中获得的最新有效时间。
因此,如果输入类似于s="1?:?5",则输出将是13:55,因为以数字'2'开头的最新一小时是23,而以数字'0'结尾的最新一分钟是50.
示例(Python)
让我们看看以下实现以获得更好的理解-
def solve(s):
ans = []
max_time = ['2','3',':','5','9']
if max_time[0] < '2':
max_time[1] = '9'
if '9' >= max_time[1] > '3':
max_time[0] = '1'
for mx,digit in zip(max_time,s):
if digit.isdigit():
ans.append(digit)
else:
ans.append(mx)
return ''.join(ans)
s= "1?:?5"
print(solve(s))输入
"1?:?5"输出结果
13:55