Постройте квадратную матрицу, используя цифры заданного числа N на основе заданного шаблона.

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

Для данного целого числа N Задача состоит в том, чтобы построить матрицу mat[][] размера M x M («M» — количество цифр в данном целом числе), такую, что каждая диагональ l матрицы содержит одну и ту же цифру, расположенную в соответствии с положением цифр в данном целом числе, а затем снова повторите шаги, начиная с конца.

Примеры:

Input: N = 123
Output: {{1, 2, 3}, 
               {2, 3, 2}, 
               {3, 2, 1}}
Explanation: The desired matrix must be of size 3*3. The digits of N are 1, 2, and 3. Placing 1, 2 and 3 along the diagonals from the top left cell till the Nth diagonal, and 2, 1 just after the Nth diagonal till the bottom-most cell.

Input: N = 3219
Output: {{3, 2, 1, 9}, {2, 1, 9, 1}, {1, 9, 1, 2}, {9, 1, 2, 3}}

Подход: Задача может быть решена путем обхода матрицы по диагонали и присвоения значений ячеек в соответствии с соответствующей цифрой в заданном числе.

  1. Извлеките и сохраните цифры заданного целого числа в векторе, скажем, v .
  2. Снова сохраните цифры в обратном порядке для 2-й половины диагонали матрицы.
  3. Расставьте цифры в желаемом порядке.
  4. Распечатайте матрицу.

Ниже приведена реализация вышеуказанного подхода:


Временная сложность: O(N 2 )
Вспомогательное пространство: O(1)