Python|字符串中给定字符的最长运行
有时,在使用字符串时,我们可能会遇到需要提取某个字母的最长连续长度的问题。这可以应用于 Web 开发和竞争性编程。让我们讨论可以执行此任务的某些方式。
方法#1:使用循环
这是我们可以执行此任务的蛮力方法。在此,我们在 String 上运行一个循环,并在每次运行时继续记住最大值。
# Python3 code to demonstrate working of
# Longest Run of Character in String
# Using loop
# initializing string
test_str = 'geeksforgeeeks'
# printing original string
print("The original string is : " + test_str)
# initializing K
K = 'e'
# Longest Run of Character in String
# Using loop
res = 0
cnt = 0
for chr in test_str:
if chr == K:
cnt += 1
else:
res = max(res, cnt)
cnt = 0
res = max(res, cnt)
# printing result
print("Longest Run length of K : " + str(res))
输出 :
The original string is : geeksforgeeeks
Longest Run length of K : 3
方法 #2:使用max() + re.findall()
这是可以解决此问题的一种线性方式。在此,我们找到使用 findall() 找到的所有运行的最大值。
# Python3 code to demonstrate working of
# Longest Run of Character in String
# Using max() + re.findall()
import re
# initializing string
test_str = 'geeksforgeeeks'
# printing original string
print("The original string is : " + test_str)
# initializing K
K = 'e'
# Longest Run of Character in String
# Using max() + re.findall()
res = len(max(re.findall(K + '+', test_str), key = len))
# printing result
print("Longest Run length of K : " + str(res))
输出 :
The original string is : geeksforgeeeks
Longest Run length of K : 3