Python查找最长不包含重复字符的子字符串算法示例
作者:hustfc 发布时间:2021-05-25 23:05:02
标签:Python,不重复,子字符串,算法
本文实例讲述了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程序设计有所帮助。
来源:https://blog.csdn.net/weixin_36372879/article/details/84861449


猜你喜欢
- 本文实例为大家分享了Python每天迁移MySQL历史数据到历史库的具体代码,供大家参考,具体内容如下#!/usr/bin/env pyth
- 前言:为了获取一定高级操作,如:微信模板消息(xiao,xin)推送,把消息推送给用户,或者是获取用户授权信息都需要用到access tok
- 本文实例讲述了Python利用神经网络解决非线性回归问题。分享给大家供大家参考,具体如下:问题描述现在我们通常使用神经网络进行分类,但是有时
- 如下所示:# ### 多项分支'''<br>if 条件表达式1: code1
- 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信
- 今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题:本人是m
- <1>IsArray 函数 返回 Boolean 值指明某变量是否为数组。 语法 IsArray(var
- 本文实例为大家分享了python实现简易动态时钟的具体代码,供大家参考,具体内容如下from turtle import *from dat
- mysql删除操作其实是假删除在 InnoDB 中,你的 delete 操作,并不会真的把数据删除,mysql 实际上只是给删除的数据打了个
- Strconvstrconv包实现了基本数据类型和其字符串表示的相互转换。更多函数请查看官方文档中文文档string与int类型转换Atoi
- DB2 存储过程:基础知识您在客户端工作站上对远程服务器和位于该服务器上的数据库进行分类的任何时候,都存在一个简单的 DB2 客户端/服务器
- 才发现做了这么多的博客和视频,居然从来没有系统地做过分类网络,做一个科学的分类网络,对身体好。源码下载分类网络的常见形式常见的分类网络都可以
- 前言APScheduler是基于Quartz的一个Python定时任务框架。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可
- gob是Golang包自带的一个数据结构序列化的编码/解码工具。编码使用Encoder,解码使用Decoder。一种典型的应用场景就是RPC
- 一、控制用户存取 1、创建修改用户Creating Users Create/alter user new_user identified
- 1.SQL Server对于SQL Server 2000来说,它提供了两个全新的函数(IDENT_CURRENT,SCOPE_IDENTI
- Python有一随机函数可以产生[0,1)区间内的随机数,基于此函数生成随机分布在任意三角形内的点由数学知识得知:几何体的向量表达形式直线:
- 在微信开发中,写过的一个简单的音乐播放组件,记录下。music音乐播放组件。属性属性名类型默认值说明musicString 传入的
- 本文实例讲述了Python实现的根据文件名查找数据文件功能。分享给大家供大家参考,具体如下:#-*- coding: UTF-8 -*-im
- Selenium Python 提供了一个简单的API 便于我们使用 Selenium WebDriver编写 功能/验收测试。 通过Sel