程序在Python中查找给定字符串中第一个重复出现的字符的索引
假设我们有一个字符串s,我们必须在其中找到第一个重复出现的字符的索引。如果我们找不到重复出现的字符,则返回-1。
因此,如果输入像“acade”,那么输出将为3,因为“a”再次出现在索引3上。
为了解决这个问题,我们将遵循以下步骤-
定义映射字符
对于范围在0到s大小之间的i,执行
字符[s[i]]:=字符[s[i]]+1
还给我
如果s[i]以字符为单位,则
除此以外,
返回-1
让我们看下面的实现以更好地理解-
示例
from collections import defaultdict class Solution: def solve(self, s): chars = defaultdict(int) for i in range(len(s)): if s[i] in chars: return i else: chars[s[i]] += 1 return -1 ob = Solution()print(ob.solve("abcade"))
输入项
"abcade"
输出结果
3