题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
方法:滑动窗口
见代码
while 1: try: def findmaxlennums(nums): left,right = 0,0 global max_l while left<len(nums): if nums[left].isdigit():#左指针处是数字的话,扩展右边界 while right<len(nums) and nums[right].isdigit():#直到右边界越界或者不再是数字则退出 right+=1 if right-left>=max_l:#窗口长度大于max_l的话更新max_l,res添加字符段 max_l = right-left res.append(nums[left:right]) left = right #更新左指针与右指针重合,继续滑动 else: #如果左指针不是数字,左右指针全部右移 left+=1 right+=1 return nums = input() res,ans = [],[] max_l = 0 findmaxlennums(nums) for i in res: if len(i)==max_l: ans.append(i) print('{},{}'.format(''.join(ans),max_l)) except: break