73 矩陣置零

2021-10-01 18:52:20 字數 915 閱讀 4383

題目.

middle

要想不使用額外空間,那麼就需要將標誌位設在原來的資料上面,這裡就把第一行和第一列用來儲存改行或者該列是否有0 的標誌,這樣原來是否是0就被覆蓋了,所以需要兩個標誌記錄下來

package main

import

"fmt"

func

setzeroes

(matrix [

]int

) rows, cols :=

len(matrix)

,len

(matrix[0]

) rowzero, colzero :=

false

,false

for i :=

0; i < rows; i++

}for j :=

0; j < cols; j++

}for i :=

1; i < rows; i++}}

for i :=

1; i < rows; i++}}

for j :=

1; j < cols; j++}}

if rowzero

}if colzero }}

func

main()

,,,}

setzeroes

(matrix)

fmt.

println

(matrix)

}

o(m*n)

o(1)

執行用時 :

32 ms

, 在所有 golang 提交中擊敗了

6.45%

的使用者記憶體消耗 :

6.1 mb

, 在所有 golang 提交中擊敗了

100.00%

的使用者

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 矩陣置零

題目描述 給定乙個 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,...

73 矩陣置零

給定乙個 m x n 的矩陣,如果乙個元素為 0 則將其所在行和列的所有元素都設為 0 請使用 原地 演算法。高階 乙個直觀的解決方案是使用 o mn 的額外空間,但這並不是乙個好的解決方案。乙個簡單的改進方案是使用 o m n 的額外空間,但這仍然不是最好的解決方案。你能想出乙個僅使用常量空間的解...