您的位置:首页 > 脚本大全 > > 正文

python找到连续不重复最长英文串(Python实现简单查找最长子串功能示例)

更多 时间:2022-01-19 00:36:06 类别:脚本大全 浏览量:2089

python找到连续不重复最长英文串

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

本文实例讲述了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.

代码如下:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • # -*- 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程序设计有所帮助。

    原文链接:https://blog.csdn.net/dazuo01/article/details/20283619

    您可能感兴趣