通过替换Python中的隐藏数字来查找最新有效时间的程序
假设我们有一个字符串 s 代表 hh:mm 时间格式。 s 中的一些数字是隐藏的(用 ? 表示)。考虑到 24 小时制,有效时间在 00:00 到 23:59 之间。我们要通过替换隐藏的数字来找到我们可以从时间得到的最新有效时间。
因此,如果输入为 s = “1 ?: ?5″,那么输出将是 13:55,因为以数字 ‘2’ 开始的最新小时数为 23,以数字 ‘0’ 结尾的最新分钟数为 50。
要解决此问题,我们将按照以下步骤进行 –
- ans:=一个新的列表
-
max_time := [‘2′,’3′,’:’,’5′,’9′]
-
如果 max_time [0] < ‘2’,则
- max_time [1]:=’9′
- 如果 ‘9’> = max_time[1] > ‘3’,则
- max_time[0]:= ‘1’
- 对于每个对(mx,digit)从(max_time,s),做以下操作
- 如果数字是一个数字,则
- 在答案的末尾插入数字
- 否则
- 在答案的末尾插入 mx
- 如果数字是一个数字,则
- 连接出现在 ans 中的字符并返回
更多Python相关文章,请阅读:Python 教程
例子(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