Menu
CoddyTech

Set Matrix Zeroes

Girdi, satır satır verilen m × n boyutunda bir tam sayı ızgarasıdır; dolayısıyla matrix[i][j], i. satırda ve j. sütunda bulunur. Izgarada 0 bulunan her yerde, o satırın ve o sütunun tamamını 0 yapın. Yalnızca başlangıçta mevcut olan sıfırlar dikkate alınır: 0'a dönüştürdüğünüz bir hücre, kendi satırını veya sütununu temizlemez. Izgarayı yerinde değiştirebilirsiniz; ızgarayı döndürün.

Fonksiyon

setZeroes(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
satır başına bir iç liste olacak şekilde tamsayılar ızgarası
Döndürürinteger-2d-array
İçinde 0 bulunan her satırın ve sütunun 0 olarak ayarlandığı matris

Kısıtlar

  • m == matrix.length ve n == matrix[i].length
  • 1 ≤ m, n ≤ 1000 ve m × n ≤ 5000
  • All m satır n değer tutar.
  • -1000 ≤ matrix[i][j] ≤ 1000

Örnekler

Girdi
matrix = [[3, 8, 1], [5, 0, 7], [2, 6, 4]]
Çıktı
[[3, 0, 1], [0, 0, 0], [2, 0, 4]]
Açıklama
Tek 0, 1. satırın 1. sütununda yer alıyor. 1. satırın tamamı sıfır oluyor; 1. sütun da aynı şekilde, böylece 8 ve 6 da 0 oluyor. Dört köşe de bu iki çizginin hiçbirinde yer almıyor ve değerlerini koruyor.
challenge icon

Ek soru

Aşağıdaki en iyi yaklaşımda iki ek boole değeri kullanılıyor. matrix[0][0] ilk satırı temsil edecek şekilde tek bir boole değeriyle yetinebilir misin?

Kodu sıfırla
def setZeroes(matrix):
    # Kodu buraya yazın

Test #1

Test #2

Argüman

matrix = [[3, 8, 1], [5, 0, 7], [2, 6, 4]]

Beklenen Çıktı

[[3, 0, 1], [0, 0, 0], [2, 0, 4]]