Maison  >  Article  >  interface Web  >  Le programme JavaScript trouve le M-ième élément après K fois le tableau tournant à droite

Le programme JavaScript trouve le M-ième élément après K fois le tableau tournant à droite

WBOY
WBOYavant
2023-09-05 11:05:07856parcourir

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

Nous écrivons un programme JavaScript pour trouver le mème élément d'un tableau tourné k fois à droite. Tout d’abord, nous prendrons l’entrée des tableaux m et k. Nous utiliserons ensuite une boucle pour effectuer la bonne rotation. A chaque itération de la boucle, on déplace le dernier élément du tableau vers la première position. Nous allons continuer cette boucle k fois pour obtenir le tableau pivoté. Enfin, nous renverrons le mième élément du tableau pivoté comme résultat.

Méthode

La méthode pour trouver le m-ème élément après avoir fait pivoter le tableau k fois vers la droite peut être décomposée comme suit -

  • Calculez la position réelle du m-ème élément après k rotations, c'est-à-dire (m-k) % n, où n est la longueur du tableau.

  • Vérifiez si la position calculée est négative, auquel cas elle peut être convertie en position positive en ajoutant n.

  • Renvoie l'élément à la position calculée dans le tableau.

  • Pour optimiser cette solution, vous pouvez utiliser l'opérateur modulo pour maintenir la position calculée dans la plage du tableau, vous n'avez donc pas besoin de vérifier les valeurs négatives.

  • La complexité temporelle de cette solution est O(1) puisque le calcul de la position finale et la récupération de l'élément à cette position sont des opérations à temps constant.

  • La complexité spatiale est O(1) puisqu'aucune structure de données supplémentaire n'est utilisée dans la solution.

Exemple

Ceci est un exemple de programme JavaScript qui trouve le mième élément après avoir fait pivoter un tableau k fois vers la droite

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

Instructions

    La fonction
  • findElement accepte un tableau arr, le nombre de rotations k et le mième élément à trouver. p>

  • La ligne
  • k = k % arr.length calcule le nombre réel de rotations effectuées sur le tableau après avoir traité de grandes valeurs k. Ceci est dû au fait que la rotation du tableau au-delà de sa longueur ne change pas sa position, donc prendre k modulo la longueur du tableau nous donne le nombre réel de rotations effectuées.

  • Ligne return arr[(arr.length - k + m - 1) % arr.length];Calculez la position du m-ième élément après k rotations. L'expression arr.length - k donne la position de départ du tableau après k rotations, puis + m - 1 donne la position du m-ème élément, et enfin en prenant modulo la longueur du tableau garantit que la position s'enroule autour la fin du tableau lorsqu'elle est hors de portée.

  • Enfin, le programme appelle la fonction findElement et enregistre le résultat. Dans cet exemple, la sortie sera 4.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer