给定一个这样的字符串:
var str = "thisisinsane";
由字典中的单词列表辅助,例如:
var dic = [ "insane", "i", "is", "sin", "in", "this", "totally" ];
怎么分str
词?
对于此字符串,需要识别 3 个单词。但我们需要避免这些陷阱。大多数时候为了避免它们,我知道我们可以攻击左边的句子,并尝试找到最长的单词。找到后,我们可以攻击字符串的其余部分,等等。
下面:右下角的输入、可能的陷阱和想要的输出。
thisisinsane
|
|
(this)isinsane
/ \
/ \
(this,i)sinsane (this,is)insane
/ / \
/ / \
(this,i,sin)ane (this,is,in)sane (this,is,insane)
/ <BEST IS>
/ <THIS ONE>
(this,is,in,sane)
最后,我们想要得到:
var splited = ["this", "is", "insane"];