【编程实现】 给定一个含有字母和数字的字符串,输出此字符串中最长的数字子串的长度。 如:字符串“a2a22d”,最长的数字子串为22,长度为2,故输出2 字符串“lg12h567i765”,最长的数字子串为567和765,长度都为3,故输出3 【输入描述】 输入一个含有字母和数字的字符串 (5<字符串长度<101) 【输出描述】 输出此字符串中最长的数字子串的长度 【样例输入】 a2a22d 【样例输出】 2
时间: 2024-02-13 17:04:53 浏览: 72
找出一个字符串的最长子串
5星 · 资源好评率100%
以下是Python的实现代码:
```python
s = input() # 输入字符串
max_len = 0 # 记录最长数字子串的长度
cur_len = 0 # 记录当前数字子串的长度
for c in s:
if c.isdigit(): # 如果当前字符是数字
cur_len += 1
else: # 如果当前字符不是数字
max_len = max(max_len, cur_len) # 更新最长数字子串的长度
cur_len = 0 # 重置当前数字子串的长度
max_len = max(max_len, cur_len) # 处理最后一个数字子串的长度
print(max_len) # 输出结果
```
算法思路如下:
遍历字符串中的每个字符,如果当前字符是数字,则将当前数字子串的长度加1;如果当前字符不是数字,则更新最长数字子串的长度,并将当前数字子串的长度重置为0。
需要注意的是,在遍历完整个字符串后,还需要处理最后一个数字子串的长度。
阅读全文