最近,我遇到了一个有趣的编码任务,涉及将字符串拆分为具有给定 K 限制大小的多个排列。
例如:
s = "iamfoobar"
k = 4 # the max number of the items on a list after the split
s可以拆分为以下组合
[
["i", "a", "m", "foobar"],
["ia", "m", "f", "oobar"],
["iam", "f", "o", "obar"]
# etc
]
我试图弄清楚如何使用快速递归函数来做到这一点,但我无法让它工作。
我已经试过了,但似乎没有用
def sliding(s, k):
if len(s) < k:
return []
else:
for i in range(0, k):
return [s[i:i+1]] + sliding(s[i+1:len(s) - i], k)
print(sliding("iamfoobar", 4))
只有这个
['i', 'a', 'm', 'f', 'o', 'o']
HUX布斯
长风秋雁
相关分类