原题目:https://leetcode-cn.com/problems/play-with-chips/
思路:
所有的筹码移动都有两个选择:移动到和自己差偶数位置(代价为0),奇数位置(1)
如果都移动到同一个位置,那么所有的筹码和该位置的差只能是奇数或偶数
本题的贪心策略是,计算 偶数的个数和奇数的个数,并返回其最小值
代码:
class Solution {
public:
int minCostToMoveChips(vector<int>& chips) {
int even=0,odd=0;
for(int i:chips){
i%2? ++odd:++even;
}
return min(odd,even);
}
};