Сложность: easy
У нас есть n фишек, где позиция i-й фишки равна position[i].
Нам нужно переместить все фишки в одну и ту же позицию. За один шаг мы можем изменить позицию i-й фишки с position[i] на:
position[i] + 2 или position[i] - 2 с затратами = 0.
position[i] + 1 или position[i] - 1 с затратами = 1.
Верните минимальные затраты, необходимые для перемещения всех фишек в одну и ту же позицию.
Пример:
Input: position = [2,2,2,3,3]
Output: 2
Explanation: We can move the two chips at position 3 to position 2. Each move has cost = 1. The total cost = 2.
👨💻 Алгоритм:
1⃣Посчитать количество фишек на четных и нечетных позициях.
2⃣Сравнить количество фишек на четных и нечетных позициях.
3⃣Вернуть минимальное количество фишек как минимальную стоимость для перемещения всех фишек в одну позицию.
😎 Решение:
class Solution:
def minCostToMoveChips(self, position: List[int]) -> int:
even_count = sum(1 for pos in position if pos % 2 == 0)
odd_count = len(position) - even_count
return min(even_count, odd_count)
Ставь 👍 и забирай 📚 Базу знаний