en C#, On 'a deux paramètres de type string "s" et "x", Nous devrons retourner la l'indice de la première occurrence de x sur s. the "x" may include a signle wildcard character '*' which matches any one character. Implementation function public static int firstOccurrence(string text, string searchPattern)
using System;
class Program
{
public static void Main(string[] args)
{
string text = "Bonjour tout le monde";
string searchPattern = "t*ut";
int index = firstOccurrence(text, searchPattern);
Console.WriteLine($"L'indice de la première occurrence de \"{searchPattern}\" dans \"{text}\" est : {index}");
}
public static int firstOccurrence(string text, string searchPattern)
{
if (string.IsNullOrEmpty(text) || string.IsNullOrEmpty(searchPattern))
return -1; // Entrée invalide.
int textLength = text.Length;
int patternLength = searchPattern.Length;
if (patternLength > textLength)
return -1; // Le motif ne peut pas être trouvé si sa longueur dépasse celle du texte.
// Parcourir le texte avec une fenêtre de la taille du motif
for (int i = 0; i <= textLength - patternLength; i++)
{
bool match = true;
for (int j = 0; j < patternLength; j++)
{
// Vérifier la correspondance ou le caractère générique '*'
if (searchPattern[j] != '*' && text[i + j] != searchPattern[j])
{
match = false;
break;
}
}
if (match)
return i; // Retourner l'indice de la première correspondance.
}
return -1; // Aucune correspondance trouvée.
}
}
Aucun commentaire:
Enregistrer un commentaire