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 相关文章推荐
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
Python 中开发pattern的string模板(template) 实例详解
Apr 01 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
Python中多个数组行合并及列合并的方法总结
Apr 12 Python
Java与Python两大幸存者谁更胜一筹呢
Apr 12 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
May 10 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
Python List列表对象内置方法实例详解
Oct 22 Python
python函数定义和调用过程详解
Feb 09 Python
自学python用什么系统好
Jun 23 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显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
javascript call方法使用说明
2010/01/11 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
javascript之Array 数组对象详解
2016/06/07 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
Python模块学习 filecmp 文件比较
2012/08/27 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
python 自定义装饰器实例详解
2019/07/20 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
python属于解释语言吗
2020/06/11 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
新闻专业本科生的自我评价分享
2013/11/20 职场文书
中学生自我评价范文
2014/02/08 职场文书
求职信模板标准格式范文
2014/02/23 职场文书
小学数学课后反思
2014/04/23 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
保安公司服务承诺书
2014/05/28 职场文书
医院义诊活动总结
2014/07/04 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
css3新特性的应用示例分析
2022/03/16 HTML / CSS
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏