Diese Frage ähnelt dem größten Platz in einem Raster .
Herausforderung
Bei einer Matrix von 1und 0in 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 1die 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
1der 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.