Bu soru, bir tablodaki En Büyük Meydan'a benzer .
Meydan okuma
Dize veya dizi biçiminde 1ve 0dize biçiminde bir matris verildiğinde, tümünü içeren en büyük kare alt matrisinin alanını belirleyen bir işlev oluşturacaksınız ."xxxx,xxxxx,xxxx,xx.."["xxxx","xxxx","xxxx",...]1
Kare bir alt matris eşit genişlik ve yüksekliğe sahiptir ve işleviniz yalnızca en büyük alt matrisin alanını döndürmelidir 1.
Örneğin:
Verilen "10100,10111,11111,10010", bu aşağıdaki matrise benziyor:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
Kalın 1harflerin 2x2 boyutunda en büyük kare alt matrisini oluşturduğunu görebilirsiniz , böylece programınız 4 olan alanı döndürmelidir.
kurallar
- Alt matris eşit genişlik ve yükseklikte olmalıdır
- Alt matris yalnızca değerler içermelidir
1 - İşleviniz en büyük alt matrisin alanını döndürmelidir
- Hiçbir alt matris bulunamazsa,
1 - Alt matristeki alanını, alt matristeki sayısını sayarak
1hesaplayabilirsiniz
Test senaryoları
Giriş: "10100,10111,11111,10010" Çıkış: 4
Giriş: "0111,1111,1111,1111" Çıkış: 9
Giriş "0111,1101,0111" Çıkışı: 1
Bu kod golf, yani bayttaki en kısa cevap kazanır.