Веб-версияОткрыть в Telegram

ПостЗадача: 1338. Reduce Array Size to The Half

29 августа 2026
P
Python | LeetCode
Задача: 1338. Reduce Array Size to The Half Сложность: medium Дан массив целых чисел arr. Вы можете выбрать набор чисел и удалить все вхождения этих чисел из массива. Верните минимальный размер набора, чтобы было удалено не менее половины целых чисел из массива. Пример: Input: arr = [3,3,3,3,5,5,5,2,2,7] Output: 2 Explanation: Choosing {3,7} will make the new array [5,5,5,2,2] which has size 5 (i.e equal to half of the size of the old array). Possible sets of size 2 are {3,5},{3,2},{5,2}. Choosing set {2,7} is not possible as it will make the new array [3,3,3,3,5,5,5] which has a size greater than half of the size of the old array. 👨‍💻 Алгоритм: 1⃣Отсортировать массив и создать список подсчета количества вхождений каждого числа. 2⃣Отсортировать список подсчета в порядке убывания. 3⃣Удалять числа из массива, начиная с наибольшего количества вхождений, пока не будет удалено не менее половины чисел массива. Вернуть размер множества удаленных чисел. 😎 Решение: class Solution: def minSetSize(self, arr: List[int]) -> int: arr.sort() counts = [] current_run = 1 for i in range(1, len(arr)): if arr[i] == arr[i - 1]: current_run += 1 continue counts.append(current_run) current_run = 1 counts.append(current_run) counts.sort(reverse=True) numbers_removed_from_arr = 0 set_size = 0 for count in counts: numbers_removed_from_arr += count set_size += 1 if numbers_removed_from_arr >= len(arr) // 2: break return set_size Ставь 👍 и забирай 📚 Базу знаний
4 · 631 ·

Рядом в ленте

PPython | LeetCodeЗадача: 1060. Missing Element in Sorted Array Сложность: medium Если задан целочисленный массив nums, который отсортирован по возрастанию и все его элементы униPPython | LeetCodeЗадача: 541. Reverse String II Сложность: easy Дана строка s и целое число k, переверните первые k символов для каждых 2k символов, начиная с начала строки. Есл
это сообщение
PPython | LeetCodeЗадача: 1063. Number of Valid Subarrays Сложность: hard Дан целочисленный массив nums. Вернуть количество непустых подмассивов, в которых левый элемент не большPPython | LeetCodeЗадача: 1538. Guess the Majority in a Hidden Array Сложность: medium У нас есть целочисленный массив nums, где все числа в nums равны 0 или 1. Вам не будет пред
PPython | LeetCodePython | LeetCode@easy_python_task · канал · Технологии
9 049подписчиков599средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем