Python程式:查詢給定字串中第一個重複字元的索引
假設我們有一個字串s,我們需要找到其中第一個重複字元的索引。如果找不到重複字元,則返回-1。
例如,如果輸入是"abcade",則輸出為3,因為'a'在索引3處再次出現。
為了解決這個問題,我們將遵循以下步驟:
- 定義一個對映chars
- 對於從0到s大小的範圍內的i,執行:
- 如果s[i]在chars中,則
- 返回i
- 否則,
- chars[s[i]] := chars[s[i]] + 1
- 如果s[i]在chars中,則
- 返回-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
廣告