Массив. Посчитать максимальное количество одинаковых элементов в массиве

Массив. Посчитать максимальное количество одинаковых элементов в массиве
Как?
например: {1,3,5,2,1,4,3,3} return 3 т.к троек найбольше
С++

  • Сортируем массив, затем считаем макс. количество идущих подряд элементов.
    Другой вариант - для каждого элемента считаем, сколько раз он повторяется, выбираем максимум.
    Сложность первого алгоритма можно довести до n*log(n) но необходимо использовать довольно сложный метод сортировки. Сложность второго - n^2. Выбирай и делай, удачи.
  • Найти максимальное количество или значения, которых максимальное количество? Если все тройки заменить шестерками, то в первом случае ответ не изменится, а во втором будет 6.
    Впрочем, в любом случае самый тупой вариант - отсортировать массив, а там уже все легко. Альтернатива - использовать std::map, там еще проще, но придется почитать, что это такое (а потом еще и преподу, возможно, объяснять).