1
私は既に配列中で最も頻繁に番号が1つ見つかって何回繰り返されるかを見つける方法を作成しました。しかし、私の仕事は、それらが同じ時間量だけ繰り返されている場合、少数の数字を見つけることです。別の方法を作成すべきか、あるいはどのようにして解決策を見つけることができますか?配列内で最も頻繁に使用される要素を見つけよう
public static void most(Ring[] rings, int numCounter, out int popHallmark, out int amount)
{
amount = 1;
popHallmark = 0;
for (int i = 0; i < numCounter; i++)
{
int count = 0;
int temp = rings[i].HallMark;
count++;
for (int k = 0; k < numCounter; k++)
{
if (i != k)
{
if (k > i)
{
if (temp == rings[k].HallMark)
{
count++;
if (count > amount)
{
popHallmark = temp; // most popular hallmark
amount = count; //amount of rings that has this hallmark
}
}
}
}
}
}
}
がグループ化されたデータは、周波数順を取得するには、 '' 'rings.Takeを行うのに十分です(numCounter).GroupBy(x => x.HallMark).OrderByDescending(x => x.Count()) '' ' – tym32167