To pytanie jest podobne do największego kwadratu w siatce .
Wyzwanie
Biorąc pod uwagę macierz 1iw 0formacie łańcuchowym "xxxx,xxxxx,xxxx,xx.."lub tablicowym ["xxxx","xxxx","xxxx",...], utworzysz funkcję, która określa obszar największej kwadratowej submatrix zawierającej wszystko 1.
Kwadratowa submatrix ma taką samą szerokość i wysokość, a twoja funkcja powinna zwrócić obszar największej submatrix, który zawiera tylko 1.
Na przykład:
Biorąc pod uwagę "10100,10111,11111,10010", wygląda to następująco:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
Możesz zobaczyć pogrubioną czcionkę, która 1tworzy największą kwadratową submatrix o rozmiarze 2x2, więc twój program powinien zwrócić obszar o wartości 4.
Zasady
- Submatrix musi mieć taką samą szerokość i wysokość
- Podmacierz musi zawierać tylko wartości
1 - Twoja funkcja musi zwrócić obszar największej submatrix
- Jeśli nie zostanie znaleziona submatrix, zwróć
1 - Możesz obliczyć obszar submatrix, licząc liczbę
1w submatrix
Przypadki testowe
Wejście: "10100,10111,11111,10010" Wyjście: 4
Wejście: "0111,1111,1111,1111" Wyjście: 9
Dane "0111,1101,0111" wyjściowe: 1
To jest golf-golf, więc wygrywa najkrótsza odpowiedź w bajtach.