Максимизируйте пропущенные значения в заданное время в формате ЧЧ:ММ
Дана строка S , представляющая время в 24-часовом формате «ЧЧ:ММ» , так что некоторые цифры представлены знаком «?» , задача заменить '?' с любыми возможными цифрами, чтобы полученное время было максимально возможным.
Примеры:
Input: S = “?4:5?”
Output: 14:59
Explanation:
After replacing the first and the second ‘?’ with the digits 1 and 9, modifies the given time to “14:59”, which is maximum among all the possible time that can be made by replacing ‘?’.Input: S = “0?:??”
Output: 09:59
Подход: данная проблема может быть решена путем обхода заданной строки S и замены '?' таким образом, чтобы подстрока перед символом ':' лежала в диапазоне [0, 23], а подстрока после ':' должна быть не более 59 и выводить максимальное полученное время. Выполните следующие шаги, чтобы решить данную проблему:
- Если значение символа S по индексу 0 равно '?' а символ с индексом 1 равен «3» или «?» , затем обновите значение S[0] как '2' . В противном случае обновите значение S[0] как «1» .
- Если значение символа S по индексу 1 равно '?' и символ с индексом 0 не равен '2' , затем обновите значение S[1] как '9' . В противном случае обновите значение S[1] как «3» .
- Если значение символа S по индексу 3 равно '?' , затем обновите значение S[3] как '5' .
- Если значение символа S по индексу 4 равно '?' , затем обновите значение S[4] как '9' .
- После выполнения вышеуказанных шагов выведите значение строки S в качестве результирующего времени.
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(1)
Вспомогательное пространство: O(1)