Dalam JavaScript, menentukan sama ada tatasusunan simetri ialah masalah biasa. Tatasusunan simetri bermakna bermula dari paksi pusat tatasusunan dan memanjang ke kedua-dua hujungnya, boleh didapati bahawa unsur-unsur pada kedudukan yang sepadan adalah sama.
Jadi bagaimana untuk menentukan sama ada tatasusunan adalah simetri? Berikut ialah dua kaedah biasa:
Kaedah 1: Gunakan gelung
Mula-mula cari kedudukan tengah tatasusunan, iaitu separuh panjang tatasusunan. Seterusnya, gunakan gelung untuk membandingkan sama ada elemen pada kedudukan yang sepadan adalah sama bermula dari kedudukan permulaan tatasusunan sehingga kedudukan tengah. Jika terdapat unsur yang tidak sama rata, anda boleh mengembalikan palsu, jika tidak mengembalikan benar.
Berikut ialah kod sampel:
function isSymmetric(arr) { const len = arr.length; for (let i = 0; i < len / 2; i++) { if (arr[i] !== arr[len - 1 - i]) { return false; } } return true; }
Kerumitan masa kaedah ini ialah O(n/2), iaitu O(n), kerana hanya separuh daripada tatasusunan memerlukan untuk dilalui.
Apabila menggunakan kaedah ini, sila ambil perhatian bahawa jika panjang tatasusunan ialah nombor ganjil, elemen di kedudukan tengah tidak perlu dibandingkan, kerana ia mestilah simetri.
Kaedah 2: Gunakan kaedah terbalik
Objek tatasusunan dalam JavaScript mempunyai kaedah terbalik, yang boleh membalikkan tatasusunan. Jika tatasusunan adalah simetri, maka hasil terbaliknya mestilah sama dengan tatasusunan asal.
Berikut ialah kod sampel:
function isSymmetric(arr) { return arr.join('') === arr.reverse().join(''); }
Kerumitan masa kaedah ini ialah O(n), kerana hanya kaedah cantum dan kaedah songsang perlu dipanggil dua kali.
Apabila menggunakan kaedah ini, sila ambil perhatian bahawa tatasusunan asal akan ditukar, kerana kaedah terbalik akan mengubah suai tatasusunan asal. Jika anda tidak mahu mengubah suai tatasusunan asal, anda boleh menggunakan kaedah hirisan untuk membuat salinan dan membalikkannya.
Tidak kira kaedah yang digunakan, menentukan sama ada tatasusunan adalah simetri ialah soalan yang mudah, tetapi ini boleh membantu kami memperdalam pemahaman kami tentang tatasusunan JavaScript. Apabila kita perlu melakukan pelbagai operasi pada tatasusunan, mempunyai pemahaman yang jelas tentang simetri unsur dalaman tatasusunan boleh meningkatkan kecekapan pengaturcaraan kami.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada tatasusunan adalah simetri dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!