For 循环编程题

来源:互联网 发布:手机如何注册淘宝会员 编辑:程序博客网 时间:2024/06/15 18:48
Q:

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: begghA:
curString = s[0]longest = s[0]for i in range(1, len(s)):    if s[i] >= curString[-1]:        curString += s[i]        if len(curString) > len(longest):            longest = curString    else:        curString = s[i]print 'Longest substring in alphabetical order is:', longest

思路整理:
初始化: 连续的字符串为s[0]; 最长的连续字符串是s[0]
如果s中的字符大于或等于连续字符串中的最后一个字符,则累加,并改变最长字符串的值;
否则重新设置连续字符串的首字符为s[i]
0 0
原创粉丝点击