Saya telah menemukan banyak pertanyaan yang menanyakan tentang cara mencari persegi panjang terbesar yang bersebelahan dalam larik 2D, dan ada pula yang menanyakan jumlah persegi panjang, tetapi hanya satu yang berhubungan dengan mencari koordinat, lebar, dan tinggi semua persegi panjang yang diperlukan. mencakup area seluas 1s dalam 2D 1s dan 0s.
Pertanyaannya (Menemukan persegi panjang dalam kisi blok 2d) memiliki solusinya tetapi sulit untuk diikuti karena merujuk pada blok kode eksternal.
Saya berurusan dengan array 2D yang membentuk piksel huruf:
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
Output yang diinginkan di sini adalah seperti:
[[4,0,6,17],[7,0,16,2],[7,7,15,9],[7,15,15,17]]
Di mana setiap larik berisi koordinat kiri atas dan koordinat kanan bawah (metode apa pun yang mendapatkan kiri atas serta lebar dan tinggi juga berfungsi).
Bisakah seseorang memberikan psudocode (atau Javascript) untuk pertanyaan yang diajukan sebelumnya atau algoritma lain yang berfungsi, atau memberikan penjelasan lebih mendalam tentang langkah-langkah yang diperlukan?