如何使用LINQ从一组数字中找到n个项目的所有组合?

思考

我正在尝试编写一种算法,以从一组数字中选择n个值的所有组合。

例如,给定集合: 1, 2, 3, 7, 8, 9

集合中2个值的所有组合是:

(1、2),(1、3),(1、7),(1、8),(1、9),(2、3),(2、7),(2、8),(2 ,9),(3,7),(3,8),(3,9),(7,8),(7,9),(8,9)

3是:

(1、2、3),(1、2、7),(1、2、8),(1、2、9),(1、3、7),(1、3、8),(1 ,3、9),(1、7、8),(1、7、9),(1、8、9),(2、3、7),(2、3、8),(2、3 ,9),(2、7、8),(2、7、9),(2、8、9),(3、7、8),(3、7、9),(3、8、9 ),(7、8、9)

等等!

我目前正在使用方法来产生2、3和4值的组合的返回集,但是在我看来,这可以在LINQ查询中推广。

谢谢你的帮助!

用户名

用法:

var results = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }.DifferentCombinations(3);

代码:

public static class Ex
{
    public static IEnumerable<IEnumerable<T>> DifferentCombinations<T>(this IEnumerable<T> elements, int k)
    {
        return k == 0 ? new[] { new T[0] } :
          elements.SelectMany((e, i) =>
            elements.Skip(i + 1).DifferentCombinations(k - 1).Select(c => (new[] {e}).Concat(c)));
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从一组数字中找到长度为3的所有组合,使得sum(combination)为0

来自分类Dev

如何使用Gremlin在一组N个顶点中包含的对中找到特定长度的所有路径

来自分类Dev

找到 1 到 k 之间 n 个数字的所有唯一组合

来自分类Dev

如何使用linq从列表中找到最后一个具有相同项目的项目

来自分类Dev

如何找到以两个为一组的List的所有组合?

来自分类Dev

生成项目的所有唯一组合

来自分类Dev

生成项目的所有唯一组合

来自分类Dev

如何在Excel中找到两个变量的非唯一组合?

来自分类Dev

如何找到多维数组中每个元素的所有唯一组合

来自分类Dev

如何找到多维数组中每个元素的所有唯一组合

来自分类Dev

从一组给定的数字中找到回文序列的数量

来自分类Dev

使用Pandas,如何从一组列中找到最小/最大值和索引,并在相应的一组列上满足条件?

来自分类Dev

如何在Matlab中找到从一组点到另一组点的最小距离?

来自分类Dev

如何找到从第一个列表中选择一个项目以及从第二个列表中选择最多n个项目的所有组合

来自分类Dev

从一组Geopoints Mapbox中找到边界框

来自分类Dev

从一组点中找到近似矩形

来自分类Dev

如何找到一组三个或更多的数字?

来自分类Dev

如何从一个表(具有两列的唯一组合)中选择所有SQL行,而另一个表中没有相同的组合

来自分类Dev

如何使用linq从列表中找到最后一个项目具有相同项目

来自分类Dev

每次使用相同的选项获得x个斑点的所有唯一组合

来自分类Dev

如何通过CBOW(GenSim)从一组输入单词中找到最相似的单词?

来自分类Dev

如何从一组变量中找到最小值

来自分类Dev

如何在linq列表中找到2个数字之间的所有匹配项

来自分类Dev

一组内的所有对组合

来自分类Dev

找出唯一和为一组数字的所有数字组合

来自分类Dev

从列表列表中获取所有唯一组合,直到第 n 个组合

来自分类Dev

Excel-在一组数字中找到最大的差距?

来自分类Dev

如何在bash中找到字符串中最大的一组数字

来自分类Dev

在Rails 4中找到一组深层嵌套的子对象的所有父母的父母

Related 相关文章

  1. 1

    从一组数字中找到长度为3的所有组合,使得sum(combination)为0

  2. 2

    如何使用Gremlin在一组N个顶点中包含的对中找到特定长度的所有路径

  3. 3

    找到 1 到 k 之间 n 个数字的所有唯一组合

  4. 4

    如何使用linq从列表中找到最后一个具有相同项目的项目

  5. 5

    如何找到以两个为一组的List的所有组合?

  6. 6

    生成项目的所有唯一组合

  7. 7

    生成项目的所有唯一组合

  8. 8

    如何在Excel中找到两个变量的非唯一组合?

  9. 9

    如何找到多维数组中每个元素的所有唯一组合

  10. 10

    如何找到多维数组中每个元素的所有唯一组合

  11. 11

    从一组给定的数字中找到回文序列的数量

  12. 12

    使用Pandas,如何从一组列中找到最小/最大值和索引,并在相应的一组列上满足条件?

  13. 13

    如何在Matlab中找到从一组点到另一组点的最小距离?

  14. 14

    如何找到从第一个列表中选择一个项目以及从第二个列表中选择最多n个项目的所有组合

  15. 15

    从一组Geopoints Mapbox中找到边界框

  16. 16

    从一组点中找到近似矩形

  17. 17

    如何找到一组三个或更多的数字?

  18. 18

    如何从一个表(具有两列的唯一组合)中选择所有SQL行,而另一个表中没有相同的组合

  19. 19

    如何使用linq从列表中找到最后一个项目具有相同项目

  20. 20

    每次使用相同的选项获得x个斑点的所有唯一组合

  21. 21

    如何通过CBOW(GenSim)从一组输入单词中找到最相似的单词?

  22. 22

    如何从一组变量中找到最小值

  23. 23

    如何在linq列表中找到2个数字之间的所有匹配项

  24. 24

    一组内的所有对组合

  25. 25

    找出唯一和为一组数字的所有数字组合

  26. 26

    从列表列表中获取所有唯一组合,直到第 n 个组合

  27. 27

    Excel-在一组数字中找到最大的差距?

  28. 28

    如何在bash中找到字符串中最大的一组数字

  29. 29

    在Rails 4中找到一组深层嵌套的子对象的所有父母的父母

热门标签

归档