题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
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
