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 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告