2559. Compter les chaînes de voyelles dans les plages
Difficulté :Moyen
Sujets : Tableau, chaîne, somme de préfixe
Vous recevez un tableau indexé à 0 de mots de chaînes et un tableau 2D de requêtes d'entiers.
Chaque requête requêtes[i] = [li, ri] nous demande de trouver le nombre de chaînes présentes dans la plage li à ri (tous deux inclus) de mots qui commencent et se terminent par une voyelle.
Renvoyer un tableau ans de taille requêtes.length, où ans[i] est la réponse à la iième requête.
Notez que les voyelles sont 'a', 'e', 'i', 'o' et 'u'.
Exemple 1 :
Exemple 2 :
Contraintes :
Indice :
Solution :
Nous pouvons suivre ces étapes :
Implémentons cette solution en PHP : 2559. Compter les chaînes de voyelles dans les plages
Explication:
Fonction isVowelString :
- Vérifie si le premier et le dernier caractères de la chaîne sont des voyelles.
- Utilise in_array pour déterminer si les caractères sont dans la liste prédéfinie de voyelles.
Tableau de somme de préfixes :
- prefixSum[i] stocke le nombre cumulé de chaînes de voyelles jusqu'à l'index i-1.
- Si le mot actuel satisfait à la condition, incrémentez le décompte.
Résolution des requêtes :
- Pour une plage [l, r], le nombre de chaînes de voyelles est prefixSum[r 1] - prefixSum[l].
Efficacité :
- La construction du tableau de somme de préfixes prend O(n), où n est le nombre de mots.
- La résolution de chaque requête prend O(1), ce qui rend la complexité globale O(n q), où q est le nombre de requêtes.
Cas extrêmes :
Cette approche gère efficacement les 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!