这题放了很久才做,是因为一直看不懂题目。事实证明,一个优秀的程序员不仅需要良好的编程能力,更需要强大的阅读理解能力。这道题讲了这么多,结果就是:移动偶数步无代价,移动奇数步代价一,找出数组中奇偶数的个数,将数量较少的一方移动奇数步(偶数-奇数=奇数 奇数-偶数=奇数),即为结果
package Ggreedy;
/**
* @Author Zhou jian
* @Date 2020 ${month} 2020/4/20 0020 11:06
* 题目的意思就是:
* 判断chips里奇数多还是偶数多,如果奇数多,返回偶数的个数,如果偶数多,返回奇数的个数
*/
public class Problem1217 {
public int minCostToMoveChips(int[] chips) {
int odd = 0,even = 0;
for(int data : chips)
if(data % 2 == 1)
odd++;
else
even++;
return Math.min(odd,even);
}
}