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'
對於來自 (max_time, s) 的每一對 (mx, digit),執行以下操作:
如果 digit 是一個單一數字,則
將 digit 插入 ans 的末尾
否則,
將 mx 插入 ans 的末尾
連線 ans 中存在的字元並返回
示例(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
廣告