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图像处理之识别图像中的文字(实例讲解)
May 10 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
Python生成个性签名图片获取GUI过程解析
Dec 16 Python
python读取tif图片时保留其16bit的编码格式实例
Jan 13 Python
20行Python代码实现视频字符化功能
Apr 13 Python
Django 解决由save方法引发的错误
May 21 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
Jul 14 Python
Python 的 __str__ 和 __repr__ 方法对比
Sep 02 Python
基于python实现图片转字符画代码实例
Sep 04 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
python实现手机推送 代码也就10行左右
Apr 12 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
window.open的功能全解析
2006/10/10 Javascript
JavaScript库 开发规则
2009/01/31 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
酒店总经理欢迎词
2014/01/15 职场文书
医务人员自我评价
2014/01/26 职场文书
创建青年文明号材料
2014/05/09 职场文书
给学校的建议书范文
2014/05/15 职场文书
会计试用期自我评价
2014/09/19 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python