leetcode73矩陣置零

2022-04-03 14:28:26 字數 792 閱讀 2027

兩種方法時間複雜度都為o(mn)

用兩個容器儲存為0的行和列

class

solution }}

while(!rse.empty())

rse.erase(rse.begin());

}while(!cse.empty())

cse.erase(cse.begin());}}

};

對於第0行和第0列的資料如果有0,則標記isrow=true, iscol=true來記錄是否為0;

對於1~m行和1~n列的資料如果有0,則將其標註在第0行,第0列;即

i : 1~m-1

j:

1~n-1

if(matrix[i][j]==0

) matrix[i][

0]=0,matrix[0][j]=0;

c++ code:

class

solution

}for(int i=0;i)

}//標記1~n列是否為0,將結果放入第0行和第0列;

for(int i=1;i)}}

//先將1~n行列的值替換

for(int i=1;i)}}

for(int j=1;j)}}

//再替換0行和0列

if(isrow)

}if(iscol)}}

};

leetcode 73 矩陣置零

給定乙個 m x n 的矩陣,如果乙個元素為 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...

leetcode73 矩陣置零

給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 空間複雜度為o mn 的解法自不用多說,直接新建乙個和matrix等大小的矩陣,然後一行一行的掃,只...

leetcode 73 矩陣置零

給定乙個 m x n 的矩陣,如果乙個元素為 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...