在尝试学习 R 时,我想在 R 中实现下面的算法。考虑下面的两个列表:
List 1: "crashed", "red", "car"
List 2: "crashed", "blue", "bus"
Run Code Online (Sandbox Code Playgroud)
我想知道将“list1”转换为“list2”需要多少操作。正如你所看到的,我只需要执行两个操作:
1. Replace "red" with "blue".
2. Replace "car" with "bus".
但是,我们如何才能自动找到这样的动作数量呢?我们可以通过多种操作来转换句子:添加、删除或替换列表中的单词。现在,我将尽力解释该算法应该如何工作:
第一步:我将创建一个如下表:
行:i= 0,1,2,3,列:j = 0,1,2,3
(example: value[0,0] = 0 , value[0, 1] = 1 ...)
crashed red car
0 1 2 3
crashed 1
blue 2
bus 3
Run Code Online (Sandbox Code Playgroud)
现在,我将尝试填满表格。请注意,表中的每个单元格显示了我们需要执行的重新格式化句子的操作数量(添加、删除或替换)。考虑“crashed”和“crashed”( )之间的交互value[1,1],显然我们不需要更改它,因此该值将为“0”。因为它们是相同的词。基本上,我们得到了对角线值=value[0,0]
crashed red car
0 1 2 3
crashed 1 0
blue 2
bus 3 …Run Code Online (Sandbox Code Playgroud)