您好,登錄后才能下訂單哦!
本文實例講述了Python實現(xiàn)簡單查找最長子串功能。分享給大家供大家參考,具體如下:
題目選自edX公開課 MITx: 6.00.1x Introduction to Computer Science and Programming 課程 Week2 的Problem Set 1的第三題。下面是原題內(nèi)容。
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 printLongest 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 #判斷一個字符串內(nèi)的字母是否是按字母表順序 # 如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
運行結(jié)果:
Longest substring in alphabetical order is: ajs
更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。