在 Python 中查找文本中两个给定单词的最小距离的程序
假设我们有三个字符串text、w1和w2。文本是一个包含不同单词的句子。我们必须找到文本中w1和w2的任何两次出现之间的最小距离,该距离以它们之间的单词数来衡量。如果文本中不存在w1或w2,则返回-1。
因此,如果输入类似于text="joyhappypowerhappyjoyjoyjoypowerhappylimit"w1="power"w2="limit",那么输出将为1,因为在两个单词之间只有一个单词“happy”权力和限制。
示例
让我们看下面的实现来更好地理解
def solve(text, w1, w2):
index1 = None
index2 = None
distance = 2000000
for idx, word in enumerate(text.split(" ")):
if word == w1:
if index2 is not None:
distance = min(distance, abs(idx - index2) - 1)
index1 = idx
if word == w2:
if index1 is not None:
distance = min(distance, abs(idx - index1) - 1)
index2 = idx
if index1 is not None and index2 is not None:
return distance
return -1
text = "joy happy power happy joy joy power happy limit"
w1 = "power"
w2 = "limit"
print(solve(text, w1, w2))输入
"joy happy power happy joy joy power happy limit", "power", "limit"输出结果
1
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短