求满足条件的最长子串的长度

标题:求满足条件的最长子串的长度 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求:


s = input()
ans = -1

pos = []
pos.append(-1)

for i in range(len(s)):
    if s[i].isalpha():
        pos.append(i)

pos.append(len(s))

for i in range(len(pos) - 2):
    d = pos[i + 2] - pos[i]
    if d > 2:
        ans = max(ans, d - 1)
print(ans)




全部评论
这里为啥把-1和len(s)放入数组啊?能解释下吗?
点赞 回复 分享
发布于 2024-02-22 10:53 山东
这是牛客上的题吗?哪个题库
点赞 回复 分享
发布于 2024-02-22 10:36 山东
好像明白了,dyuqii1221uui212i7899uuu这种中间隔了一个字母的,不能连上,pos[i + 2] - pos[i]是8,pos[i + 1] - pos[i]就是5了
点赞 回复 分享
发布于 2022-10-06 21:39 江苏
你这个方法好巧妙啊,本来我都用滑动窗口做了,但是为什么pos[i + 2] - pos[i],不能pos[i + 1] - pos[i]
点赞 回复 分享
发布于 2022-10-06 21:36 江苏

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务