implementer la methode Encode[string plainText) qui renvoie un message encodé. Elle recoit un parametre plainText qui est une chaine de caractere par exemple aaaabcccaaa . Vous devez l'encoder en comptant les occurrences consécituve de chaque lettre, par exemple dans aaaabcccaaa iil ya 4 fois la lettre a, puis 1 b, puis 3 c, puis 3 a. Par consequent, vous devez retourner la chaine 4a1b3c3a. Contraines: plainText est une chaine de caractere en miniscule entre a et z. plainText n'est jamais null et a une taille maximale de 15000 caracteres
public class Solution
{
public static string Encode(string plainText)
{
if (plainText.Length == 0) return "";
char currentChar = plainText[0];
int count = 1;
var encodedText = new System.Text.StringBuilder();
// Parcours de la chaîne en commençant par le deuxième caractère
for (int i = 1; i < plainText.Length; i++)
{
if (plainText[i] == currentChar)
{
count++; // Incrémente le compteur si le caractère est identique au précédent
}
else
{
// Ajoute le caractère et son compteur à la chaîne encodée
encodedText.Append(count).Append(currentChar);
currentChar = plainText[i];
count = 1; // Réinitialise le compteur pour le nouveau caractère
}
}
// Ajoute le dernier caractère et son compteur
encodedText.Append(count).Append(currentChar);
return encodedText.ToString();
}
}
Aucun commentaire:
Enregistrer un commentaire