لیٹ کوڈ Mat میٹرکس کے زیرو سیٹ کریں

Leetcode Set Matrix Zeroes



ایم x این میٹرکس دیئے ، اگر عنصر 0 ہے تو ، اس کی پوری قطار اور کالم کو 0 پر سیٹ کریں۔ اسے جگہ جگہ کریں۔

  • مثال 1:
    ان پٹ:
    [
    [1،1،1] ،
    [1،0،1] ،
    [1،1،1]
    ]
    آؤٹ پٹ:
    [
    [1،0،1] ،
    [0،0،0] ،
    [1،0،1]
    ]
  • مثال 2:
    ان پٹ:
    [
    [0،1،2،0] ،
    [3،4،5،2]،
    [1،3،1،5]
    ]
    آؤٹ پٹ:
    [
    [0،0،0،0] ،
    [0.4،5،0] ،
    [0،3،1،0]
    ]
  • پیروی کریں:
    او (ایم این) اسپیس کا استعمال کرتے ہوئے سیدھا سیدھا آگے بڑھانا شاید برا خیال ہے۔
    ایک معمولی بہتری میں O (m + n) جگہ استعمال ہوتی ہے ، لیکن پھر بھی بہترین حل نہیں ہے۔
    کیا آپ مستقل جگہ حل تلاش کرسکتے ہیں؟
class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: ''' Do not return anything, modify matrix in-place instead. ''' if not matrix: return n,m,k=len(matrix),len(matrix[0]),0 while k<m and matrix[0][k]: k=k+1 for i in range(1,n): for j in range(m): if not matrix[i][j]: matrix[i][0]=matrix[0][j]=0 for i in range(1,n): for j in range(m-1,-1,-1): if not matrix[i][0] or not matrix[0][j]: matrix[i][j]=0 if k<m: matrix[0]=[0]*m