首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最大10项功率集

最大10项功率集
EN

Stack Overflow用户
提问于 2014-10-21 09:51:25
回答 1查看 100关注 0票数 0

我把这段代码复制、粘贴和编辑到我的程序中.但不,我遇到的问题是,我只想拥有最多10个成员的组合,所以:

1

1-2

1-2-3

1-2-3-4

1-2-3-4-5-6-7-8-9-10

即使我有20张卡在我的名单上。但通过我并不是真正深入编码,所以我不知道如何改变它。我唯一的想法是检查每一个结果,如果它有超过10个数组,如果是,踢出它,但我认为这不是一个非常有效的方法。因此,我想知道你们是否知道一个好的解决方案,并能给我一些提示:)

欢迎马文(对不起,如果我的英语不完全正确.我是德国人,即使在我的母语中写作也不是我最强的技能。

代码语言:javascript
复制
public IEnumerable<IEnumerable<T>> GetPowerSet<T>(List<T> list)
{
    return from m in Enumerable.Range(0, 1 << list.Count)
              select
                  from i in Enumerable.Range(0, list.Count)
                  where (m & (1 << i)) != 0
                  select list[i];
}

public void PowerSetofcards()
{
    var result = GetPowerSet(cards);
    result.ToString().ToArray().ToArray();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-21 09:56:52

您可以确保只通过前10张卡:

代码语言:javascript
复制
public void PowerSetofcards()
{
    var result = GetPowerSet<string>(cards.Count() > 10 ? cards.Take(10).ToList() : cards);
    result.ToString().ToArray();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26483784

复制
相关文章

相似问题

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