Python实现简单查找最长子串功能示例


Posted in Python onFebruary 26, 2019

本文实例讲述了Python实现简单查找最长子串功能。分享给大家供大家参考,具体如下:

题目选自edX公开课 MITx: 6.00.1x Introduction to Computer Science and Programming 课程 Week2 的Problem Set 1的第三题。下面是原题内容。

Assume s is a string of lower case characters.

Write a program that prints the longest substring of s in which the letters occur in alphabetical order. For example, ifs = 'azcbobobegghakl', then your program should print

Longest substring in alphabetical order is: beggh
In the case of ties, print the first substring. For example, if s = 'abcbcd', then your program should print

Longest substring in alphabetical order is: abc
For problems such as these, do not include raw_input statements or define the variable s in any way. Our automated testing will provide a value of s for you - so the code you submit in the following box should assume s is already defined. If you are confused by this instruction, please review L4 Problems 10 and 11 before you begin this problem set.

代码如下:

# -*- coding:utf-8 -*-
#! python2
#判断一个字符串内的字母是否是按字母表顺序
# 如IsStrIncre('abbcdg') 返回 True
# IsStrIncre('abbadg') 返回 False
# 如果只有一个字符,也返回False
def IsStrIncre(s):
  for cnt in range(len(s) - 1):
    if len(s) == 1:
      return False
    elif s[cnt] > s[cnt+1]:
      return False
  return True
s = 'abajsiesnwdw'# example code
substr = ''
for length in range(1, len(s)+1):
  firstflag = True # a flag to remember the first string that satisfied the requirements
           # and ignore the strings satisfied the requirements but appeared after
  for cnt in range(len(s)-length+1):
    if IsStrIncre(s[cnt: cnt+length]):
      if firstflag:
        substr = s[cnt: cnt+length]
        firstflag = False
print 'Longest substring in alphabetical order is: ' + substr

运行结果:

Longest substring in alphabetical order is: ajs

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

Python 相关文章推荐
Python 深入理解yield
Sep 06 Python
Python中的map()函数和reduce()函数的用法
Apr 27 Python
Python数据结构之翻转链表
Feb 25 Python
python与C互相调用的方法详解
Jul 14 Python
Python+OpenCV让电脑帮你玩微信跳一跳
Jan 04 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 Python
详解python中的装饰器
Jul 10 Python
python简单贪吃蛇开发
Jan 28 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
Aug 05 Python
linux系统下pip升级报错的解决方法
Jan 31 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 Python
基于Python实现用户管理系统
Feb 26 #Python
python selenium firefox使用详解
Feb 26 #Python
Django实现学员管理系统
Feb 26 #Python
Python实现读取txt文件中的数据并绘制出图形操作示例
Feb 26 #Python
Django实现学生管理系统
Feb 26 #Python
python爬取微信公众号文章的方法
Feb 26 #Python
python下载微信公众号相关文章
Feb 26 #Python
You might like
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
图形数字验证代码
2006/10/09 PHP
在WIN98下以apache模块方式安装php
2006/10/09 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
小程序实现简单语音聊天的示例代码
2020/07/24 Javascript
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
Python 深入理解yield
2008/09/06 Python
py2exe 编译ico图标的代码
2013/03/08 Python
Python实现抓取网页并且解析的实例
2014/09/20 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
python3实现多线程聊天室
2018/12/12 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
Python 合并拼接字符串的方法
2020/07/28 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
法制工作总结2015
2015/07/23 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
redis复制有可能碰到的问题汇总
2022/04/03 Redis