用 Python 编写程序,查找给定字符串中第一个重复字符的索引

pythonserver side programmingprogramming更新于 2026/1/12 17:48:17

假设我们有一个字符串 s,我们必须在其中找到第一个重复字符的索引。如果我们找不到重复字符,则返回 -1。

因此,如果输入类似于"abcade",则输出将为 3,因为"a"再次出现在索引 3 处。

为了解决这个问题,我们将遵循以下步骤 −

  • 定义一个 chars 映射
  • 对于范围从 0 到 s 大小的 i,执行
    • 如果 s[i] 在 chars 中,则
      • 返回 i
    • 否则,
      • chars[s[i]] := chars[s[i]] + 1
  • 返回 -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

相关文章


有用资源