在Python中查找文本中给定两个单词的最小距离的程序
假设我们有三个字符串text、w1和w2。text是一个由不同单词组成的句子。我们必须找到w1和w2在text中任意两次出现之间的最小距离,距离以它们之间的单词数来衡量。如果text中不存在w1或w2,则返回-1。
因此,如果输入为text = “joy happy power happy joy joy power happy limit”,w1 = “power”,w2 = “limit”,则输出将为1,因为在power和limit之间只有一个单词“happy”。
要解决这个问题,我们将遵循以下步骤 −
- index1:= null,index2:= null
-
distance:= 999999
-
对于text中的每个索引idx和单词w,进行如下操作
- 如果w与w1相同,则
- 如果index2不为null,则
-
distance:= distance和(|idx – index2| – 1)的最小值
-
index1:= idx
-
如果w与w2相同,则
- 如果index1不为null,则
-
distance:=distance和(|idx – index1| – 1)的最小值
-
index2:= idx
- 如果w与w1相同,则
-
如果index1不为null且index2不为null,则
- 返回distance
- 返回-1
示例
让我们看下面的实现来更好地理解