Menu
CoddyTech

Partition Labels

Vous disposez d’une chaîne s composée de lettres minuscules. Découpez-la en autant de parties consécutives que possible, de sorte que chaque lettre n’apparaisse que dans une seule partie : si une lettre apparaît dans une partie, toutes ses occurrences doivent se trouver dans cette partie. Retournez les longueurs des parties de gauche à droite.

Fonction

partitionLabels(s: string) → integer-array
sstring
la chaîne à découper, lettres minuscules uniquement
Renvoieinteger-array
la longueur de chaque partie, de gauche à droite

Contraintes

  • 1 ≤ s.length ≤ 5 × 104
  • s contient uniquement des lettres minuscules anglaises.
  • Les parties conservent leur ordre et, ensemble, constituent tout s, donc leurs longueurs s’additionnent pour donner s.length.

Exemples

Entrée
s = "abacdcefe"
Sortie
[3, 3, 3]
Explication
Les a se trouvent aux positions 0 et 2, les c aux positions 3 et 5 et les e aux positions 6 et 8 ; les coupures se font donc après aba et après cdc. Aucune partie ne peut être coupée à nouveau, car chacune commence et se termine par la même lettre.

lock icon+14 tests cachés à la soumission

Réinitialiser le code
def partitionLabels(s):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

s = "abacdcefe"

Attendu

[3, 3, 3]