程序在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