首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >和小于给定和的最大子集

和小于给定和的最大子集
EN

Stack Overflow用户
提问于 2016-12-22 22:03:35
回答 2查看 7.8K关注 0票数 1

列表的定义如下:[1, 2, 3]

这个列表的子列表是:

代码语言:javascript
复制
[1], [2], [3],  
[1,2]  
[1,3]
[2,3]  
[1,2,3]

给定k,例如3,其任务是找到元素和小于等于k的最大长度的子表。

我知道python中的itertools,但它会导致较大列表的分段错误。有没有其他有效的算法来实现这一点?任何帮助都将不胜感激。

我的代码是允许的:

代码语言:javascript
复制
from itertools import combinations
def  maxLength(a, k):
#print a,k
l= []

i = len(a)
while(i>=0):
    lst= list(combinations(sorted(a),i))
    for j in lst:
        #rint list(j)
        lst = list(j)
        #print sum(lst)
        sum1=0
        sum1 = sum(lst)
        if sum1<=k:
            return len(lst)
    i=i-1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41284951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档