Python中字符串的索引对
假设我们有一个文本字符串和单词(字符串列表),我们必须找到所有索引对[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]]