Diese Frage ähnelt dem größten Platz in einem Raster .
Herausforderung
Bei einer Matrix von 1
und 0
in einem Zeichenfolgen- "xxxx,xxxxx,xxxx,xx.."
oder Array-Format ["xxxx","xxxx","xxxx",...]
erstellen Sie eine Funktion, die den Bereich der größten quadratischen Submatrix bestimmt, die alle enthält 1
.
Eine quadratische Submatrix hat die gleiche Breite und Höhe, und Ihre Funktion sollte den Bereich der größten Submatrix zurückgeben, die nur enthält 1
.
Beispielsweise:
Gegeben "10100,10111,11111,10010"
, das sieht aus wie die folgende Matrix:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
Sie können sehen, dass die Fettschrift 1
die größte quadratische Submatrix der Größe 2x2 erstellt, sodass Ihr Programm den Bereich zurückgeben sollte, der 4 ist.
Regeln
- Die Submatrix muss gleich breit und hoch sein
- Die Submatrix darf nur Werte enthalten
1
- Ihre Funktion muss den Bereich der größten Submatrix zurückgeben
- Falls keine Submatrix gefunden wird, kehren Sie zurück
1
- Sie können die Fläche der Submatrix berechnen, indem Sie die Anzahl
1
der Submatrix zählen
Testfälle
Eingabe: "10100,10111,11111,10010"
Ausgabe: 4
Eingabe: "0111,1111,1111,1111"
Ausgabe: 9
Eingabe "0111,1101,0111"
Ausgabe: 1
Dies ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.