Cette question est similaire à Biggest Square dans une grille .
Défi
Étant donné une matrice de 1et 0dans un format de chaîne "xxxx,xxxxx,xxxx,xx.."ou un format de tableau ["xxxx","xxxx","xxxx",...], vous allez créer une fonction qui détermine la zone de la plus grande sous-matrice carrée qui contient tout 1.
Une sous-matrice carrée est une largeur et une hauteur égales, et votre fonction doit renvoyer la zone de la plus grande sous-matrice qui contient uniquement 1.
Par exemple:
Étant donné "10100,10111,11111,10010", cela ressemble à la matrice suivante:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
Vous pouvez voir les caractères gras 1créer la plus grande sous-matrice carrée de taille 2x2, donc votre programme doit retourner la zone qui est 4.
Règles
- La sous-matrice doit avoir une largeur et une hauteur égales
- La sous-matrice doit contenir uniquement des valeurs
1 - Votre fonction doit renvoyer la zone de la plus grande sous-matrice
- Si aucune sous-matrice n'est trouvée, retournez
1 - Vous pouvez calculer l'aire de la sous-matrice en comptant le nombre de
1dans la sous-matrice
Cas de test
Entrée: "10100,10111,11111,10010" Sortie: 4
Entrée: "0111,1111,1111,1111" Sortie: 9
Sortie d' entrée "0111,1101,0111" : 1
C'est le code-golf , donc la réponse la plus courte en octets gagne.