Python程序:查找给定字符串中第一个重复字符的索引


假设我们有一个字符串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

更新于:2020年10月7日

329 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.