这是一个递归生成器,它按字典顺序生成列表。留
exact为
True给出请求的结果,其中每个sum == limit;
设置
exact为
False给出所有列表,其中0 <=总和<=限制。递归利用此选项产生中间结果。
def lists_with_sum(length, limit, exact=True): if length: for l in lists_with_sum(length-1, limit, False): gap = limit-sum(l) for i in range(gap if exact else 0, gap+1): yield l + [i] else: yield []
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)