1639. Nombre de façons de former une chaîne cible à partir d'un dictionnaire

DEV - 29/12
1639. Nombre de façons de former une chaîne cible en fonction d'une difficulté de dictionnaire : sujets difficiles : tableau,...

1639. Nombre de façons de former une chaîne cible à partir d'un dictionnaire

Difficulté : Difficile

Sujets :Tableau,Chaîne,Programmation dynamique

Vous recevez une liste de chaînes de même longueurmotset une chaînecible.

Votre tâche est de formercibleen utilisant le donnémotsselon les règles suivantes :

  • cibledoit être formé de gauche à droite.
  • Pour former leaveccaractère (indexé 0) decible, vous pouvez choisir lekièmecaractère dujèmechaîne de mots sicible[i] = mots[j][k].
  • Une fois que vous utilisez lekièmecaractère dujèmechaîne demots, vous ne pouvez plus utiliser lexièmecaractère de n'importe quelle chaîne dansmotsx <=k. En d'autres termes, tous les caractères à gauche ou à l'indexkdevenir inutilisable pour chaque chaîne.
  • Répétez le processus jusqu'à ce que vous formiez la chaînecible.

Notez que vous pouvez utiliser plusieurs caractères de la même chaîne dansmotsà condition que les conditions ci-dessus soient remplies.

Renvoie le nombre de façons de formercibledepuismots. Puisque la réponse est peut-être trop grande, renvoyez-la modulo109 + 7.

Exemple 1 :

  • Entrée : mots = ["acca","bbbb","caca"], cible = "aba"
  • Sortie : 6
  • Explication : Il existe 6 façons de former une cible.
    • "aba" -> index 0 ("acca"), index 1 ("bbbb"), index 3 ("c...
      [Courte citation de 8% de l'article original]
Loading...