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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP