将字符串拆分为 k 个不同分区的 Python 程序
假设我们有一个字符串s和一个值k。k的值是s长度的因子,比如长度是n。我们可以将s拆分为n/k个不同的子串,称为t_i,大小为k。然后使用这些t_i使u_i使得
u_i中的字符是t_i中字符的子序列
将从这些字符串中删除任何重复字符,使得u_i中每个字符的频率为1
我们必须找到这些u_i字符串
所以,如果输入像s="MMPQMMMRM"k=3,那么输出将是["MP","QM","MR"]因为s的大小是9,而k是3,所以9/3=3。字符串是MMP、QMM和MRM,但由于我们不支持重复字符,因此它们将是MP、QM和MR。
示例
让我们看下面的实现来更好地理解
def solve(s, k):
i = 0
ret = []
mp, to_print = {}, ""
while i < len(s):
if i % k == 0 and i != 0:
ret.append(to_print)
mp, to_print = {}, ""
if s[i] not in mp.keys():
mp[s[i]] = 0
to_print += s[i]
i += 1
ret.append(to_print)
return ret
s = "MMPQMMMRM"
k = 3
print(solve(s, k))输入
"MMPQMMMRM", 3输出结果
['MP', 'QM', 'MR']
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短