1277. Kira Submatriks Square dengan Semua Satu
Kesukaran: Sederhana
Topik: Tatasusunan, Pengaturcaraan Dinamik, Matriks
Diberikan m * n matriks satu dan sifar, kembalikan berapa banyak persegi submatriks mempunyai semua satu.
Contoh 1:
Contoh 2:
Kekangan:
Petunjuk:
Penyelesaian:
Kita boleh menggunakan Pengaturcaraan Dinamik (DP) untuk menjejaki bilangan submatriks segi empat sama dengan semua yang boleh berakhir pada setiap sel dalam matriks. Inilah pendekatan untuk mencapai matlamat ini:
Definisi Matriks DP:
Formula Peralihan:
Untuk setiap sel (i, j) dalam matriks:
dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + 1
- If `matrix[i][j]` is 0, `dp[i][j]` will be 0 because a square of ones cannot end at a cell with a zero.
Kira Semua Petak:
Kerumitan Masa:
Mari laksanakan penyelesaian ini dalam PHP: 1277. Kira Submatriks Square dengan Semua Satu
dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + 1
Penyelesaian ini cekap dan memenuhi kekangan yang disediakan dalam masalah.
Pautan Kenalan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Atas ialah kandungan terperinci Kira Submatriks Square dengan Semua Satu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!