Python查找字符串中最长不重复子串的简单实现
本文介绍了一种使用Python查找字符串中最长不重复子串的方法。通过遍历字符串并记录无重复字符的子串,最终筛选出长度最长的结果。文中提供了完整的Python代码示例及运行结果,适用于解决相关编程笔试题目或字符串处理需求。
本文分享一个使用Python查找字符串中最长不重复子串的具体实现方案,供读者参考学习。
这是近期一道笔试题的解答,题目难度适中,以下直接展示核心实现代码。
#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:找出来一个字符串中最长不重复子串
'''
def find_longest_no_repeat_substr(one_str):
'''''
找出来一个字符串中最长不重复子串
'''
res_list=[]
length=len(one_str)
for i in range(length):
tmp=one_str[i]
for j in range(i+1, length):
if one_str[j] not in tmp:
tmp+=one_str[j]
else:
break
res_list.append(tmp)
res_list.sort(lambda x,y:cmp(len(x),len(y)))
return res_list[-1]
if __name__ == '__main__':
one_str_list=['120135435','abdfkjkgdok','123456780423349']
for one_str in one_str_list:
res=find_longest_no_repeat_substr(one_str)
print '{0}最长非重复子串为:{1}'.format(one_str, res)
程序运行输出结果如下所示。
输入'120135435'时,最长非重复子串为:201354 输入'abdfkjkgdok'时,最长非重复子串为:abdfkj 输入'123456780423349'时,最长非重复子串为:123456780
如需了解更多Python知识,可参考本站相关专题:《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》以及《Python文件与目录操作技巧汇总》。
希望上述内容能对各位的Python编程实践有所帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













