Python简单实现查找一个字符串中最长不重复子串的方法


Posted in Python onMarch 26, 2018

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
python连接MySQL数据库实例分析
May 12 Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
Python装饰器的执行过程实例分析
Jun 04 Python
python调用matlab的m自定义函数方法
Feb 18 Python
python学习开发mock接口
Apr 28 Python
pandas.read_csv参数详解(小结)
Jun 21 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 Python
python动态规划算法实例详解
Nov 22 Python
Python字符串常规操作小结
Apr 03 Python
Python实现找出数组中第2大数字的方法示例
Mar 26 #Python
Python实现将json文件中向量写入Excel的方法
Mar 26 #Python
Python元组拆包和具名元组解析实例详解
Mar 26 #Python
基于循环神经网络(RNN)实现影评情感分类
Mar 26 #Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 #Python
python机器学习之随机森林(七)
Mar 26 #Python
Python实现扣除个人税后的工资计算器示例
Mar 26 #Python
You might like
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
JS版网站风格切换实例代码
2008/10/06 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
js编写简单的计时器功能
2017/07/15 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
Python单元测试实例详解
2018/05/25 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
高中团支书竞选稿
2015/11/21 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
GPU服务器的多用户配置方法
2022/07/07 Servers