我们如何使用c#代码找出数组元素的不同组合。有没有内置的库函数呢?
例如:假设一个数组具有元素{2,3,4,5,6,7},则可能的组合为2,3,4,5,6,7,2 3,2 3 4,2 3 4 5等
所以基本上我需要一个函数,该函数根据其输入给出不同的组合,例如:comb(array,2)给出输出2 3,1 2,3
4和comb(array,3)给出输出1 2 3,2 3 4,3 4 5依此类推
例如:array = {1,2,3}和length = 2的有效组合是1 2,1 3,2 3 .....
static void Main()
{
var cnk = comb(new [] {1,2,3},2);
html" target="_blank">foreach ( var c in cnk)
{
}
}
public static IEnumerable<int[]> comb(int[] a, int k)
{
if (a == null || a.Length == 0 || k < 1 || k > a.Length)
yield break;
int n = a.Length;
// 1
if ( k == 1)
for ( int i = 0; i < n; i++)
{
yield return new int[] {a[i]};
}
else
{
// k
for ( int i = 0; i < n - k + 1; i++)
{
var res = new int[k];
for (int t = i, c = 0; t < i + k - 1; t++, c++)
res[c] = a[t];
for (int j = i + k - 1; j < n; j++)
{
res[k-1] = a[j];
yield return res;
}
}
}
}
您应该从这里获取算法,
我的答案不能解决您的问题。
算法返回n中k个元素的所有组合
我的问题是我无法思考如何编码,因为n<=50和a,b<=16,所以我不确定有多少个不同的数字,如果有16个数字,那么我必须找到16个数字的所有可能的组合,所以指导我通过这个。
我正试图创建一个产品清单使用谷歌表。每种类型的产品都有许多属性(或变体),这些属性组合在一起可以创建单个产品。 例如,有 直径:1/4英寸、1/2英寸、3/4英寸等。 长度:1/2英寸、1英寸、1/2英寸等 材料:钢、不锈钢 等等 特定产品是这些变化的特定组合。例如: 1/4英寸X 1/2英寸钢制圆头方颈螺栓 我要做的是创建一系列只包含属性的列。因此,直径柱、长度柱、材料柱等。 然后,我想通过将这
问题内容: 我需要的是对表的查询,该查询将返回列A和B的不同组合,以及表中每种组合发生多少次的计数。所有这些都将按A列进行排序。 如果表是: 结果将是: 任何帮助将是巨大的。 问题答案: GROUP BY是您的朋友在这里: SQLFiddle:http ://sqlfiddle.com/#!9/062b0e/5
我正在使用Jetpack Compose开发Android应用程序。该应用程序显示项目列表。它还有一个包含搜索栏的顶部栏。 我们有3个组件:项目列表、搜索栏组件和应用程序栏(应用程序栏包含搜索栏)。 相同的 ViewModel 类注入到可组合列表和可组合搜索栏(使用 Hilt)中。视图模型具有以下项列表:
本文向大家介绍java集合与数组的相同点和不同点,包括了java集合与数组的相同点和不同点的使用技巧和注意事项,需要的朋友参考一下 数组: 数组可以用来保存多个基本数据类型的数据,也可以用来保存多个对象。 数组的长度是不可改变的,一旦初始化数组时就指定了数组的长度(无论是静态初始化还是动态初始化)。 数组无法保存具有映射关系的数据。 集合: 集合是只用于存储数量不等的对象。 集合的长度是可变的。
问题内容: 我有一个由7个数字组成的数组(1,2,3,4,5,6,7),我想制作5个数字对,例如(1,2,3,4,5),(1,2,3 ,4,6,),(1,2,3,4,7)。(1,2,3,4,5)等于(4,5,3,1,2) 我想知道PHP中是否有函数或任何可以执行此操作的算法?我不知道从哪里开始。你能帮助我吗 ? 我想将7个给定数字的所有组合(它们从数组中取出)放入5个插槽中,而无视顺序 问题答案:
所以我有以下 2 个数组,键为 2016 和 现在,在数组合并之后,我应该得到一个具有2个数据键的数组,和,但是我得到了一个具有3个键的数组。 为什么会这样?正常吗? 信息: PHP 5.6.30 (cli) (构建时间: Feb 7 2017 16:18:37) 版权所有 (c) 1997-2016 PHP 组 Zend Engine v2.6.0, 版权所有 (c) 1998-2016 Zen