String 立法会:串连字词
立法会问题:String 立法会:串连字词,string,algorithm,data-structures,String,Algorithm,Data Structures,立法会问题: var findAllConcatenatedWordsInADict=函数(字){ 设m=newmap(),memo=newmap(); 设res=[]; for(设i=0;i
var findAllConcatenatedWordsInADict=函数(字){
设m=newmap(),memo=newmap();
设res=[];
for(设i=0;i
似乎我们没有对从单词[0]('at')生成的第一个后缀调用isConcat函数。然而,我们似乎将其称为“catsdog”,作为“dogcatsdog”单词的一部分,因此我不确定逻辑如何工作,以及它如何选择要调用的后缀……我的错误是误读了代码,并假设以下条件必须为有效的串联单词返回true:
Map has both prefix and suffix; OR
isConcat(suffix) returns true
事实上,前缀已经在map中了(因为map.has(prefix)
必须为true才能首先到达递归调用!)。因此,只有当后缀也是map的一个元素或是另一个连接词时,连接词才有效map.has(后缀)
测试后缀是否在map中,而isConcat(后缀、map、memo)
测试后缀是否也是连接词
Map has both prefix and suffix; OR
isConcat(suffix) returns true