Bu soru, bir tablodaki En Büyük Meydan'a benzer .
Meydan okuma
Dize veya dizi biçiminde 1
ve 0
dize 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 1
harflerin 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
1
hesaplayabilirsiniz
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.