我编写了一个用于生成大小k
算法的所有子集的代码,我不知道如何确定其时间复杂度。我知道如何解决简单的案例,但我仍然在努力学习如何解决这些更难的案例。这些只是我无法弄清楚的一些示例问题。任何帮助将非常感谢,并将大大有助于我的学习,谢谢!
def getKSubsets(set,k=0,counter=0,binary=[],list = []) :
if len(binary) == 0:
binary = [False for i in range(len(set))]
if (k == 0):
list.append([set[j] for j in range(len(binary)) if binary[j]])
return list
for i in range(counter,len(set)-k + 1) :
binary[i] = True
getKSubsets(set,k-1,i + 1,binary,list)
binary[i] = False
return list