给定来自 1...NI 的整数列表,我试图找到元素的 K 个子集,同时保留元素的顺序。例如,当 N = 4 且 K = 2 时:
[1] [2, 3, 4]
[1, 2] [3, 4]
[1, 2, 3] [4]
[1, 2, 3, 4] []
将是正确的输出。到目前为止,我已经获得了第一列的可能性。但我正在努力获得正确的逻辑。
final = [['' for x in range(K)] for y in range(N)]
i = 0
for k in range(0, K):
# row tracker
i = 0
while i < N:
if k > 0:
st = len(final[i][k - 1])
else:
st = 0
for j in range(0, N):
tmp = ""
prefix = chemicals[:j + 1]
tmp = tmp.join(str(i) for i in prefix)
final[i][k] = tmp
i += 1
同样,正确的输出将是:
[1] [2, 3, 4]
[1, 2] [3, 4]
[1, 2, 3] [4]
[1, 2, 3, 4] []
集合可以为空的地方。
更新:这是 N=4, K=3 的正确输出
[1] [2] [3, 4]
[1] [2, 3] [4]
[1] [2, 3, 4] []
[1, 2] [3] [4]
[1, 2] [3, 4] []
[1, 2, 3] [4] []
[1, 2, 3, 4] [] []
慕妹3242003
子衿沉夜
相关分类