//判斷第一列是否有0
for(
int i=
0;i++i)
if(matrix[i][0
]==0)
//如果某個元素為0,則將所在行所在列的第乙個元素置為0
for(
int i=
1;i++i)
for(
int j=
1;j++j)
if(matrix[i]
[j]==0)
//遍歷,如果所在行或列的第乙個元素為0,則置為0
for(
int i=
1;i++i)
for(
int j=
1;j++j)
if(matrix[i][0
]==0|| matrix[0]
[j]==0)
matrix[i]
[j]=0;
//如果第一行有0,則全部第一行全部置為0
if(firstrow)
for(
int j=
0;j++j)
matrix[0]
[j]=0;
//如果第一列有0,則全部第一列全部置為0
if(firstcol)
for(
int i=
0;i++i)
matrix[i][0
]=0;
return
;}
73 矩陣置零
方法1 賦值另存乙個m n的矩陣,在原矩陣為零的值相應置新的矩陣行和列為零。額外空間為o m n o m n o m n 方法2 兩個陣列,bool m 和 bool n 分別存某行有零,後者某列有零。之後根據陣列值將原矩陣相應位置置零。額外空間o m n o m n o m n 方法3 看來許久才...
73 矩陣置零
題目.middle 要想不使用額外空間,那麼就需要將標誌位設在原來的資料上面,這裡就把第一行和第一列用來儲存改行或者該列是否有0 的標誌,這樣原來是否是0就被覆蓋了,所以需要兩個標誌記錄下來 package main import fmt func setzeroes matrix int rows...
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,...