Maison >développement back-end >tutoriel php >Rendre deux tableaux égaux en inversant les sous-tableaux

Rendre deux tableaux égaux en inversant les sous-tableaux

王林
王林original
2024-08-05 19:35:49965parcourir

Make Two Arrays Equal by Reversing Subarrays

1460. Rendre deux tableaux égaux en inversant les sous-tableaux

Facile

Vous recevez deux tableaux d'entiers de longueur égale target et arr. En une seule étape, vous pouvez sélectionner n'importe quel sous-tableau non vide de l'arr et l'inverser. Vous êtes autorisé à effectuer un certain nombre de mesures.

Renvoyer true si vous pouvez rendre arr égal à la cible ou false sinon.

Exemple 1 :

  • Entrée : cible = [1,2,3,4], arr = [2,4,1,3]
  • Sortie : vrai
  • Explication : Vous pouvez suivre les étapes suivantes pour convertir l'arr en cible :
    1. Sous-tableau inversé [2,4,1], arr devient [1,4,2,3]
    2. Sous-tableau inversé [4,2], arr devient [1,2,4,3]
    3. Sous-tableau inversé [4,3], arr devient [1,2,3,4]
    4. Il existe plusieurs façons de convertir un arr en cible, ce n'est pas la seule façon de le faire.

Exemple 2 :

  • Entrée : cible = [7], arr = [7]
  • Sortie : vrai
  • Explication : arr est égal à la cible sans aucun revers.

Exemple 3 :

  • Entrée : cible = [3,7,9], arr = [3,7,11]
  • Sortie : faux
  • Explication : arr n'a pas la valeur 9 et il ne peut jamais être converti en cible.

Contraintes :

  • target.length == arr.length
  • 1 <= target.length <= 1000
  • 1 <= cible[i] <= 1000
  • 1 <= arr[i] <= 1000

Indice :

  1. Chaque élément de target doit avoir un élément correspondant dans arr, et s'il n'a pas d'élément correspondant, renvoyez false.
  2. Pour le résoudre facilement, vous pouvez trier les deux tableaux et vérifier s'ils sont égaux.

Solution :

Pour résoudre ce problème, nous pouvons suivre ces étapes :

  1. Vérifiez si les deux tableaux ont les mêmes éléments avec la même fréquence. Si c'est le cas, cela signifie qu'un tableau peut être transformé en l'autre en inversant les sous-tableaux. Trier les deux tableaux et les comparer est un moyen simple d'y parvenir.

Implémentons cette solution en PHP : 1460. Rendre deux tableaux égaux en inversant les sous-tableaux






Explication:

  1. Tri des tableaux : En triant à la fois target et arr, nous pouvons garantir que s'ils ont les mêmes éléments avec les mêmes fréquences, ils deviendront identiques après le tri.
  2. Comparaison des tableaux triés : Si la version triée de target est égale à la version triée de arr, cela signifie que arr peut être transformé en cible en inversant les sous-tableaux, car les éléments et leurs fréquences correspondent.

Points clés :

  • Tri : Cette étape garantit que nous pouvons comparer directement les éléments des deux tableaux.
  • Comparaison : Après le tri, une comparaison directe (==) suffit pour vérifier si les deux tableaux peuvent être rendus égaux grâce à des inversions de sous-tableaux.

Cette solution exploite les propriétés de tri et de comparaison de tableaux en PHP, la rendant à la fois simple et efficace.

Liens de contact

Si vous avez trouvé cette série utile, pensez à donner une étoile au référentiel sur GitHub ou à partager la publication sur vos réseaux sociaux préférés ?. Votre soutien signifierait beaucoup pour moi !

Si vous souhaitez du contenu plus utile comme celui-ci, n'hésitez pas à me suivre :

  • LinkedIn
  • GitHub

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