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

时间:2021-05-22

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

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

Assumesis a string of lower case characters.

Write a program that prints the longest substring ofsin 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, ifs = 'abcbcd', then your program should print

Longest substring in alphabetical order is: abc
For problems such as these, do not includeraw_inputstatements or define the variablesin any way. Our automated testing will provide a value ofsfor you - so the code you submit in the following box should assumesis 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# 如果只有一个字符,也返回Falsedef IsStrIncre(s): for cnt in range(len(s) - 1): if len(s) == 1: return False elif s[cnt] > s[cnt+1]: return False return Trues = 'abajsiesnwdw'# example codesubstr = ''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 = Falseprint 'Longest substring in alphabetical order is: ' + substr

运行结果:

Longest substring in alphabetical order is: ajs

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章