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 相关文章推荐
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 Python
详解python中requirements.txt的一切
Mar 03 Python
Python中字典(dict)合并的四种方法总结
Aug 10 Python
Python程序运行原理图文解析
Feb 10 Python
python使用xslt提取网页数据的方法
Feb 23 Python
使用Python写一个小游戏
Apr 02 Python
python实现自主查询实时天气
Jun 22 Python
Python 串口读写的实现方法
Jun 12 Python
Puppeteer使用示例详解
Jun 20 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 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
对盗链说再见...
2006/10/09 PHP
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
PHP4实际应用经验篇(8)
2006/10/09 PHP
一步一步学习PHP(3) php 函数
2010/02/15 PHP
PHP安全配置详细说明
2011/09/26 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
js实现省级联动(数据结构优化)
2020/07/17 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
python并发编程之线程实例解析
2017/12/27 Python
Python实现Restful API的例子
2019/08/31 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
css3实现背景动态渐变效果
2019/12/10 HTML / CSS
一些Unix笔试题和面试题
2012/09/25 面试题
军训生自我鉴定范文
2013/12/27 职场文书
入党转预备思想汇报
2014/01/07 职场文书
汽车维修工岗位职责
2014/02/12 职场文书
父母对孩子的寄语
2014/04/09 职场文书
安全生产管理责任书
2014/04/16 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
工作经验交流材料
2014/12/30 职场文书
工作态度不好检讨书
2015/05/06 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript