Максимальное число, образованное из цифр заданных трех чисел
Опубликовано: 22 Сентября, 2022
Даны 3 четырехзначных целых числа A , B и C , задача состоит в том, чтобы напечатать число, полученное путем взятия максимальной цифры из всех цифр, стоящих на одинаковых позициях в заданных числах.
Примеры:
Input: A = 3521, B = 2452, C = 1352
Output: 3552
Explanation:
- The maximum of the digits that are at 1th place is equal to max(A[3] = 1, B[3] = 2, C[3] = 2) 2.
- The maximum of the digits that are at 10th place is equal to max(A[2] = 2, B[2] = 5, C[2] = 5) 5.
- The maximum of the digits that are at 100th place is equal to max(A[1] = 5, B[1] = 4, C[1] = 3) 5.
- The maximum of the digits that are at 1000th place is equal to max(A[0] = 3, B[0] = 3, C[0] = 1) 3.
Therefore, the number formed is 3552.
Input: A = 11, B = 12, C = 22
Output: 22
Подход: проблему можно решить, перебирая цифры заданных целых чисел. Выполните следующие шаги, чтобы решить проблему:
- Инициализируйте переменную, скажем , как 0 и P как 1 , чтобы сохранить максимально возможное число и значение позиции цифры.
- Повторяйте до тех пор, пока A, B и C не станут больше 0 , и выполните следующие шаги:
- Найдите цифры на единичных местах чисел A, B и C и сохраните их в переменных, скажем , a, b и c соответственно.
- Обновите A до A/10 , B до B/10 и C до C/10 .
- Увеличьте ans на P*max(a, b, c), а затем обновите P до P*10.
- Наконец, после выполнения вышеуказанных шагов выведите ответ, хранящийся в файле ans .
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O (log (N))
Вспомогательное пространство: O(1)