Menu
CoddyTech

Permutation in String

Une permutation d’une chaîne utilise les mêmes lettres, dans n’importe quel ordre, chacune autant de fois que dans la chaîne d’origine : tar, rat et art sont des permutations les unes des autres. On vous donne deux chaînes s1 et s2 composées de lettres minuscules anglaises. Renvoyez true si une permutation de s1 apparaît dans s2 sous forme de sous-chaîne (une suite de caractères consécutifs), et false sinon.

Fonction

checkInclusion(s1: string, s2: string) → boolean
s1string
les lettres à réarranger
s2string
la chaîne dans laquelle effectuer la recherche
Renvoieboolean
vrai si une sous-chaîne de s2 est une permutation de s1

Contraintes

  • 1 ≤ s1.length ≤ 2 × 104
  • 1 ≤ s2.length ≤ 5 × 104
  • s1 et s2 ne contiennent que des lettres minuscules de l’alphabet anglais (a à z).
  • s1 peut être plus long que s2.

Exemples

Entrée
s1 = "tar"s2 = "smartphone"
Sortie
true
Explication
La sous-chaîne art aux indices 2 à 4 de smartphone contient un a, un r et un t, les mêmes lettres que tar.

lock icon+17 tests cachés à la soumission

challenge icon

Pour aller plus loin

Peux-tu renvoyer chaque indice de s2 où commence une permutation de s1, toujours en temps O(m + n) ?

Réinitialiser le code
def checkInclusion(s1, s2):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

s1 = "tar"
s2 = "smartphone"

Attendu

true