需要一个Python函数,它接受一个字符串和一个整数k作为输入,并返回一个唯一子字符串列表,其中仅包含给定字符串中最大长度为k的辅音(非元音字符)。只能通过递归
例如,给定字符串“abcde”且 k = 2,该函数应返回 5 个仅包含辅音且最大长度为 2 的子字符串:“b”、“c”、“d”、“bc”、“cd” 。 应该处理边缘情况,例如空字符串、没有辅音的字符串、不同的情况(小写/大写),并有效地考虑辅音子串最大长度的约束。
这是我尝试过的代码片段。对于您在问题中提到的情况,它运行良好
def getConsnentSubstrings(s,k):
vowels = ['a','e','i','o','u']
substrings = []
for i in range(len(s)-k+1):
for j in range(i,i+k+1):
if s[j] in vowels:
break
else:
if s[i:j+1] not in substrings:
substrings.append(s[i:j+1])
return substrings