1

私はこの興味深い質問をオンラインで見つけたばかりで、それをどのように進めればよいかについて非常に困惑しています.

Write a function that finds all the different ways you can split up a word into a
concatenation of two other words.

これは、サフィックス ツリーが使用されるものですか?

私はコードを探しているのではなく、これを進めるための概念的な方法です。

4

3 に答える 3

6

いくつかの疑似コード:

   foreach place you can split the word:
    split the word.
    check if both sides are valid words.
于 2012-06-15T17:27:21.593 に答える
2

素敵な答えをお探しの場合は、有効な言葉の定義をお知らせください。

単語がアルファベットで定義された文字列であり、長さがゼロより大きいと仮定します。サフィックス ツリーを使用できます。

以下は、O(n) 時間しかかからない単純化されたアルゴリズムです。

Convert the word into a character array.

Traverse through the length of the array and for each i just take two strings (0 to i) and 
(i+1     to    length of the array-1).  

ゼロより大きい長さなどの基本条件をカバーすることを忘れないでください。

于 2012-06-15T17:32:04.060 に答える