Существует небольшая путаница в отношении сложности времени и пространства для данной задачи:
Если задан массив размером N , вернуть список из лучших K частые элементы.
На основе самого популярного решения:
- Использовать HashMap размера K с количеством каждой записи в качестве значения.
- Создайте MaxHeap размером K , пройдя созданную выше HashMap.
- Вставьте элементы из MaxHeap в список и верните список.
K - количество уникальных элементов на входе.
Пространственно-временная сложность: O (K) и O (K * log (K)
Теперь здесь начинается путаница. Мы знаем, что имеем дело с наихудшей сложностью в приведенном выше примере)анализ. Таким образом, худшее значение K может принять N, когда все элементы в массиве уникальны.
Следовательно, K <= N. Таким образом, O (K) представляется как O (N) ??</strong>
Таким образом, не должны ли сложность пространства и времени быть O (N) и O (N * log (N)) для вышеуказанной проблемы?
Я знаю, что этотехническая, но это беспокоило меня некоторое время. Пожалуйста, сообщите.