Maison >interface Web >Questions et réponses frontales >Comment déterminer si un tableau est symétrique en javascript

Comment déterminer si un tableau est symétrique en javascript

PHPz
PHPzoriginal
2023-04-24 15:51:02978parcourir

En JavaScript, déterminer si un tableau est symétrique est un problème courant. Un réseau symétrique signifie qu'en partant de l'axe central du réseau et en s'étendant jusqu'aux deux extrémités, on peut constater que les éléments aux positions correspondantes sont égaux.

Alors, comment déterminer si un tableau est symétrique ? Voici deux méthodes courantes :

Méthode 1 : utiliser une boucle

Trouvez d'abord la position centrale du tableau, qui correspond à la moitié de la longueur du tableau. Ensuite, utilisez une boucle pour comparer si les éléments aux positions correspondantes sont égaux à partir de la position de départ du tableau jusqu'à la position centrale. S'il y a des éléments inégaux, vous pouvez renvoyer false, sinon renvoyer true.

Voici un exemple de code :

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

La complexité temporelle de cette méthode est O(n/2), qui est O(n), car seule la moitié du tableau doit être parcourue.

Lorsque vous utilisez cette méthode, veuillez noter que si la longueur du tableau est un nombre impair, l'élément en position centrale n'a pas besoin d'être comparé, car il doit être symétrique.

Méthode 2 : Utilisez la méthode inverse

L'objet tableau en JavaScript a une méthode inverse qui peut inverser le tableau. Si un tableau est symétrique, alors son résultat inversé doit être égal au tableau d'origine.

Ce qui suit est un exemple de code :

function isSymmetric(arr) {
  return arr.join('') === arr.reverse().join('');
}

La complexité temporelle de cette méthode est O(n), car seules la méthode join et la méthode reverse doivent être appelées deux fois.

Lorsque vous utilisez cette méthode, veuillez noter que le tableau d'origine sera modifié, car la méthode inverse modifiera le tableau d'origine. Si vous ne souhaitez pas modifier le tableau d'origine, vous pouvez utiliser la méthode slice pour créer une copie et l'inverser.

Quelle que soit la méthode utilisée, déterminer si un tableau est symétrique est une question simple, mais cela peut nous aider à approfondir notre compréhension des tableaux JavaScript. Lorsque nous devons effectuer diverses opérations sur des tableaux, avoir une compréhension claire de la symétrie des éléments internes du tableau peut améliorer l’efficacité de notre programmation.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn