Це питання схоже на Найбільший квадрат у сітці .
Виклик
Давши матрицю 1та 0у рядковому форматі "xxxx,xxxxx,xxxx,xx.."або у форматі масиву ["xxxx","xxxx","xxxx",...], ви створите функцію, яка визначає область найбільшої квадратної підматриці, яка містить усі 1.
Квадратна підматриця - однакова ширина і висота, і ваша функція повинна повертати область найбільшої підматриці, яка містить тільки 1.
Наприклад:
Враховуючи "10100,10111,11111,10010"це, виглядає наступна матриця:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
Ви можете побачити жирним шрифтом 1створити найбільшу квадратну підматрицю розміром 2x2, тому ваша програма повинна повернути область, яка дорівнює 4.
Правила
- Підматриця повинна бути однакової ширини та висоти
- Підматриця повинна містити лише значення
1 - Ваша функція повинна повертати область найбільшої підматриці
- Якщо підматриця не знайдена, поверніться
1 - Ви можете обчислити площу підматриці, підрахувавши число
1в підматриці
Тестові справи
Вхід: "10100,10111,11111,10010" Вихід: 4
Вхід: "0111,1111,1111,1111" Вихід: 9
Вхідний "0111,1101,0111" вихід: 1
Це є код-гольф, тому найкоротша відповідь у байтах виграє.