09 Sept 2026Go / Python / TypeScriptEasy

Minimum Cost to Move Chips to the Same Position

Find the minimum paid moves needed to bring all chips to one position under parity-based movement costs.

Moving by two is free, so all even positions are equivalent and all odd positions are equivalent. Pay to move the smaller parity group.

complexity

O(n) time and O(1) space.

solution files

  • Go minimum-cost-to-move-chips-to-the-same-position/solution.go
  • Python minimum-cost-to-move-chips-to-the-same-position/solution.py
  • TypeScript minimum-cost-to-move-chips-to-the-same-position/solution.ts

Solution files

Gominimum-cost-to-move-chips-to-the-same-position/solution.go
package main

func minCostToMoveChips(position []int) int {
	odd := 0
	for _, value := range position {
		odd += value % 2
	}
	even := len(position) - odd
	if odd < even {
		return odd
	}
	return even
}
Pythonminimum-cost-to-move-chips-to-the-same-position/solution.py
class Solution:
    def minCostToMoveChips(self, position: list[int]) -> int:
        odd = sum(value % class="syntax-number">2 for value in position)
        return min(odd, len(position) - odd)
TypeScriptminimum-cost-to-move-chips-to-the-same-position/solution.ts
function minCostToMoveChips(position: number[]): number {
  const odd = position.reduce((count, value) => count + (value % class="syntax-number">2), class="syntax-number">0);
  return Math.min(odd, position.length - odd);
}