# 内存溢出 (jb51.cc) '''寻找最大连续子串和'''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 内存溢出 jb51.cc
总结 以上是内存溢出为你收集整理的Python 寻找最大连续子串和寻找最长数字串的简单示例全部内容,希望文章能够帮你解决Python 寻找最大连续子串和寻找最长数字串的简单示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)