LeetCode 5661. 替換隱藏數字得到的最晚時間
阿新 • • 發佈:2021-01-31
技術標籤: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阿明),一起加油、一起學習進步!