Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 立法会:串连字词_String_Algorithm_Data Structures - Fatal编程技术网

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
  • 我还在想解决这个问题,为什么我们只对由单词[i]而不是前缀生成的后缀调用isConcat函数

  • 此外,我还尝试运行各种测试用例[“猫”、“猫”、“狗”、“狗”、“狗”、“老鼠”、“老鼠”


  • 似乎我们没有对从单词[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