繁体   English   中英

计算两个词之间的最短路径?

[英]Computing the shortest path between two words?

我需要计算在列表中找到的两个单词的距离。 我所说的距离是指在源词和目标词之间找到的词数。 前任。 dog -> cog -> cot -> cat 因此路径距离将为三,因为路径中每个单词之间的编辑距离为一。 但我不知道如何处理编辑距离大于 1 的单词。

这可能会帮助您:

    List<String> animals = new ArrayList<String>();
    Boolean done=false;
    Boolean found=false;
    int dist=0;
    string begin="dog";
    string end="cat";

    // add 4 different values to list
    animals.add("dog");
    animals.add("cog");
    animals.add("cot");
    animals.add("cat");
    int i = 0;
    while (i < animals.size()&&!done) {
        if(animals.get(i).equals(begin)) found=true;
        if(found){
            dist++;
            if(animals.get(i).equals(end))done=true;
        }
        i++;
    }
    System.out.println(dist);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM