Ctrl K

Нулевые кресты

Средняя
Дана прямоугольная таблица целых чисел grid размером m × n. Для каждого нуля, который был в таблице изначально, обнулите всю его строку и весь его столбец. Нули, появившиеся в процессе, новых обнулений не вызывают. Верните таблицу после обнуления. Попробуйте обойтись O(1) дополнительной памяти.
Пример 1
grid=[[5, 7, 2], [4, 0, 9], [8, 6, 3]] → [[5, 0, 2], [0, 0, 0], [8, 0, 3]]

Единственный ноль стоит в центре, поэтому обнуляются средняя строка и средний столбец: [[5, 0, 2], [0, 0, 0], [8, 0, 3]].

Пример 2
grid=[[0, 3, 4, 1], [2, 8, 7, 0]] → [[0, 0, 0, 0], [0, 0, 0, 0]]

Ноль в первой строке обнуляет её и первый столбец, ноль во второй — её и последний столбец. Обе строки становятся нулевыми целиком.

Пример 3
grid=[[1, 2], [3, 4]] → [[1, 2], [3, 4]]

Нулей нет — таблица не меняется.

Ограничения
  • m == grid.length, n == grid[i].length
  • 1 ≤ m, n ≤ 200
  • −2³¹ ≤ grid[i][j] ≤ 2³¹ − 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСудоку без конфликтов СредняяПроизведение разреженных матриц СредняяОдинокие тёмные пиксели СредняяТёмные пиксели в строках-близнецах СредняяВолшебные блоки 3×3 Средняя
загружаем Python…
Вход
grid=[[5, 7, 2], [4, 0, 9], [8, 6, 3]]
Ожидается
[[5, 0, 2], [0, 0, 0], [8, 0, 3]]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 35 тестов на сервере, включая скрытые.