Проверить, является ли данная матрица матрицей нулевого деления
Дана квадратная матрица NxN M[][] . Задача состоит в том, чтобы проверить, является ли матрица M матрицей с нулевым делением или нет. Матрица называется матрицей с нулевым делением, только если 2 или более результатов деления на пол произведения элемента по столбцам на произведение элемента по строке равны нулю .
Примеры:
Input: M[ ][ ] = [ [ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ] ]Output: 1
Explanation: Refer to image for explanation.
Input: M[ ][ ] = [ [ 1, 2, 3 ],
[ 6, 8, 2 ],
[ 7, 8, 9 ] ]
Output: 0
Подход: Эта проблема основана на реализации. Выполните следующие шаги, чтобы решить данную проблему.
- Возьмите матрицу M[ ][ ] и вычислите произведение элементов по строкам и по столбцам.
- Сохраните произведение каждой строки и столбца в массивах R[ ] и C[ ] соответственно.
- Теперь возьмем напольное деление элемента массива C[ ] по индексу на массив R[ ] .
- Если мы получаем два или более нулей, то это сетка с нулевым делением и возвращает 1 , иначе возвращает 0 .
- В случае, если знаменатель равен нулю, тогда возвращается ошибка деления на ноль -1 .
Ниже приведена реализация описанного выше подхода.
Сложность времени: О(Н*Н)
Вспомогательное пространство: НА)
