Trouver le motif
Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 92 sur 93.
Défi
MoyenÉcrivez une fonction findPattern qui prend text et pattern et renvoie l’index de départ de la première occurrence de pattern dans le texte.
Parcourez le texte pour trouver où le pattern apparaît pour la première fois. S’il est trouvé, renvoyez son index de départ basé sur 0. Si le pattern n’existe pas dans le texte, renvoyez -1.
Logique :
- Parcourez les positions de départ possibles dans le texte
- À chaque position, vérifiez si la sous-chaîne correspond au pattern
- Renvoyez l’index dès qu’une correspondance est trouvée
- Si aucune correspondance n’est trouvée après avoir vérifié toutes les positions, renvoyez
-1
Paramètres :
text(String) : Le texte dans lequel effectuer la recherchepattern(String) : Le pattern à rechercher
Valeur renvoyée : L’index basé sur 0 où le pattern apparaît pour la première fois, ou -1 s’il n’est pas trouvé (Int)
Contraintes d’entrée : Un pattern vide correspond à l’index 0. Un pattern plus long que le texte ne produit aucune correspondance.
Essayez vous-même
fun findPattern(text: String, pattern: String): Int {
// Écrivez le code ici
}
Toutes les leçons de Fondamentaux
4Opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloAffectation augmentéeOpérateurs de comparaisonRécapitulatif - Mathématiques simples7E/S de base
Fonction PrintlnModèles de chaînesEntrée ReadLineConversion de typeRécapitulatif - Années avant la retraiteRécapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourArguments nommésValeurs par défautFonctions à expression uniqueRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation2Variables
Val ou VarInférence de typeNombresChaîne de caractèresBooléenConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Opérateurs logiques, partie 3Ternaire avec une expression ifRécapitulatif - Logique simple8Calculateur de partage d’addition
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Aperçu du jeuLa fonction FizzBuzz3Nullabilité
Qu’est-ce que la sécurité vis-à-vis de nullTypes nullableOpérateur d’appel sécuriséOpérateur ElvisBases des défis de fonctionsAssertion de non-nullitéRécapitulatif - Accès sécurisé6Prise de décision
Instruction IfIf - ElseIf comme expressionExpression WhenWhen avec des plagesRécapitulatif - Calculatrice simple9Boucles
Boucle ForBoucle WhileBoucle Do-WhileBreakContinuePlages dans les bouclesBoucle imbriquéeRécapitulatif - FactorielleRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Kotlin