假设我们有一个文本字符串和单词(字符串列表),我们必须找到所有索引对[i,j],以便子字符串text [i] ... text [j]在单词列表中。因此,如果字符串类似于“ ababa”,而单词数组类似于[“ aba”,“ ab”],则输出将为[[0,1],[0,2],[2,3],[2 ,, 4]]。我们可以注意到,匹配项可以重叠,“ aba”在[0,2]和[2,4]中匹配。
为了解决这个问题,我们将遵循以下步骤-res:=空列表
对于范围从0到字符串长度的i如果字符串的子字符串从单词i到索引i到j-
将(i,j – 1)加到结果数组中
对于范围i + 1到字符串长度+ 1的j
返回结果
示例(Python)
让我们看下面的实现以更好地理解-class Solution(object):
def indexPairs(self, text, words):
result = []
for i in range(len(text)):
for j in range(i+1,len(text)+1):
if text[i:j] in words:
result.append([i,j-1])
return result
ob1 = Solution()print(ob1.indexPairs("ababa",["aba","ab"]))
输入项"ababa"
["aba","ab"]
输出结果[[0,1],[0,2],[2,3],[2,4]]