【发布时间】:2013-07-21 08:58:03
【问题描述】:
给你一个字符串示例“Iamastudent”,不带任何空格。您将获得一个预定义的字典功能,该功能可验证给定单词是否存在于字典中。使用此函数,您必须在字符串中插入空格并将其打印为“我是学生”。
这是我的面试问题,告诉我也用 C++ 解决,我用动态编程解决了它,但他不满意 我给出的解决方案是 和下面的问题一样
Given a phrase without spaces add spaces to make proper sentence
他让我使用 trie 或 suffix array 来做,但我想不出任何人可以帮助我的解决方案
【问题讨论】:
-
我认为你以前的帖子复杂性可以通过从字典中找到以 str[pos] 开头的最大公共子序列来提高。再次从 pos+=(上面找到的子序列的长度) 开始并重复搜索。
-
你能说得清楚点吗?
标签: c++ string algorithm trie suffix-array