Сортировка по частоте с сохранением порядка
Swift
Сложный
sorting
Задача «Сортировка по частоте с сохранением порядка»
Дан массив целых чисел. Отсортируйте его по убыванию частоты встречаемости элементов. Если два элемента имеют одинаковую частоту, то они должны быть расположены в порядке их первого появления в исходном массиве. Реализуйте алгоритм с временной сложностью O(n log n) и не используйте встроенные функции сортировки с кастомными компараторами.
Формат ввода
Первая строка содержит целое число n (1 ≤ n ≤ 10^5) — количество элементов. Вторая строка содержит n целых чисел, разделенных пробелами.
Формат вывода
Выведите n целых чисел, разделенных пробелами — отсортированный массив.
Примеры
Пример 1
ВВОД
4
1 2 2 3
ВЫВОД
2 2 1 3
Пример 2
ВВОД
6
1 2 3 4 5 6
ВЫВОД
1 2 3 4 5 6
Пример 3
ВВОД
1
7
ВЫВОД
7
main.swift