编程题目:对于一个字符串,,请设计一个高效算法,找到第一次重复出现的字符。


这里可是使用hash或者字典这种映射的方式解决问题。

当访问某字符时,如果该字符可以在字典里面找到,说明他已经在前面出现过了。

 

 1 #!/usr/bin/env python3
 2 
 3 def find_str_repeat(s):
 4         d = {}
 5         for i in range(len(s)):
 6                 if d.get(s[i]):
 7                         return s[i]
 8                 else:
 9                         d[s[i]]= i
10         return False
11 
12 def find_str_repeat1(s):
13         d = {}
14         for i in s:
15                 if d.get(i):
16                         return i
17                 else:
18                         d[i] = i
19         return False
20 
21 if __name__ == "__main__":
22         s = "qywyer23tdd"
23         print(find_str_repeat(s))
24         print(find_str_repeat1(s))

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM