website/content.en/ChapterFour/1200~1299/1217.Minimum-Cost-to-Move-Chips-to-The-Same-Position.md
There are some chips, and the i-th chip is at position chips[i].
You can perform any of the two following types of moves any number of times (possibly zero) on any chip:
i-th chip by 2 units to the left or to the right with a cost of 0.i-th chip by 1 unit to the left or to the right with a cost of 1.There can be two or more chips at the same position initially.
Return the minimum cost needed to move all the chips to the same position (any position).
Example 1:
Input: chips = [1,2,3]
Output: 1
Explanation: Second chip will be moved to positon 3 with cost 1. First chip will be moved to position 3 with cost 0. Total cost is 1.
Example 2:
Input: chips = [2,2,2,3,3]
Output: 2
Explanation: Both fourth and fifth chip will be moved to position two with cost 1. Total minimum cost will be 2.
Constraints:
1 <= chips.length <= 1001 <= chips[i] <= 10^9Some chips are placed on a number line, and the position of each chip is stored in the array chips. You can perform either of the following two operations on any chip (any number of times, including 0 times):
Initially, there may also be two or more chips at the same position. Return the minimum cost needed to move all chips to the same position (any position).
Constraints:
package leetcode
func minCostToMoveChips(chips []int) int {
odd, even := 0, 0
for _, c := range chips {
if c%2 == 0 {
even++
} else {
odd++
}
}
return min(odd, even)
}