Ilnar25
@Ilnar25

Как сортировать по убыванию наибольшее количество элементов в массиве?

Необходимо отсортировать массив по убыванию по наибольшему количеству встречающихся одинаковых значений с последующим удалением повторяющихся элементов.
  • Вопрос задан
  • 203 просмотра
Решения вопроса 1
Dem1
@Dem1
Ruby on Rails developer
array = %w[a b a b c d e g j a e c d k o k i l p a e c f d e a d e f s d v c ]
result = Hash[array.each_with_object(Hash.new(0)) {|e, h| h[e] += 1 }.sort_by {|k,v| -v}].keys


UPD:
Version #2
array = %w[a b a b c d e g j a e c d k o k i l p a e c f d e a d e f s d v c ]
array.sort_by {|v| -array.count(v)}.uniq
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы