Проверьте, можно ли уменьшить массив до длины не более K, удалив отдельные элементы.
Учитывая массив arr[] , состоящий из N положительных целых чисел и целого числа K , задача состоит в том, чтобы проверить, возможно ли уменьшить размер массива не более чем до K , удалив подмножество отдельных элементов массива. Если это возможно, то выведите «Да» . В противном случае выведите «Нет» .
Примеры:
Input: arr[] = {2, 2, 2, 3}, K = 3
Output: Yes
Explanation:
By removing the subset {2, 3}, the array modifies to {2, 2} (Size = 2).Input: arr[] = {1, 1, 1, 3}, K = 1
Output: No
Подход: Данную проблему можно решить, найдя количество различных элементов в заданном массиве, скажем, count . Если значение (N – count) не больше K , то выведите Yes . В противном случае выведите Нет .
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(N * log N)
Вспомогательное пространство: O(N)