gpt4 book ai didi

c# - 合并具有公共(public)元素的数组

转载 作者:太空宇宙 更新时间:2023-11-03 20:12:49 25 4
gpt4 key购买 nike

我想合并具有公共(public)元素的数组。我有这样的数组列表:

List<int[]> arrList = new List<int[]>
{
new int[] { 1, 2 },
new int[] { 3, 4, 5 },
new int[] { 2, 7 },
new int[] { 8, 9 },
new int[] { 10, 11, 12 },
new int[] { 3, 9, 13 }
};

我想像这样合并这些数组:

List<int[]> arrList2 = new List<int[]>
{
new int[] { 1, 2, 7 },
new int[] { 10, 11, 12 },
new int[] { 3, 4, 5, 8, 9, 13 } //order of elements doesn't matter
};

怎么做?

最佳答案

让每个数字成为标记图中的一个顶点。对于每个数组,连接由给定数组中的数字指向的顶点。例如。给定数组 (1, 5, 3) 创建两条边 (1, 5) 和 (5, 3)。然后找到图中的所有连通分量(参见:http://en.wikipedia.org/wiki/Connected_component_(graph_theory))

关于c# - 合并具有公共(public)元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18944237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com