. Petak Ajaib Dalam Grid
840. Petak Ajaib Dalam Grid
Sederhana
Topik: Tatasusunan, Jadual Hash, Matematik, Matriks
3 x 3 segi ajaib ialah grid a3 x 3 yang diisi dengan nombor yang berbeza dari 1 hingga 9 supaya setiap baris, lajur dan kedua-dua pepenjuru semua mempunyai jumlah yang sama.
Memandangkan baris x kol grid integer, berapa banyak 3 x 3 subgrid ajaib segi empat tepat bersebelahan ada?
Nota: manakala segi empat sama ajaib hanya boleh mengandungi nombor dari 1 hingga 9, grid mungkin mengandungi nombor hingga 15.
Contoh 1:
- Input: grid = [[4,3,8,4],[9,5,1,9],[2,7,6,2]]
- Output: 1
- Penjelasan: Subgrid berikut ialah petak ajaib 3 x 3:
sedangkan yang ini bukan:
Secara keseluruhan, hanya terdapat satu petak ajaib di dalam grid yang diberikan.
Contoh 2:
- Input: grid = [[8]]
- Output: 0
Kekangan:
- baris == grid.panjang.
- col == grid[i].panjang
- 1 <= baris, kol <= 10
- 0 <= grid[i][j] <= 15
Penyelesaian:
Kita perlu mengira berapa banyak subgrid bersebelahan 3x3 dalam grid yang diberikan membentuk segi empat sama ajaib. Petak ajaib ialah grid 3x3 di mana semua baris, lajur dan kedua-dua pepenjuru dijumlahkan kepada nilai yang sama, dan ia mengandungi nombor yang berbeza dari 1 hingga 9.
Untuk menyelesaikan masalah ini, kita boleh ikuti langkah berikut:
-
Periksa sama ada Subgrid adalah Sihir:
- Subgrid mesti mengandungi semua nombor berbeza dari 1 hingga 9.
- Jumlah setiap baris, lajur dan pepenjuru hendaklah 15.
-
Lelaran melalui Grid:
- Memandangkan kami perlu menyemak subgrid 3x3, kami akan beralih daripada 0 kepada baris-2 untuk baris dan dari 0 kepada kol-2 untuk lajur.
- Untuk setiap sudut kiri atas subgrid 3x3, ekstrak subgrid dan semak sama ada ia adalah segi empat sama ajaib.
Mari laksanakan penyelesaian ini dalam PHP: 840. Petak Ajaib Dalam Grid
Penjelasan:
adalah fungsi Ajaib:
- Mengekstrak subgrid 3x3.
- Menyemak sama ada semua nombor adalah berbeza dan antara 1 hingga 9.
- Mensahkan bahawa jumlah baris, lajur dan pepenjuru adalah kesemuanya 15.
fungsi numMagicSquaresInside:
- Lelaran ke atas semua subgrid 3x3 yang mungkin dalam grid yang diberikan.
- Mengira berapa banyak subgrid itu ialah petak ajaib.
Kod ini berfungsi dengan cekap dalam kekangan, mengira semua subgrid persegi ajaib 3x3 dalam grid yang diberikan.
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:
- GitHub
Atas ialah kandungan terperinci . Petak Ajaib Dalam Grid. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Bekerja dengan Data Sesi Flash di Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Respons HTTP yang dipermudahkan dalam ujian Laravel

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon

Pengumuman Penyiasatan Situasi PHP 2025
