Dies ist eine zweidimensionale Version dieser Frage .
Bei einem nicht leeren zweidimensionalen Array / einer Matrix, die nur nicht negative ganze Zahlen enthält:
Das Array mit entfernten umgebenden Nullen ausgeben, dh das größte zusammenhängende Subarray ohne umgebende Nullen:
Beispiele:
Input:
[[0, 0, 0, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1], [0, 0, 1, 1, 1], [0, 0, 0, 0, 0]]
Output:
[[0, 1, 0], [0, 0, 1], [1, 1, 1]]
Input:
[[0, 0, 0, 0], [0, 0, 0, 3], [0, 0, 0, 0], [0, 5, 0, 0], [0, 0, 0, 0]]
Output:
[[0, 0, 3], [0, 0, 0], [5, 0, 0]]
Input:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Output:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Input:
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
Output:
[]
Input:
[[0, 0, 0, 0], [1, 1, 1, 1], [0, 0, 0, 0]]
Output:
[[1, 1, 1, 1]]
Input:
[[0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0]]
Output:
[[1], [1], [1]]
Input:
[[1, 1, 1, 1], [1, 2, 3, 1], [1, 1, 1, 1]]
Output:
[[1, 1, 1, 1], [1, 2, 3, 1], [1, 1, 1, 1]]
[[0, 0, 0, 0], [0, 0, 0, 0], [1, 1, 1, 1], [0, 0, 0, 0]]
(das Ergebnis hat eine Breite / Höhe von 1
)
:)
Nur schwer, es kurz zu machen.