Python 寻找最大连续子串和寻找最长数字串的解决办法
内容摘要
这篇文章主要为大家详细介绍了Python 寻找最大连续子串和寻找最长数字串的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣Python 寻找最大连续子串和寻找最长数字串
感兴趣Python 寻找最大连续子串和寻找最长数字串
文章正文
这篇文章主要为大家详细介绍了Python 寻找最大连续子串和寻找最长数字串的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣Python 寻找最大连续子串和寻找最长数字串的简单示例的小伙伴,下面一起跟随php教程的小编罗X来看看吧。<br>
# php教程网 (www.idcnote.com)
'''寻找最大连续子串和'''
def find_max_sub_sum(data):
if not data:
return None
sub = data[0]
submax = data[0]
for i in range(1, len(data)):
sub = max(sub+data[i], data[i])
submax = max(submax, sub)
return submax
'''寻找最长的数字串'''
def find_longest_num(s):
if not s:
return ''
i = 0
maxNumLen = 0
while i < len(s):
if s[i].isdigit():
startNum = i
numLen = 0
while i < len(s) and s[i].isdigit():
numLen += 1
i += 1
'''比较长度是否超过前面保存的最大长度,这里如果有相同长度的子串,则取后面的,如果要取前面的,则maxNumLen < numLen即可'''
if numLen and maxNumLen <= numLen:
maxNumLen = numLen
sub = '' #每次sub需要清空
for j in range(startNum,startNum+numLen):
sub += s[j]
i += 1
return sub,maxNumLen
if __name__ == '__main__':
str = 'abcd12345ed123ss123456789'
b = [-2, -1 ,3 ,-6, 20, 7, -34]
print(find_longest_num(str)) #('123456789', 9)
print(find_max_sub_sum(b)) #27
# End 512.笔记 www.idcnote.com
注:关于Python 寻找最大连续子串和寻找最长数字串的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释