Dans cette question, nous recevons une chaîne d'e-mail contenant les mots « point » et « at ». Nous devons les remplacer par les caractères "." et "@".
Remarque - Une adresse e-mail valide ne doit contenir qu'un seul caractère « @ ». Il doit contenir le caractère « @ » avant tout préfixe et le nom de domaine après. De plus, les e-mails valides peuvent contenir plusieurs caractères « . » De plus, les caractères « @ » et « . » ne doivent pas figurer au début ou à la fin de l'adresse e-mail.
Énoncé du problème – Étant donné une chaîne str contenant une adresse e-mail, la longueur de la chaîne est N. Nous devons raccourcir la chaîne en remplaçant "at" par le caractère "@" et "point" par le caractère "."
Entrez -str=”contactattutorialspointdotcom”
Sortie – contact@tutorialspoint.com
Notes - Nous avons remplacé le "at" et le point par les caractères "@" et "."
Entrez – str = « atatgmaildotcom »
Sortie – at@gmail.com
Notes– Les e-mails ne peuvent contenir qu'un seul « @ » et ne peuvent pas l'avoir au début, donc le résultat ressemble à celui ci-dessus
Dans cette méthode, nous vérifierons si l'e-mail contient la sous-chaîne "at" ou "point" du caractère actuel. Nous pouvons le remplacer par les caractères "@" et "."
Définissez la variable 'len' et stockez la longueur de la variable.
Définissez la variable 'minStr' et initialisez-la au premier caractère de la chaîne d'origine
Définissez la variable 'I' et initialisez-la à 1 pour l'utiliser dans la boucle. Définissez également la variable « isAtIn Included » et initialisez-la à false pour savoir si le caractère « @ » dans la chaîne a été inclus une fois.
Commencez à utiliser une boucle pour parcourir les chaînes.
Si i
Sinon, si I
Sinon, ajoutez le caractère actuel à la chaîne minStr
Renvoie la plus petite valeur de chaîne.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
1 |
|
Complexité temporelle - O(N) puisque nous parcourons la chaîne.
Complexité spatiale - O(N) car nous stockons des chaînes compressées.
Dans le code ci-dessus, nous ajoutons toujours le premier caractère à la chaîne minstr. Par conséquent, il n’ajoute jamais de caractères « @ » ou « ». De plus, les utilisateurs peuvent utiliser la méthode replace() pour remplacer "point" par "." et "at" par des caractères "@", mais les programmeurs doivent s'assurer qu'elle n'ajoute qu'un seul caractère "@" à la chaîne.
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!