华为OD统一考试D卷C卷 - 求满足条件的最长子串的长度py

题目描述

给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求: 1、 只包含1个字母(az, AZ),其余必须是数字; 2、 字母可以在子串中的任意位置; 如果找不到满足要求的子串,如全是字母或全是数字,则返回-1。

输入描述

字符串(只包含字母和数字)

输出描述

子串的长度

用例

输入 abC124ACb
输出 4
说明 满足条件的最长子串是C124或者124A,长度都是4
输入 a5
输出 2
说明 字符串自身就是满足条件的子串,长度为2
输入 aBB9
输出 2
说明 满足条件的子串为B9,长度为2
输入 abcdef
输出 -1
说明 没有满足要求的子串,返回-1

python

from collections import deque

# 读取输入的字符串
str = input()

# 初始化最长子串长度为-1
maxLen = -1
# 初始化一个标志,表示是否找到了包含字母的子串
hasLetter = False

# 初始化双指针l和r,分别表示子串的左右边界
l, r = 0, 0

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

机试E卷D卷刷题日记 文章被收录于专栏

机试刷题记录

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务