程序在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
    猜你喜欢