Python查找最长不包含重复字符的子字符串算法示例


Posted in Python onFebruary 13, 2019

本文实例讲述了Python查找最长不包含重复字符的子字符串算法。分享给大家供大家参考,具体如下:

题目描述

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。例如在“arabcacfr”中,最长的不包含重复字符的子字符串是“acfr”,长度为4

采用字典的方法,最后输出所有最长字符的列表

算法示例:

# -*- coding:utf-8 -*-
#! python3
class Solution:
  def __init__(self):
    self.maxString = []
  def longestSubString(self, inputString):
    if inputString == '':
      return ''
    dic = {}
    dic = dic.fromkeys(inputString, 0)
    self.maxString.append(inputString[0])
    for i in range(len(inputString)):
      for j in range(i, len(inputString)):
        if dic[inputString[j]] != 0:
          dic = dic.fromkeys(inputString, 0)
          break
        else:
          if j - i + 1 > len(self.maxString[0]):
            self.maxString = []
            self.maxString.append(inputString[i:j+1])
          elif j - i + 1 == len(self.maxString[0]):
            self.maxString.append(inputString[i:j+1])
          dic[inputString[j]] += 1
inputString = 'arabcacfr'
sol = Solution()
sol.longestSubString(inputString)
print(sol.maxString)
#输出:['rabc', 'acfr']

运行结果:

Python查找最长不包含重复字符的子字符串算法示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
python开发中range()函数用法实例分析
Nov 12 Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 Python
python opencv之分水岭算法示例
Feb 24 Python
python每天定时运行某程序代码
Aug 16 Python
深入浅析Python 函数注解与匿名函数
Feb 24 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
Apr 07 Python
Python过滤掉numpy.array中非nan数据实例
Jun 08 Python
使用pytorch 筛选出一定范围的值
Jun 28 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 Python
Python通过字典映射函数实现switch
Nov 06 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 #Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 #Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 #Python
Python实现Event回调机制的方法
Feb 13 #Python
Python socket实现多对多全双工通信的方法
Feb 13 #Python
对python文件读写的缓冲行为详解
Feb 13 #Python
python单线程文件传输的实例(C/S)
Feb 13 #Python
You might like
SONY ICF-SW07收音机电路分析
2021/03/02 无线电
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP序列化操作方法分析
2016/09/28 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
Vue 项目代理设置的优化
2018/04/17 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
Python实现多线程抓取妹子图
2015/08/08 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
项目经理岗位职责
2013/11/11 职场文书
简历里的自我评价
2014/01/31 职场文书
全神贯注教学反思
2014/02/03 职场文书
《日月潭》教学反思
2014/02/28 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
公务员考察材料
2014/12/23 职场文书
无工作证明怎么写
2015/06/15 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android