We have n chips, where the position of the ith chip is position[i].

We need to move all the chips to the same position. In one step, we can change the position of the ith chip from position[i] to:


	position[i] + 2 or position[i] - 2 with cost = 0.
	position[i] + 1 or position[i] - 1 with cost = 1.


Return the minimum cost needed to move all the chips to the same position.

&nbsp;
Example 1:

Input: position = [1,2,3]
Output: 1
Explanation: First step: Move the chip at position 3 to position 1 with cost = 0.
Second step: Move the chip at position 2 to position 1 with cost = 1.
Total cost is 1.


Example 2:

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.


Example 3:

Input: position = [1,1000000000]
Output: 1


&nbsp;
Constraints:


	1 &lt;= position.length &lt;= 100
	1 &lt;= position[i] &lt;= 10^9


class Solution:
    def minCostToMoveChips(self, position: List[int]) -> int:
        count_even=0
        count_odd=0
        for i in position:
            if i%2==0:
                count_even+=1
            else:
                count_odd+=1
        return min(count_even,count_odd)
class Solution {
    public int minCostToMoveChips(int[] position) {
        int even = 0;
        int odd = 0;
        for(int i=0;i<position.length;i++){
            if(position[i]%2==0){
                even++;
            }else{
                odd++;
            }
        }
        return Math.min(even,odd);
    }
}
class Solution {
public:
    int minCostToMoveChips(vector<int>& position) {
        int even=0,odd=0;
        for(int i=0;i<position.size();i++)
        {
                if(position[i]%2==0)
                    even++;
                else
                    odd++;

        }
        return min(odd,even);
    }
};
var minCostToMoveChips = function(position) {
    const hashMap = new Map();
    let odd = 0, even = 0;
    for(const chip of position){
        if(hashMap.has(chip)) hashMap.set(chip, hashMap.get(chip)+1);
        else hashMap.set(chip, 1);
    }
    for(const [key, value] of hashMap){
        if(key%2===0) even+=value;
        else odd+=value;
    }
    return Math.min(odd, even);
};
Minimum Cost to Move Chips to The Same Position