Этот пост является частью Алгоритмы проблемы решения ряд.
Описание проблемы
Это Максимум 69 номер проблема. Описание выглядит так:
Учитывая положительное целое число Num
состоящий только из цифр 6 и 9.
Вернуть максимальный номер, который вы можете получить, изменив больше всего Одна цифра (6 становится 9, а 9 становится 6).
Примеры
Input: num = 9669 Output: 9969 Input: num = 9996 Output: 9999 Input: num = 9999 Output: 9999
Решение
Идея состоит в том, чтобы найти первую 6
Индекс номера во всем числе. А затем заменить его с 9
Отказ Таким образом, вы получаете максимальное количество.
def maximum_69_number(num): six_index = 0 str_num = str(num) for index in range(len(str_num)): if str_num[index] == '6': six_index = index break return int( str_num[:six_index] + '9' + str_num[six_index + 1:] )
Вы также можете использовать заменить
Строковый метод для замены первого 6
номер с 9
Отказ
'6996'.replace('6', '9', 1) '9996' '9696'.replace('6', '9', 1) '9996'
Ресурсы
- Обучение Python: Из грязи в князи
- Алгоритмы решения проблемы решения серии
- Стекстическая структура данных
- Структура данных очереди
- Связанный список
- Структура данных деревьев
Оригинал: “https://dev.to/teekay/algorithms-problem-solving-maximum-69-number-ik4”