dimanche 7 avril 2024

determiner l'indice de base zero de la premieres occurrence de x dans s

etant donne s et x, determiner l'indice de base zero de la premieres occurrence de x dans s. La chaine s se compose de lettres miniscules dans la plage ascii (a-z). la chaine x se compose de lettres minuscules et peut egalement contenir un seul caractere generique "*" qui represente n'importe quel caractere. exemple, s = "xabcdey" et x="ab*de" la premiere correspondance est a l'index 1. exemple 2, S = "xabcdey" et x="ab*fe" retourner - 1

======================

using System; public class Solution { public int FirstOccurrence(string s, string x) { for (int i = 0; i <= s.Length - x.Length; i++) { if (Match(s, i, x)) { return i; } } return -1; } private bool Match(string s, int startIndex, string x) { for (int i = 0; i < x.Length; i++) { if (x[i] == '*') continue; if (startIndex + i >= s.Length || s[startIndex + i] != x[i]) { return false; } } return true; } } class Program { static void Main(string[] args) { // Exemple d'utilisation string s1 = "xabcdey"; string x1 = "ab*de"; string s2 = "xabcdey"; string x2 = "ab*fe"; Solution solution = new Solution(); int result1 = solution.FirstOccurrence(s1, x1); int result2 = solution.FirstOccurrence(s2, x2); Console.WriteLine("Première occurrence de x1 dans s1 : " + result1); Console.WriteLine("Première occurrence de x2 dans s2 : " + result2); } }


Aucun commentaire:

Enregistrer un commentaire