Python 中字符串的索引对
pythonserver side programmingprogramming更新于 2025/10/26 15:40:17
假设我们有一个文本字符串和单词(一个字符串列表),我们必须找到所有索引对 [i, j],使得子字符串 text[i]...text[j] 在单词列表中。因此,如果字符串类似于 “ababa” 并且单词数组类似于 [“aba”, “ab”],则输出将为 [[0,1], [0,2], [2,3], [2,4]]。我们可以注意到,匹配可以重叠,“aba”在 [0,2] 和 [2,4] 中匹配。
为了解决这个问题,我们将遵循以下步骤 −
- res := 一个空列表
- 对于 i,范围为 0 到字符串的长度
- 对于 j,范围为 i + 1 到字符串的长度 + 1
- 如果字符串的子字符串从索引 i 到 j 在单词中 −
- 将 (i, j – 1) 添加到结果数组中
- 如果字符串的子字符串从索引 i 到 j 在单词中 −
- 对于 j,范围为 i + 1 到字符串的长度 + 1
- 返回结果
示例(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]]
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

