Выведите K-ю границу матрицы

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

Дана квадратная матрица mat[][] и положительное целое число K . Задача состоит в том, чтобы напечатать K -ю границу mat[][] .

Примеры:

Input: mat[][] = {{1,  2,   3,   4,  5},     K = 1
                           {6,   7,   8,   9,  10}
                           {11, 12, 13, 14, 15}
                           {16, 17, 18, 19, 20}
                           {21, 22, 23, 24, 25}}
Output:  1 2 3 4 5
               6         10
              11         15
              16         20
              21 22 23 24 25 
Explanation: The first boundary of mat[][] is above.

Input: mat[][] = {{1, 2, 3}, K = 2
                           {4, 5, 6}
                           {7, 8, 9}}
Output:  5

Подход: Эта проблема основана на реализации. Пройдите матрицу и проверьте для каждого элемента, лежит ли этот элемент на K-й границе или нет. Если да, то напечатайте элемент, иначе напечатайте символ пробела. Выполните следующие шаги, чтобы решить данную проблему.

  • для i от 0 до N
    • для j in от 0 до N
      • if((i == K – 1 или i == N – K) и (j >= K – 1 и j <= N – K))
        • принт мат[i][j]
      • иначе, если (j == K – 1 или j == N – K) и (i >= K – 1 и i <= N – K):
        • принт мат[i][j]
  • Это даст требуемую K-ю границу мата[][]

Ниже приведена реализация описанного выше подхода.

Временная сложность: O(N^2)
Космическая сложность: O(1)

РЕКОМЕНДУЕМЫЕ СТАТЬИ