Источник: вопрос о Google Интервью
Напишите процедуру для обеспечения максимально возможного распространения одинаковых элементов на входе?
В принципе, нам нужно поместить одни и те же элементы таким образом, чтобы расширение TOTAL было максимально возможным.
Пример:
Input: {1,1,2,3,2,3}
Possible Output: {1,2,3,1,2,3}
Total dispersion = Difference between position of 1 + 2 + 3 = 4-1 + 5-2 + 6-3 = 9 .
Я уверен НЕ ВСЕ, если для этого есть оптимальный алгоритм полиномиального времени. Кроме того, для вопроса, кроме этого, нет других деталей.
То, что я думал, вычисляет частоту каждого элемента на входе, а затем организует их на выходе, каждый отдельный элемент за раз, пока все частоты не исчерпаются.
Я не уверен в моем подходе.
Любые подходы/идеи людей.