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实现拉钩网上的FizzBuzzWhizz问题示例
May 05 Python
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
使用Python简单的实现树莓派的WEB控制
Feb 18 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
python实现梯度下降算法
Mar 24 Python
Python高级特性与几种函数的讲解
Mar 08 Python
python程序控制NAO机器人行走
Apr 29 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
Django之腾讯云短信的实现
Jun 12 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 Python
常用的Python代码调试工具总结
Jun 23 Python
Python OpenCV之常用滤波器使用详解
Apr 07 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
PHP模板引擎SMARTY
2006/10/09 PHP
15个小时----从修改程序到自己些程序
2006/10/09 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
Gird事件机制初级读本
2007/03/10 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
gearman的安装启动及python API使用实例
2014/07/08 Python
Python argv用法详解
2016/01/08 Python
python使用opencv进行人脸识别
2017/04/07 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
计算机专业职业生涯规划范文
2014/01/19 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
中学生打架检讨书
2014/10/13 职场文书
离职感谢信
2015/01/21 职场文书
学子宴致辞大全
2015/07/27 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis