请教各位高手,如何将以下数组合并?
Arr1 = {1,2,1};
Arr2 = {1,2,3};
Arr3 = {1,3,1};
Arr4 = {1,3,3};
Arr5 = {2,21};
Arr6 = {2,2,3};
Arr7 = {2,3,1};
Arr8 = {2,3,3};
按相同元素合并,得到最终数组
Arr = {1,2},{2,3},{1,3}
------解决思路----------------------
你最终的结果是多维数组,没太清楚,结果和原始数据的对应
------解决思路----------------------
List<string[]> list = new List<string[]>{
new string[] {"1","2","1"},
new string[] {"1","2","3"},
new string[] {"1","3","1"},
new string[] {"1","3","3"},
new string[] {"2","2","1"},
new string[] {"2","2","3"},
new string[] {"2","3","1"},
new string[] {"2","3","3"},
new string[] {"3","3","3"}};
var resultList = new List<string[]>();
var num = 0;
while (list.Count != num)
{
var log = (int)Math.Log(list.Count - num, 2);
var take = (int)Math.Pow(2, log);
resultList.Add(MergeArray(list.Skip(num).Take(take).ToList())[0]);
num += take;
}
Console.WriteLine(string.Join(" ", resultList.Select(x => string.Join(",", x))));
调用部分修正为这样就满足你的要求了
------解决思路----------------------
楼主是否需要考虑合并顺序?例如{1,2,1}&{1,2,3}与{1,2,3}&{1,2,1}的合并结果相同吗?
------解决思路----------------------
应该用数组求交集
------解决思路----------------------
有没有顺序,没顺序的话 ,放到个数组里面 然后distinct 就可以了