我正在为面试做准备,但在回答这个问题时遇到了麻烦。
基本上,您有一个带有空格的单词,例如 c_t。
你有一个单词库,必须找到给定字符串可以组成的所有可能的单词。因此,在这种情况下,如果 cat 在词库中,我们将返回 true。
任何有关解决此问题的帮助(例如最佳算法将不胜感激)。
我认为我们可以从检查词库中字符串的长度开始,然后也许以某种方式使用 HashMap 。
最佳答案
步骤 1.) 消除单词簿中与指定长度不同的所有单词。
步骤 2.) 消除库中所有不具有相同起始序列和结束序列的单词。
第 3 步。) 如果指定的字符串像 c_ter_il_ar
那样被分段,则对于库中留下的每个单词,检查它是否包含完全相同索引处的隔离序列,例如 ter
和 il
并消除那些没有的
第4步。)此时银行中剩下的所有单词都是可行的解决方案,因此如果银行非空则返回true
关于java - 填写空白字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33470950/