Проверьте, содержит ли каждая строка и столбец сетки N*N все числа от 1 до N.

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

Для квадратной матрицы arr[][] размера N * N задача состоит в том, чтобы проверить, содержит ли каждая строка и столбец матрицы все числа от 1 до N или нет.

Примеры :

Input: arr[][] = { {1, 2, 3}, 
                          {3, 1, 2}, 
                          {2, 3, 1} }
Output: true
Explanation: Every row and column contains number 1 to N, i.e 1 to 3

Input: arr[][] = { {1, 1, 1}, 
                           {1, 2, 3}, 
                           {1, 2, 3} }
Output: false

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

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


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