填写空字符串

时间:2015-11-02 04:49:09

标签: java c

我正在学习面试并且遇到这个问题。

基本上,你有一个单词,其中包含空格,如c_t。

你有一个单词库,必须找到可以用给定字符串创建的所有可能的单词。因此,在这种情况下,如果cat在单词bank中,我们将返回true。

任何有关解决此问题的帮助(如最佳算法,将不胜感激)。

我认为我们可以从单词bank中检查字符串的长度开始,然后以某种方式使用hashmap。

2 个答案:

答案 0 :(得分:0)

步骤1.)消除wordbook中与指定长度不同的所有单词。

步骤2.)消除银行中没有相同起始序列和结束序列的所有单词。

步骤3.)如果指定的字符串被分段为malloc(),则对于银行中剩下的每个单词,检查它是否包含那些完全相同的索引的隔离序列,例如c_ter_il_ar和{{1消除那些没有它的人

步骤4.)此时银行中剩下的所有单词都是可行的解决方案,如果银行非空,则返回

答案 1 :(得分:0)

这可能取决于你的面试官在寻找什么......创造力,算法知识,掌握数据结构?一个袖手旁观的解决方案是将下划线替换为任何空格,并在SQL查询中使用LIKE子句。

SELECT word FROM dictionary WHERE word LIKE 'c_t';应该返回“cat”,“cot”和“cut”。

如果你正在评估你的分而治之的能力,那么你应该能够推断出提取候选词汇列表并根据你的标准评估每个词汇的更多工作,或者生成一个候选词汇列表根据您的标准,并根据您的字典评估每个。