Как получить наибольшее кол-во дублей

  • Автор темы Автор темы Fantomics
  • Дата начала Дата начала

Fantomics

Client
Регистрация
01.06.2016
Сообщения
68
Реакции
12
Баллы
8
Допустим есть список:
1
1
1
1
1
1
2
2
2
3
3
4
4
5
Как видно что "1" самое большое количество. Каким образом записать в переменную именно значение что "1" самое большое количество. Или как удалить все остальное из списка чтоб остались только "1"
 
1. Получаем количество строк списка. {-Variable.before-}
2. Берем первый элемент и удаляем из списка его дубли.
fd889f806a0ec13abbc72a0228bd2e72.png

3. Получаем количество строк списка. {-Variable.after-}
4. JS - {-Variable.before-} - {-Variable.after-} помещаем в {-Variable.count-}
5. Записываем в таблицу - {-Variable.count-} и {-Variable.check-}

Повторяем пункты 1-5 пока список не будет пуст.

Сортируем таблицу по убыванию и берем первую строку, второй столбец - элемент с наибольшим числом вхождений
 
Код:
Развернуть Свернуть Копировать
var numbers=new List<int>(){1,1,1,1,1,2,2,1,2,3};
numbers.Sort();
var result=new Dictionary<int,int>();
for(int i=1;i<numbers.Count;i++)
{
  if(numbers[i]==numbers[i-1]) {
if(!result.Keys.Contains(numbers[i]))
result.Add(numbers[i],1);
else result[numbers[i]]++;
}
}
foreach(var x in result.Keys)
if (result[x]>1)

return x;
 
C#:
Развернуть Свернуть Копировать
var list = new List<int> {1, 1, 1, 1, 1, 2, 2, 2, 3, 3};
var q = list.GroupBy(x => x)
.Select(g => new { Value = g.Key, Count = g.Count() })
.OrderByDescending(x => x.Count)
.First();

return q.Value;
 
  • Спасибо
Реакции: Mikhail B.
Апну тему, еле нашел.
теги: получить максимальное количество совпадений кол-во дублей посчитать топ совпадений топ дублей
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)