Bagaimana untuk menentukan sama ada tatasusunan adalah simetri dalam javascript

PHPz
Lepaskan: 2023-04-24 16:10:15
asal
867 orang telah melayarinya

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;
}
Salin selepas log masuk

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('');
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!