これは基本的に次の複製です。
文字列を単語に分割する方法。例: "stringintowords" -> "文字列を単語に変換"?
それにもかかわらず、私は次のような関数を使用しています: public int Word(x) {code}
、文字列 x の場合、整数 (+ve または -ve) を返します。その整数は、特定の単語に対するパーティション分割の良し悪しを示します。 . 最大数を与える組み合わせを返す必要があります。
このために私が考えたのは、 i と j が単語の長さである table(i,j) を作成し、次のように表を tern に記入することです。
for i = 1 to n
for j=i to n do
word(subset of x i to j)
それにもかかわらず、一体どのようにして最適解を取得できるのでしょうか (再帰的な方法で?)
助けていただければ幸いです。
編集: 最適なパスは、word(x) 関数の合計が最も高いパスです。つまり
、 path(1,3)=10 、 (3,6)=20 、 (6,7)=1 、および
パス (1,1)=0 、(2,5)=12、(5,7)=-1
の場合、1 番目のパスの合計 > 2 番目
EDIT2:この質問は、長時間の作業の後に私が回答したことをすべての人に知ってもらいたいのですが、解決策が得られないことを気にしないでください。
乾杯!:)