916. Sous-ensembles de mots
Difficulté :Moyen
Sujets : Tableau, table de hachage, chaîne
Vous recevez deux tableaux de chaînes mots1 et mots2.
Une chaîne b est un sous-ensemble de la chaîne a si chaque lettre de b apparaît dans une multiplicité inclusive.
Une chaîne a de mots1 est universelle si pour chaque chaîne b dans mots2, b est un sous-ensemble de a.
Renvoie un tableau de toutes les chaînes universelles dans mots1. Vous pouvez renvoyer la réponse dans n'importe quel ordre.
Exemple 1 :
Exemple 2 :
Contraintes :
Solution :
Nous devons identifier les mots de mots1 qui sont « universels », ce qui signifie que chaque chaîne de mots2 est un sous-ensemble du mot de mots1.
Comptez la fréquence des caractères dans les mots2 :
Vérifiez chaque mot dans les mots1 :
Renvoyez les mots universels :
Implémentons cette solution en PHP : 916. Sous-ensembles de mots
Explication:
Création d'une carte de fréquence pour les mots2 : Nous parcourons chaque mot dans les mots2 et calculons la fréquence de chaque caractère. Nous gardons une trace de la fréquence maximale nécessaire pour chaque caractère dans tous les mots des mots2.
Vérification des mots1 Mots :Pour chaque mot des mots1, nous calculons la fréquence de chaque caractère et la comparons avec la fréquence requise des mots2. Si le mot répond aux exigences pour tous les caractères, il est considéré comme universel.
Résultat : Nous stockons tous les mots universels dans le tableau de résultats et le renvoyons à la fin.
Complexité temporelle :
Cette approche garantit que nous vérifions chaque mot efficacement et répond aux contraintes du problème.
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!