1346. Vérifiez si N et son double existent
Difficulté :Facile
Sujets : Tableau, table de hachage, deux pointeurs, recherche binaire, tri
Étant donné un tableau arr d'entiers, vérifier s'il existe deux indices i et j tels que :
Exemple 1 :
Exemple 2 :
Contraintes :
Indice :
Solution :
Nous pouvons utiliser une table de hachage (tableau associatif) pour suivre les éléments que nous avons déjà rencontrés lors de l'itération dans le tableau. L'idée est de vérifier pour chaque élément arr[i] si son double (c'est-à-dire 2 * arr[i]) ou sa moitié (c'est-à-dire arr[i] / 2 si c'est un nombre pair) a déjà été rencontré.
Voici une solution étape par étape :
Implémentons cette solution en PHP : 1346. Vérifiez si N et son double existent
Explication:
- Hash Table : Nous utilisons le tableau associatif $hashTable pour stocker les éléments que nous avons rencontrés jusqu'à présent.
- Première Condition : Pour chaque élément arr[i], on vérifie si arr[i] * 2 existe dans la table de hachage.
- Deuxième condition : Si l'élément est pair, on vérifie si arr[i] / 2 existe dans la table de hachage.
- Ajout à la table de hachage : Après vérification, nous ajoutons arr[i] à la table de hachage pour référence future.
- Retour : Si nous trouvons une correspondance, nous renvoyons immédiatement vrai. Si aucune correspondance n'est trouvée après la boucle, nous renvoyons false.
Complexité temporelle :
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 :
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!