Dynamische Programmierung - Algorithmus zum Reparieren von Text, bei dem die gesamte Zeichensetzung fehlt

Dies ist die Beschreibung meines Problems:

Ich habe darüber nachgedacht, von links zu beginnen und einen Buchstaben hinzuzufügen, und wenn es sich um ein Wort handelt, dann überprüfe rest, ob es in Wörter getrennt werden kann (Funktion zum Aufrufen der Rekursion). Wenn ja, dann habe ich ein Ergebnis, wenn nicht, würde ich dem ersten Wort noch einen Buchstaben hinzufügen und so weiter. Dies würde jedoch zunächst kleinere Wörter erfordern, und ich denke, es ist erforderlich, mit einem Algorithmus zu beginnen, der zuerst längere und dann kleinere Wörter überprüft.Also habe ich darüber nachgedacht, mit dem ganzen Wort zu beginnen und dann rekursiv den linken Teil ohne letzten Buchstaben und dann den rechten Teil zu überprüfen. Wenn es nicht wahr ist, bin ich mit "Cursor" nach links gegangen und habe dann den linken Teil ohne 2 letzte Buchstaben und den rechten Teil (von 2 letzten Buchstaben) und so weiter überprüft. Aber ich denke, das würde mehr Zeit erfordern als O (n ^ 2).

Kann mir also jemand mit einem grundlegenden Algorithmus helfen, der funktioniert und die zeitliche Komplexität befriedigt? Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage