Сложность: 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 {
function minCostToMoveChips($position) {
$evenCount = 0;
$oddCount = 0;
foreach ($position as $pos) {
if ($pos % 2 == 0) {
$evenCount++;
} else {
$oddCount++;
}
}
return min($evenCount, $oddCount);
}
}Ставь 👍 и забирай 📚 Базу знаний