Rumah  >  Artikel  >  hujung hadapan web  >  Program JavaScript mencari elemen ke-M selepas tatasusunan berputar ke kanan K kali

Program JavaScript mencari elemen ke-M selepas tatasusunan berputar ke kanan K kali

WBOY
WBOYke hadapan
2023-09-05 11:05:07925semak imbas

JavaScript 程序在数组右旋转 K 次后查找第 M 个元素

Kami sedang menulis atur cara JavaScript untuk mencari elemen mth tatasusunan yang diputar ke kanan k kali. Pertama, kita akan mengambil input tatasusunan m dan k. Kami kemudian akan menggunakan gelung untuk melakukan putaran yang betul. Pada setiap lelaran gelung, kami mengalihkan elemen terakhir tatasusunan ke kedudukan pertama. Kami akan meneruskan gelung ini k kali untuk mendapatkan tatasusunan yang diputar. Akhir sekali, kami akan mengembalikan elemen mth tatasusunan yang diputar sebagai hasilnya.

Kaedah

Kaedah mencari elemen ke-m selepas memutar kanan tatasusunan k kali boleh diuraikan seperti berikut -

  • Kira kedudukan sebenar unsur m-th selepas k putaran, iaitu, (m-k) % n, dengan n ialah panjang tatasusunan.

  • Semak sama ada kedudukan yang dikira adalah negatif, dalam kes ini ia boleh ditukar kepada kedudukan positif dengan menambah n.

  • Mengembalikan elemen pada kedudukan yang dikira dalam tatasusunan.

  • Untuk mengoptimumkan penyelesaian ini, anda boleh menggunakan operator modulo untuk mengekalkan kedudukan yang dikira dalam julat tatasusunan, jadi anda tidak perlu menyemak nilai negatif.

  • Kerumitan masa penyelesaian ini ialah O(1) kerana mengira kedudukan akhir dan mendapatkan semula elemen pada kedudukan itu ialah operasi masa yang tetap.

  • Kerumitan ruang ialah O(1) kerana tiada struktur data tambahan digunakan dalam penyelesaian.

Contoh

Ini ialah contoh atur cara JavaScript yang mencari elemen mth selepas memutar kanan tatasusunan k kali

function findElement(arr, k, m) {
   k = k % arr.length; // handling large k values
   return arr[(arr.length - k + m - 1) % arr.length];
}
let arr = [1, 2, 3, 4, 5];
let k = 2;
let m = 3;
console.log(findElement(arr, k, m));

Arahan

    Fungsi
  • findElement menerima tatasusunan arr, bilangan putaran k dan elemen ke-0 yang akan ditemui. p>

  • Garis
  • k = k % arr.length mengira bilangan putaran sebenar yang dilakukan pada tatasusunan selepas memproses nilai k yang besar. Ini dilakukan kerana memutar tatasusunan melebihi panjangnya tidak mengubah kedudukannya, jadi mengambil k modulo panjang tatasusunan memberikan kita bilangan putaran sebenar yang dilakukan.

  • Garis kembali arr[(arr.panjang - k + m - 1) % arr.panjang];Kira kedudukan unsur ke-m selepas k putaran. Ungkapan arr.length - k memberikan kedudukan permulaan tatasusunan selepas k putaran, kemudian + m - 1 memberikan kedudukan elemen ke-m, dan akhirnya mengambil modulo panjang tatasusunan memastikan kedudukan itu melilit hujung tatasusunan apabila di luar julat.

  • Akhir sekali, program memanggil fungsi findElement dan merekodkan hasilnya. Dalam contoh ini, output akan menjadi 4.

Atas ialah kandungan terperinci Program JavaScript mencari elemen ke-M selepas tatasusunan berputar ke kanan K kali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam