Rumah > hujung hadapan web > tutorial js > 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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-09-05 11:05:07
ke hadapan
1006 orang telah melayarinya

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

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 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