C#如何比较10个数组之间重复出现的元素
我举个例子。其中第一个数组中有{a,b,c,d,e},第二个数组中有{a,g,h,i,j},第三个数组中有{b,l,m,n,o},第四个数组中{a,q,r,s,t},第五...
我举个例子。其中第一个数组中有{a,b,c,d,e},第二个数组中有{a,g,h,i,j},第三个数组中有{b,l,m,n,o}, 第四个数组中{a,q,r,s,t},第五个数组中{a,c,w,x,y}.如上所述,五个数组中a元素重复出现了4次。b元素重复出现了2次。c元素重复出现了2次。 我想得到的结果是 a、b、c 都重复出现了几次。剩下没有重复出现的元素可以忽略不计。请给出代码,谢谢!
展开
2个回答
展开全部
char[] array1 = { 'a', 'b', 'c', 'd', 'e' };
char[] array2 = { 'a', 'g', 'h', 'i', 'j' };
char[] array3 = { 'b', 'l', 'm', 'n', 'o' };
char[] array4 = { 'a', 'q', 'r', 's', 't' };
char[] array5 = { 'a', 'c', 'w', 'x', 'y' };
var array = array1.Concat(array2).Concat(array3).Concat(array4).Concat(array5)
.GroupBy(x1 => x1).
Select(x1 => new { x1.Key, Count = x1.Count() }).
Where(x1 => x1.Count > 1).ToArray();
展开全部
char[][] source = { new char[]{ 'a', 'b', 'c', 'd', 'e' },
new char[]{ 'a', 'g', 'h', 'i', 'j' },
new char[]{ 'b', 'l', 'm', 'n', 'o' },
new char[]{ 'a', 'q', 'r', 's', 't' } };
//如果确定是a-z的话
char beginChar = 'a';
int[] count = new int[26];
for (int i = 0; i < source.Length; i++)
{
for (int j = 0; j < source[i].Length; j++)
{
int countIndex = source[i][j] - beginChar;
if (countIndex >= 0 && countIndex < count.Length)
count[countIndex]++;
}
}
Console.WriteLine("统计:");
for (int i = 0; i < count.Length; i++)
{
if (count[i] > 1)
{
char currentChar = (char)(beginChar + i);
Console.WriteLine("{0}:{1}", currentChar, count[i]);
}
}
Console.ReadLine();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询