Comment trouver le plus petit sous-chaîne qui contient tous les caractères d'une chaîne de caractères?

J'ai récemment rencontré une question intéressante sur les cordes. Supposons que vous êtes donné des éléments suivants:

Input string1: "this is a test string"
Input string2: "tist"
Output string: "t stri"

Donc, étant donné ci-dessus, comment puis-je m'approche vers la recherche de la plus petite sous-chaîne de chaîne1 qui contient tous les caractères de la chaîne 2?

  • Devrait chaîne2 être rist ou tisr? Et dans ce cas ne serait pas la sortie "st str"?
  • mot2 est donné comme "tiste" et qu'il devrait être. Si vous dites "rist" ou "tisr" que votre réponse "st str" ne contient pas "je".
  • Oh, je vois, je pensais que le " r " a été mal puisqu'il n'était pas dans chaîne2 mais vous dites qu'elle doit contenir tous de string2, mais peuvent également contenir d'autres lettres...
  • oui, exactement!
  • faire des doublons dans string2 doivent être pris en compte ainsi? parce que sinon la plus courte chaîne ayant tist dans string1 est this ou stri