【发布时间】:2014-11-17 07:37:00
【问题描述】:
我在动态编程中有不同版本的“拆分成单词”或“分词”问题。我知道“Word Break”,但无法适应以下问题:
您从一个文件中获得一个文本(最多 200 个字符),并要求您将这个词分成 3 个部分,每个部分至少包含 1 个元音。
例如,对于以下文本: bcaeiouxtz ,我们可以有 6 种可能性:
bca eio uxtz
bca ei ouxtz
bca e iouxtz
bcae io uxtz
bcae i ouxtz
bcaei o uxtz
我想编写动态编程方法,我将能够计算我可以有多少可能性。
任何帮助将不胜感激,谢谢
【问题讨论】:
-
I would like to write dynamic programming approach问题是什么? -
听起来是个很棒的项目。 继续写,当您遇到具体问题时回来,我们很乐意提供帮助。
-
我想使用一个二维数组,其中行值为字符,列值为 1、2 和 3。在每一行中,当我们看到元音时,我们将值增加为 [ i][j] = a[i-1][j]+a[i][j] 假设添加的可能性数量。但是这个解决方案并不总是给出正确的输出。
-
你想产生所有可能的分割,还是只计算它们?如果您只需要计算它们,则有一个线性时间解决方案,具有恒定的存储要求。
-
我只需要数,不需要全部显示
标签: c algorithm dynamic-programming