1. 程式人生 > 其它 >LeetCode 5661. 替換隱藏數字得到的最晚時間

LeetCode 5661. 替換隱藏數字得到的最晚時間

技術標籤:LeetCode

文章目錄

1. 題目

給你一個字串 time ,格式為 hh:mm(小時:分鐘),其中某幾位數字被隱藏(用 ? 表示)。

有效的時間為 00:00 到 23:59 之間的所有時間,包括 00:00 和 23:59 。

替換 time 中隱藏的數字,返回你可以得到的最晚有效時間

示例 1:
輸入:time = "2?:?0"
輸出:"23:50"
解釋:以數字 '2' 開頭的最晚一小時是 23 ,
以 '0' 結尾的最晚一分鐘是 50 。

示例 2:
輸入:time = "0?:3?"
輸出:"09:39"
示例 3: 輸入:time = "1?:22" 輸出:"19:22" 提示: time 的格式為 hh:mm 題目資料保證你可以由輸入的字串生成有效的時間

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/latest-time-by-replacing-hidden-digits
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

2. 解題

  • 分類討論
class Solution {
public:
    string maximumTime(string time) {
string ans = time; if(time[0] == '?') { if(time[1]=='?' || time[1] <= '3') ans[0] = '2';// ??, ?3 else ans[0] = '1';// ?4, ?5 } if(time[1] == '?') { if(time[0] == '0' || time[0] == '1') ans[
1] = '9';// 0?, 1? else if(time[0] == '2'|| time[0] == '?') ans[1] = '3'; // 2?, ?? } if(time[3] == '?') ans[3] = '5'; if(time[4] == '?') ans[4] = '9'; return ans; } };

4 ms 5.8 MB C++


我的CSDN部落格地址 https://michael.blog.csdn.net/

長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
Michael阿明