Рассмотрим решение на языке Python
Объяснение:
Первый
Отсортируем имеющийся список как показано.
Получим кортеж, где есть два значения: key и value.
Первое число - собственно, элемент. Второе число - количество раз.
Второй
Создадим словарь и будем считать количество элементов.
Выведем второй элемент кортежа максимального значения
Третий
Создадим словарь, множество, список ключей.
Как и во втором , пройдемся по элементам и будем увеличивать счетчик на 1.
Выведем с метода format, чтобы было красиво.
Четвертый
Самый простой, и тем не менее, правильно работающий. Используем библиотеку collections, откуда возьмем тип данных Counter - словарный тип, используемый для подсчета объектов.
Приведу пример на Haskell.
import Data.List (group, groupBy, sort, sortBy, unfoldr)import Data.Function (on)import System.RandomgetFreq :: [Int] -> [Int]getFreq xs = last $ [[fst zs | zs <- ys] | ys <- groupBy ((==) `on` snd) . sortBy (compare `on` snd) $ [(head x, length x) | x <- group . sort $ xs]]randomList :: Int -> (Int, Int) -> IO [Int]randomList 0 _ = return []randomList n range = do r <- randomRIO range rs <- randomList (n-1) range return (r:rs) main :: (Int, Int) -> IO()main range = do rs <- randomList 20 range print rs print $ getFreq rsЗдесь алгоритм поиска наиболее часто встречающихся чисел последовательности реализован в функции getFreq. В ней мы исходный массив сортируем и группируем соседние элементы по значению. Затем формируем список из кортежей (число, частотность) и сортируем по возрастанию частотности. Затем группируем соседей по частотности, выделяем только значения, без указания частотности и берем последний элемент – самая большая частотность. Этот элемент – список из самых часто встречающихся элементов.
широкий класс дисциплин и областей деятельности, относящихся к технологиям создания, сохранения, управления и обработки данных, в том числе с применением вычислительной техники.В частности, ИТ имеют дело с использованием компьютеров и программного обеспечения для хранения, преобразования, защиты, обработки, получения и передачи информации на любые расстояния в ограниченное время. Специалистов по компьютерной технике и программированию называют ИТ-специалистами. ИТ - это комплекс взаимосвязанных научных, технологических, инженерных дисциплин, изучающих методы эффективной организации труда людей, занятых обработкой и хранением информации; вычислительную технику и методы организации и взаимодействия с людьми и производственным оборудованием, их практические приложения, а также связанные со всем этим социальные, экономические и культурные проблемы.