Максимальное число, образованное из цифр заданных трех чисел

Опубликовано: 22 Сентября, 2022

Даны 3 четырехзначных целых числа A , B и C , задача состоит в том, чтобы напечатать число, полученное путем взятия максимальной цифры из всех цифр, стоящих на одинаковых позициях в заданных числах.

Примеры:

Input: A = 3521, B = 2452, C = 1352
Output: 3552
Explanation:

  1. The maximum of the digits that are at 1th place is equal to max(A[3] = 1, B[3] = 2, C[3] = 2) 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.
  3. The maximum of the digits that are at 100th place is equal to max(A[1] = 5, B[1] = 4, C[1] = 3) 5.
  4. 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)